This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
pxz-hos-client-cpp-module/support/aws-sdk-cpp-master/aws-cpp-sdk-ec2/include/aws/ec2/EC2Client.h

20476 lines
1.5 MiB

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ec2/EC2_EXPORTS.h>
#include <aws/ec2/EC2Errors.h>
#include <aws/core/client/AWSError.h>
#include <aws/core/client/ClientConfiguration.h>
#include <aws/core/AmazonSerializableWebServiceRequest.h>
#include <aws/core/client/AWSClient.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/xml/XmlSerializer.h>
#include <aws/ec2/model/AcceptReservedInstancesExchangeQuoteResponse.h>
#include <aws/ec2/model/AcceptTransitGatewayPeeringAttachmentResponse.h>
#include <aws/ec2/model/AcceptTransitGatewayVpcAttachmentResponse.h>
#include <aws/ec2/model/AcceptVpcEndpointConnectionsResponse.h>
#include <aws/ec2/model/AcceptVpcPeeringConnectionResponse.h>
#include <aws/ec2/model/AdvertiseByoipCidrResponse.h>
#include <aws/ec2/model/AllocateAddressResponse.h>
#include <aws/ec2/model/AllocateHostsResponse.h>
#include <aws/ec2/model/ApplySecurityGroupsToClientVpnTargetNetworkResponse.h>
#include <aws/ec2/model/AssignIpv6AddressesResponse.h>
#include <aws/ec2/model/AssignPrivateIpAddressesResponse.h>
#include <aws/ec2/model/AssociateAddressResponse.h>
#include <aws/ec2/model/AssociateClientVpnTargetNetworkResponse.h>
#include <aws/ec2/model/AssociateIamInstanceProfileResponse.h>
#include <aws/ec2/model/AssociateRouteTableResponse.h>
#include <aws/ec2/model/AssociateSubnetCidrBlockResponse.h>
#include <aws/ec2/model/AssociateTransitGatewayMulticastDomainResponse.h>
#include <aws/ec2/model/AssociateTransitGatewayRouteTableResponse.h>
#include <aws/ec2/model/AssociateVpcCidrBlockResponse.h>
#include <aws/ec2/model/AttachClassicLinkVpcResponse.h>
#include <aws/ec2/model/AttachNetworkInterfaceResponse.h>
#include <aws/ec2/model/AttachVolumeResponse.h>
#include <aws/ec2/model/AttachVpnGatewayResponse.h>
#include <aws/ec2/model/AuthorizeClientVpnIngressResponse.h>
#include <aws/ec2/model/BundleInstanceResponse.h>
#include <aws/ec2/model/CancelBundleTaskResponse.h>
#include <aws/ec2/model/CancelCapacityReservationResponse.h>
#include <aws/ec2/model/CancelImportTaskResponse.h>
#include <aws/ec2/model/CancelReservedInstancesListingResponse.h>
#include <aws/ec2/model/CancelSpotFleetRequestsResponse.h>
#include <aws/ec2/model/CancelSpotInstanceRequestsResponse.h>
#include <aws/ec2/model/ConfirmProductInstanceResponse.h>
#include <aws/ec2/model/CopyFpgaImageResponse.h>
#include <aws/ec2/model/CopyImageResponse.h>
#include <aws/ec2/model/CopySnapshotResponse.h>
#include <aws/ec2/model/CreateCapacityReservationResponse.h>
#include <aws/ec2/model/CreateCarrierGatewayResponse.h>
#include <aws/ec2/model/CreateClientVpnEndpointResponse.h>
#include <aws/ec2/model/CreateClientVpnRouteResponse.h>
#include <aws/ec2/model/CreateCustomerGatewayResponse.h>
#include <aws/ec2/model/CreateDefaultSubnetResponse.h>
#include <aws/ec2/model/CreateDefaultVpcResponse.h>
#include <aws/ec2/model/CreateDhcpOptionsResponse.h>
#include <aws/ec2/model/CreateEgressOnlyInternetGatewayResponse.h>
#include <aws/ec2/model/CreateFleetResponse.h>
#include <aws/ec2/model/CreateFlowLogsResponse.h>
#include <aws/ec2/model/CreateFpgaImageResponse.h>
#include <aws/ec2/model/CreateImageResponse.h>
#include <aws/ec2/model/CreateInstanceExportTaskResponse.h>
#include <aws/ec2/model/CreateInternetGatewayResponse.h>
#include <aws/ec2/model/CreateKeyPairResponse.h>
#include <aws/ec2/model/CreateLaunchTemplateResponse.h>
#include <aws/ec2/model/CreateLaunchTemplateVersionResponse.h>
#include <aws/ec2/model/CreateLocalGatewayRouteResponse.h>
#include <aws/ec2/model/CreateLocalGatewayRouteTableVpcAssociationResponse.h>
#include <aws/ec2/model/CreateManagedPrefixListResponse.h>
#include <aws/ec2/model/CreateNatGatewayResponse.h>
#include <aws/ec2/model/CreateNetworkAclResponse.h>
#include <aws/ec2/model/CreateNetworkInterfaceResponse.h>
#include <aws/ec2/model/CreateNetworkInterfacePermissionResponse.h>
#include <aws/ec2/model/CreatePlacementGroupResponse.h>
#include <aws/ec2/model/CreateReservedInstancesListingResponse.h>
#include <aws/ec2/model/CreateRouteResponse.h>
#include <aws/ec2/model/CreateRouteTableResponse.h>
#include <aws/ec2/model/CreateSecurityGroupResponse.h>
#include <aws/ec2/model/CreateSnapshotResponse.h>
#include <aws/ec2/model/CreateSnapshotsResponse.h>
#include <aws/ec2/model/CreateSpotDatafeedSubscriptionResponse.h>
#include <aws/ec2/model/CreateSubnetResponse.h>
#include <aws/ec2/model/CreateTrafficMirrorFilterResponse.h>
#include <aws/ec2/model/CreateTrafficMirrorFilterRuleResponse.h>
#include <aws/ec2/model/CreateTrafficMirrorSessionResponse.h>
#include <aws/ec2/model/CreateTrafficMirrorTargetResponse.h>
#include <aws/ec2/model/CreateTransitGatewayResponse.h>
#include <aws/ec2/model/CreateTransitGatewayMulticastDomainResponse.h>
#include <aws/ec2/model/CreateTransitGatewayPeeringAttachmentResponse.h>
#include <aws/ec2/model/CreateTransitGatewayPrefixListReferenceResponse.h>
#include <aws/ec2/model/CreateTransitGatewayRouteResponse.h>
#include <aws/ec2/model/CreateTransitGatewayRouteTableResponse.h>
#include <aws/ec2/model/CreateTransitGatewayVpcAttachmentResponse.h>
#include <aws/ec2/model/CreateVolumeResponse.h>
#include <aws/ec2/model/CreateVpcResponse.h>
#include <aws/ec2/model/CreateVpcEndpointResponse.h>
#include <aws/ec2/model/CreateVpcEndpointConnectionNotificationResponse.h>
#include <aws/ec2/model/CreateVpcEndpointServiceConfigurationResponse.h>
#include <aws/ec2/model/CreateVpcPeeringConnectionResponse.h>
#include <aws/ec2/model/CreateVpnConnectionResponse.h>
#include <aws/ec2/model/CreateVpnGatewayResponse.h>
#include <aws/ec2/model/DeleteCarrierGatewayResponse.h>
#include <aws/ec2/model/DeleteClientVpnEndpointResponse.h>
#include <aws/ec2/model/DeleteClientVpnRouteResponse.h>
#include <aws/ec2/model/DeleteEgressOnlyInternetGatewayResponse.h>
#include <aws/ec2/model/DeleteFleetsResponse.h>
#include <aws/ec2/model/DeleteFlowLogsResponse.h>
#include <aws/ec2/model/DeleteFpgaImageResponse.h>
#include <aws/ec2/model/DeleteLaunchTemplateResponse.h>
#include <aws/ec2/model/DeleteLaunchTemplateVersionsResponse.h>
#include <aws/ec2/model/DeleteLocalGatewayRouteResponse.h>
#include <aws/ec2/model/DeleteLocalGatewayRouteTableVpcAssociationResponse.h>
#include <aws/ec2/model/DeleteManagedPrefixListResponse.h>
#include <aws/ec2/model/DeleteNatGatewayResponse.h>
#include <aws/ec2/model/DeleteNetworkInterfacePermissionResponse.h>
#include <aws/ec2/model/DeleteQueuedReservedInstancesResponse.h>
#include <aws/ec2/model/DeleteTrafficMirrorFilterResponse.h>
#include <aws/ec2/model/DeleteTrafficMirrorFilterRuleResponse.h>
#include <aws/ec2/model/DeleteTrafficMirrorSessionResponse.h>
#include <aws/ec2/model/DeleteTrafficMirrorTargetResponse.h>
#include <aws/ec2/model/DeleteTransitGatewayResponse.h>
#include <aws/ec2/model/DeleteTransitGatewayMulticastDomainResponse.h>
#include <aws/ec2/model/DeleteTransitGatewayPeeringAttachmentResponse.h>
#include <aws/ec2/model/DeleteTransitGatewayPrefixListReferenceResponse.h>
#include <aws/ec2/model/DeleteTransitGatewayRouteResponse.h>
#include <aws/ec2/model/DeleteTransitGatewayRouteTableResponse.h>
#include <aws/ec2/model/DeleteTransitGatewayVpcAttachmentResponse.h>
#include <aws/ec2/model/DeleteVpcEndpointConnectionNotificationsResponse.h>
#include <aws/ec2/model/DeleteVpcEndpointServiceConfigurationsResponse.h>
#include <aws/ec2/model/DeleteVpcEndpointsResponse.h>
#include <aws/ec2/model/DeleteVpcPeeringConnectionResponse.h>
#include <aws/ec2/model/DeprovisionByoipCidrResponse.h>
#include <aws/ec2/model/DeregisterInstanceEventNotificationAttributesResponse.h>
#include <aws/ec2/model/DeregisterTransitGatewayMulticastGroupMembersResponse.h>
#include <aws/ec2/model/DeregisterTransitGatewayMulticastGroupSourcesResponse.h>
#include <aws/ec2/model/DescribeAccountAttributesResponse.h>
#include <aws/ec2/model/DescribeAddressesResponse.h>
#include <aws/ec2/model/DescribeAggregateIdFormatResponse.h>
#include <aws/ec2/model/DescribeAvailabilityZonesResponse.h>
#include <aws/ec2/model/DescribeBundleTasksResponse.h>
#include <aws/ec2/model/DescribeByoipCidrsResponse.h>
#include <aws/ec2/model/DescribeCapacityReservationsResponse.h>
#include <aws/ec2/model/DescribeCarrierGatewaysResponse.h>
#include <aws/ec2/model/DescribeClassicLinkInstancesResponse.h>
#include <aws/ec2/model/DescribeClientVpnAuthorizationRulesResponse.h>
#include <aws/ec2/model/DescribeClientVpnConnectionsResponse.h>
#include <aws/ec2/model/DescribeClientVpnEndpointsResponse.h>
#include <aws/ec2/model/DescribeClientVpnRoutesResponse.h>
#include <aws/ec2/model/DescribeClientVpnTargetNetworksResponse.h>
#include <aws/ec2/model/DescribeCoipPoolsResponse.h>
#include <aws/ec2/model/DescribeConversionTasksResponse.h>
#include <aws/ec2/model/DescribeCustomerGatewaysResponse.h>
#include <aws/ec2/model/DescribeDhcpOptionsResponse.h>
#include <aws/ec2/model/DescribeEgressOnlyInternetGatewaysResponse.h>
#include <aws/ec2/model/DescribeElasticGpusResponse.h>
#include <aws/ec2/model/DescribeExportImageTasksResponse.h>
#include <aws/ec2/model/DescribeExportTasksResponse.h>
#include <aws/ec2/model/DescribeFastSnapshotRestoresResponse.h>
#include <aws/ec2/model/DescribeFleetHistoryResponse.h>
#include <aws/ec2/model/DescribeFleetInstancesResponse.h>
#include <aws/ec2/model/DescribeFleetsResponse.h>
#include <aws/ec2/model/DescribeFlowLogsResponse.h>
#include <aws/ec2/model/DescribeFpgaImageAttributeResponse.h>
#include <aws/ec2/model/DescribeFpgaImagesResponse.h>
#include <aws/ec2/model/DescribeHostReservationOfferingsResponse.h>
#include <aws/ec2/model/DescribeHostReservationsResponse.h>
#include <aws/ec2/model/DescribeHostsResponse.h>
#include <aws/ec2/model/DescribeIamInstanceProfileAssociationsResponse.h>
#include <aws/ec2/model/DescribeIdFormatResponse.h>
#include <aws/ec2/model/DescribeIdentityIdFormatResponse.h>
#include <aws/ec2/model/DescribeImageAttributeResponse.h>
#include <aws/ec2/model/DescribeImagesResponse.h>
#include <aws/ec2/model/DescribeImportImageTasksResponse.h>
#include <aws/ec2/model/DescribeImportSnapshotTasksResponse.h>
#include <aws/ec2/model/DescribeInstanceAttributeResponse.h>
#include <aws/ec2/model/DescribeInstanceCreditSpecificationsResponse.h>
#include <aws/ec2/model/DescribeInstanceEventNotificationAttributesResponse.h>
#include <aws/ec2/model/DescribeInstanceStatusResponse.h>
#include <aws/ec2/model/DescribeInstanceTypeOfferingsResponse.h>
#include <aws/ec2/model/DescribeInstanceTypesResponse.h>
#include <aws/ec2/model/DescribeInstancesResponse.h>
#include <aws/ec2/model/DescribeInternetGatewaysResponse.h>
#include <aws/ec2/model/DescribeIpv6PoolsResponse.h>
#include <aws/ec2/model/DescribeKeyPairsResponse.h>
#include <aws/ec2/model/DescribeLaunchTemplateVersionsResponse.h>
#include <aws/ec2/model/DescribeLaunchTemplatesResponse.h>
#include <aws/ec2/model/DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResponse.h>
#include <aws/ec2/model/DescribeLocalGatewayRouteTableVpcAssociationsResponse.h>
#include <aws/ec2/model/DescribeLocalGatewayRouteTablesResponse.h>
#include <aws/ec2/model/DescribeLocalGatewayVirtualInterfaceGroupsResponse.h>
#include <aws/ec2/model/DescribeLocalGatewayVirtualInterfacesResponse.h>
#include <aws/ec2/model/DescribeLocalGatewaysResponse.h>
#include <aws/ec2/model/DescribeManagedPrefixListsResponse.h>
#include <aws/ec2/model/DescribeMovingAddressesResponse.h>
#include <aws/ec2/model/DescribeNatGatewaysResponse.h>
#include <aws/ec2/model/DescribeNetworkAclsResponse.h>
#include <aws/ec2/model/DescribeNetworkInterfaceAttributeResponse.h>
#include <aws/ec2/model/DescribeNetworkInterfacePermissionsResponse.h>
#include <aws/ec2/model/DescribeNetworkInterfacesResponse.h>
#include <aws/ec2/model/DescribePlacementGroupsResponse.h>
#include <aws/ec2/model/DescribePrefixListsResponse.h>
#include <aws/ec2/model/DescribePrincipalIdFormatResponse.h>
#include <aws/ec2/model/DescribePublicIpv4PoolsResponse.h>
#include <aws/ec2/model/DescribeRegionsResponse.h>
#include <aws/ec2/model/DescribeReservedInstancesResponse.h>
#include <aws/ec2/model/DescribeReservedInstancesListingsResponse.h>
#include <aws/ec2/model/DescribeReservedInstancesModificationsResponse.h>
#include <aws/ec2/model/DescribeReservedInstancesOfferingsResponse.h>
#include <aws/ec2/model/DescribeRouteTablesResponse.h>
#include <aws/ec2/model/DescribeScheduledInstanceAvailabilityResponse.h>
#include <aws/ec2/model/DescribeScheduledInstancesResponse.h>
#include <aws/ec2/model/DescribeSecurityGroupReferencesResponse.h>
#include <aws/ec2/model/DescribeSecurityGroupsResponse.h>
#include <aws/ec2/model/DescribeSnapshotAttributeResponse.h>
#include <aws/ec2/model/DescribeSnapshotsResponse.h>
#include <aws/ec2/model/DescribeSpotDatafeedSubscriptionResponse.h>
#include <aws/ec2/model/DescribeSpotFleetInstancesResponse.h>
#include <aws/ec2/model/DescribeSpotFleetRequestHistoryResponse.h>
#include <aws/ec2/model/DescribeSpotFleetRequestsResponse.h>
#include <aws/ec2/model/DescribeSpotInstanceRequestsResponse.h>
#include <aws/ec2/model/DescribeSpotPriceHistoryResponse.h>
#include <aws/ec2/model/DescribeStaleSecurityGroupsResponse.h>
#include <aws/ec2/model/DescribeSubnetsResponse.h>
#include <aws/ec2/model/DescribeTagsResponse.h>
#include <aws/ec2/model/DescribeTrafficMirrorFiltersResponse.h>
#include <aws/ec2/model/DescribeTrafficMirrorSessionsResponse.h>
#include <aws/ec2/model/DescribeTrafficMirrorTargetsResponse.h>
#include <aws/ec2/model/DescribeTransitGatewayAttachmentsResponse.h>
#include <aws/ec2/model/DescribeTransitGatewayMulticastDomainsResponse.h>
#include <aws/ec2/model/DescribeTransitGatewayPeeringAttachmentsResponse.h>
#include <aws/ec2/model/DescribeTransitGatewayRouteTablesResponse.h>
#include <aws/ec2/model/DescribeTransitGatewayVpcAttachmentsResponse.h>
#include <aws/ec2/model/DescribeTransitGatewaysResponse.h>
#include <aws/ec2/model/DescribeVolumeAttributeResponse.h>
#include <aws/ec2/model/DescribeVolumeStatusResponse.h>
#include <aws/ec2/model/DescribeVolumesResponse.h>
#include <aws/ec2/model/DescribeVolumesModificationsResponse.h>
#include <aws/ec2/model/DescribeVpcAttributeResponse.h>
#include <aws/ec2/model/DescribeVpcClassicLinkResponse.h>
#include <aws/ec2/model/DescribeVpcClassicLinkDnsSupportResponse.h>
#include <aws/ec2/model/DescribeVpcEndpointConnectionNotificationsResponse.h>
#include <aws/ec2/model/DescribeVpcEndpointConnectionsResponse.h>
#include <aws/ec2/model/DescribeVpcEndpointServiceConfigurationsResponse.h>
#include <aws/ec2/model/DescribeVpcEndpointServicePermissionsResponse.h>
#include <aws/ec2/model/DescribeVpcEndpointServicesResponse.h>
#include <aws/ec2/model/DescribeVpcEndpointsResponse.h>
#include <aws/ec2/model/DescribeVpcPeeringConnectionsResponse.h>
#include <aws/ec2/model/DescribeVpcsResponse.h>
#include <aws/ec2/model/DescribeVpnConnectionsResponse.h>
#include <aws/ec2/model/DescribeVpnGatewaysResponse.h>
#include <aws/ec2/model/DetachClassicLinkVpcResponse.h>
#include <aws/ec2/model/DetachVolumeResponse.h>
#include <aws/ec2/model/DisableEbsEncryptionByDefaultResponse.h>
#include <aws/ec2/model/DisableFastSnapshotRestoresResponse.h>
#include <aws/ec2/model/DisableTransitGatewayRouteTablePropagationResponse.h>
#include <aws/ec2/model/DisableVpcClassicLinkResponse.h>
#include <aws/ec2/model/DisableVpcClassicLinkDnsSupportResponse.h>
#include <aws/ec2/model/DisassociateClientVpnTargetNetworkResponse.h>
#include <aws/ec2/model/DisassociateIamInstanceProfileResponse.h>
#include <aws/ec2/model/DisassociateSubnetCidrBlockResponse.h>
#include <aws/ec2/model/DisassociateTransitGatewayMulticastDomainResponse.h>
#include <aws/ec2/model/DisassociateTransitGatewayRouteTableResponse.h>
#include <aws/ec2/model/DisassociateVpcCidrBlockResponse.h>
#include <aws/ec2/model/EnableEbsEncryptionByDefaultResponse.h>
#include <aws/ec2/model/EnableFastSnapshotRestoresResponse.h>
#include <aws/ec2/model/EnableTransitGatewayRouteTablePropagationResponse.h>
#include <aws/ec2/model/EnableVpcClassicLinkResponse.h>
#include <aws/ec2/model/EnableVpcClassicLinkDnsSupportResponse.h>
#include <aws/ec2/model/ExportClientVpnClientCertificateRevocationListResponse.h>
#include <aws/ec2/model/ExportClientVpnClientConfigurationResponse.h>
#include <aws/ec2/model/ExportImageResponse.h>
#include <aws/ec2/model/ExportTransitGatewayRoutesResponse.h>
#include <aws/ec2/model/GetAssociatedIpv6PoolCidrsResponse.h>
#include <aws/ec2/model/GetCapacityReservationUsageResponse.h>
#include <aws/ec2/model/GetCoipPoolUsageResponse.h>
#include <aws/ec2/model/GetConsoleOutputResponse.h>
#include <aws/ec2/model/GetConsoleScreenshotResponse.h>
#include <aws/ec2/model/GetDefaultCreditSpecificationResponse.h>
#include <aws/ec2/model/GetEbsDefaultKmsKeyIdResponse.h>
#include <aws/ec2/model/GetEbsEncryptionByDefaultResponse.h>
#include <aws/ec2/model/GetGroupsForCapacityReservationResponse.h>
#include <aws/ec2/model/GetHostReservationPurchasePreviewResponse.h>
#include <aws/ec2/model/GetLaunchTemplateDataResponse.h>
#include <aws/ec2/model/GetManagedPrefixListAssociationsResponse.h>
#include <aws/ec2/model/GetManagedPrefixListEntriesResponse.h>
#include <aws/ec2/model/GetPasswordDataResponse.h>
#include <aws/ec2/model/GetReservedInstancesExchangeQuoteResponse.h>
#include <aws/ec2/model/GetTransitGatewayAttachmentPropagationsResponse.h>
#include <aws/ec2/model/GetTransitGatewayMulticastDomainAssociationsResponse.h>
#include <aws/ec2/model/GetTransitGatewayPrefixListReferencesResponse.h>
#include <aws/ec2/model/GetTransitGatewayRouteTableAssociationsResponse.h>
#include <aws/ec2/model/GetTransitGatewayRouteTablePropagationsResponse.h>
#include <aws/ec2/model/ImportClientVpnClientCertificateRevocationListResponse.h>
#include <aws/ec2/model/ImportImageResponse.h>
#include <aws/ec2/model/ImportInstanceResponse.h>
#include <aws/ec2/model/ImportKeyPairResponse.h>
#include <aws/ec2/model/ImportSnapshotResponse.h>
#include <aws/ec2/model/ImportVolumeResponse.h>
#include <aws/ec2/model/ModifyAvailabilityZoneGroupResponse.h>
#include <aws/ec2/model/ModifyCapacityReservationResponse.h>
#include <aws/ec2/model/ModifyClientVpnEndpointResponse.h>
#include <aws/ec2/model/ModifyDefaultCreditSpecificationResponse.h>
#include <aws/ec2/model/ModifyEbsDefaultKmsKeyIdResponse.h>
#include <aws/ec2/model/ModifyFleetResponse.h>
#include <aws/ec2/model/ModifyFpgaImageAttributeResponse.h>
#include <aws/ec2/model/ModifyHostsResponse.h>
#include <aws/ec2/model/ModifyInstanceCapacityReservationAttributesResponse.h>
#include <aws/ec2/model/ModifyInstanceCreditSpecificationResponse.h>
#include <aws/ec2/model/ModifyInstanceEventStartTimeResponse.h>
#include <aws/ec2/model/ModifyInstanceMetadataOptionsResponse.h>
#include <aws/ec2/model/ModifyInstancePlacementResponse.h>
#include <aws/ec2/model/ModifyLaunchTemplateResponse.h>
#include <aws/ec2/model/ModifyManagedPrefixListResponse.h>
#include <aws/ec2/model/ModifyReservedInstancesResponse.h>
#include <aws/ec2/model/ModifySpotFleetRequestResponse.h>
#include <aws/ec2/model/ModifyTrafficMirrorFilterNetworkServicesResponse.h>
#include <aws/ec2/model/ModifyTrafficMirrorFilterRuleResponse.h>
#include <aws/ec2/model/ModifyTrafficMirrorSessionResponse.h>
#include <aws/ec2/model/ModifyTransitGatewayResponse.h>
#include <aws/ec2/model/ModifyTransitGatewayPrefixListReferenceResponse.h>
#include <aws/ec2/model/ModifyTransitGatewayVpcAttachmentResponse.h>
#include <aws/ec2/model/ModifyVolumeResponse.h>
#include <aws/ec2/model/ModifyVpcEndpointResponse.h>
#include <aws/ec2/model/ModifyVpcEndpointConnectionNotificationResponse.h>
#include <aws/ec2/model/ModifyVpcEndpointServiceConfigurationResponse.h>
#include <aws/ec2/model/ModifyVpcEndpointServicePermissionsResponse.h>
#include <aws/ec2/model/ModifyVpcPeeringConnectionOptionsResponse.h>
#include <aws/ec2/model/ModifyVpcTenancyResponse.h>
#include <aws/ec2/model/ModifyVpnConnectionResponse.h>
#include <aws/ec2/model/ModifyVpnTunnelCertificateResponse.h>
#include <aws/ec2/model/ModifyVpnTunnelOptionsResponse.h>
#include <aws/ec2/model/MonitorInstancesResponse.h>
#include <aws/ec2/model/MoveAddressToVpcResponse.h>
#include <aws/ec2/model/ProvisionByoipCidrResponse.h>
#include <aws/ec2/model/PurchaseHostReservationResponse.h>
#include <aws/ec2/model/PurchaseReservedInstancesOfferingResponse.h>
#include <aws/ec2/model/PurchaseScheduledInstancesResponse.h>
#include <aws/ec2/model/RegisterImageResponse.h>
#include <aws/ec2/model/RegisterInstanceEventNotificationAttributesResponse.h>
#include <aws/ec2/model/RegisterTransitGatewayMulticastGroupMembersResponse.h>
#include <aws/ec2/model/RegisterTransitGatewayMulticastGroupSourcesResponse.h>
#include <aws/ec2/model/RejectTransitGatewayPeeringAttachmentResponse.h>
#include <aws/ec2/model/RejectTransitGatewayVpcAttachmentResponse.h>
#include <aws/ec2/model/RejectVpcEndpointConnectionsResponse.h>
#include <aws/ec2/model/RejectVpcPeeringConnectionResponse.h>
#include <aws/ec2/model/ReleaseHostsResponse.h>
#include <aws/ec2/model/ReplaceIamInstanceProfileAssociationResponse.h>
#include <aws/ec2/model/ReplaceNetworkAclAssociationResponse.h>
#include <aws/ec2/model/ReplaceRouteTableAssociationResponse.h>
#include <aws/ec2/model/ReplaceTransitGatewayRouteResponse.h>
#include <aws/ec2/model/RequestSpotFleetResponse.h>
#include <aws/ec2/model/RequestSpotInstancesResponse.h>
#include <aws/ec2/model/ResetEbsDefaultKmsKeyIdResponse.h>
#include <aws/ec2/model/ResetFpgaImageAttributeResponse.h>
#include <aws/ec2/model/RestoreAddressToClassicResponse.h>
#include <aws/ec2/model/RestoreManagedPrefixListVersionResponse.h>
#include <aws/ec2/model/RevokeClientVpnIngressResponse.h>
#include <aws/ec2/model/RunInstancesResponse.h>
#include <aws/ec2/model/RunScheduledInstancesResponse.h>
#include <aws/ec2/model/SearchLocalGatewayRoutesResponse.h>
#include <aws/ec2/model/SearchTransitGatewayMulticastGroupsResponse.h>
#include <aws/ec2/model/SearchTransitGatewayRoutesResponse.h>
#include <aws/ec2/model/StartInstancesResponse.h>
#include <aws/ec2/model/StartVpcEndpointServicePrivateDnsVerificationResponse.h>
#include <aws/ec2/model/StopInstancesResponse.h>
#include <aws/ec2/model/TerminateClientVpnConnectionsResponse.h>
#include <aws/ec2/model/TerminateInstancesResponse.h>
#include <aws/ec2/model/UnassignIpv6AddressesResponse.h>
#include <aws/ec2/model/UnmonitorInstancesResponse.h>
#include <aws/ec2/model/UpdateSecurityGroupRuleDescriptionsEgressResponse.h>
#include <aws/ec2/model/UpdateSecurityGroupRuleDescriptionsIngressResponse.h>
#include <aws/ec2/model/WithdrawByoipCidrResponse.h>
#include <aws/core/NoResult.h>
#include <aws/core/client/AsyncCallerContext.h>
#include <aws/core/http/HttpTypes.h>
#include <future>
#include <functional>
namespace Aws
{
namespace Http
{
class HttpClient;
class HttpClientFactory;
} // namespace Http
namespace Utils
{
template< typename R, typename E> class Outcome;
namespace Threading
{
class Executor;
} // namespace Threading
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace Auth
{
class AWSCredentials;
class AWSCredentialsProvider;
} // namespace Auth
namespace Client
{
class RetryStrategy;
} // namespace Client
namespace EC2
{
namespace Model
{
class AcceptReservedInstancesExchangeQuoteRequest;
class AcceptTransitGatewayPeeringAttachmentRequest;
class AcceptTransitGatewayVpcAttachmentRequest;
class AcceptVpcEndpointConnectionsRequest;
class AcceptVpcPeeringConnectionRequest;
class AdvertiseByoipCidrRequest;
class AllocateAddressRequest;
class AllocateHostsRequest;
class ApplySecurityGroupsToClientVpnTargetNetworkRequest;
class AssignIpv6AddressesRequest;
class AssignPrivateIpAddressesRequest;
class AssociateAddressRequest;
class AssociateClientVpnTargetNetworkRequest;
class AssociateDhcpOptionsRequest;
class AssociateIamInstanceProfileRequest;
class AssociateRouteTableRequest;
class AssociateSubnetCidrBlockRequest;
class AssociateTransitGatewayMulticastDomainRequest;
class AssociateTransitGatewayRouteTableRequest;
class AssociateVpcCidrBlockRequest;
class AttachClassicLinkVpcRequest;
class AttachInternetGatewayRequest;
class AttachNetworkInterfaceRequest;
class AttachVolumeRequest;
class AttachVpnGatewayRequest;
class AuthorizeClientVpnIngressRequest;
class AuthorizeSecurityGroupEgressRequest;
class AuthorizeSecurityGroupIngressRequest;
class BundleInstanceRequest;
class CancelBundleTaskRequest;
class CancelCapacityReservationRequest;
class CancelConversionTaskRequest;
class CancelExportTaskRequest;
class CancelImportTaskRequest;
class CancelReservedInstancesListingRequest;
class CancelSpotFleetRequestsRequest;
class CancelSpotInstanceRequestsRequest;
class ConfirmProductInstanceRequest;
class CopyFpgaImageRequest;
class CopyImageRequest;
class CopySnapshotRequest;
class CreateCapacityReservationRequest;
class CreateCarrierGatewayRequest;
class CreateClientVpnEndpointRequest;
class CreateClientVpnRouteRequest;
class CreateCustomerGatewayRequest;
class CreateDefaultSubnetRequest;
class CreateDefaultVpcRequest;
class CreateDhcpOptionsRequest;
class CreateEgressOnlyInternetGatewayRequest;
class CreateFleetRequest;
class CreateFlowLogsRequest;
class CreateFpgaImageRequest;
class CreateImageRequest;
class CreateInstanceExportTaskRequest;
class CreateInternetGatewayRequest;
class CreateKeyPairRequest;
class CreateLaunchTemplateRequest;
class CreateLaunchTemplateVersionRequest;
class CreateLocalGatewayRouteRequest;
class CreateLocalGatewayRouteTableVpcAssociationRequest;
class CreateManagedPrefixListRequest;
class CreateNatGatewayRequest;
class CreateNetworkAclRequest;
class CreateNetworkAclEntryRequest;
class CreateNetworkInterfaceRequest;
class CreateNetworkInterfacePermissionRequest;
class CreatePlacementGroupRequest;
class CreateReservedInstancesListingRequest;
class CreateRouteRequest;
class CreateRouteTableRequest;
class CreateSecurityGroupRequest;
class CreateSnapshotRequest;
class CreateSnapshotsRequest;
class CreateSpotDatafeedSubscriptionRequest;
class CreateSubnetRequest;
class CreateTagsRequest;
class CreateTrafficMirrorFilterRequest;
class CreateTrafficMirrorFilterRuleRequest;
class CreateTrafficMirrorSessionRequest;
class CreateTrafficMirrorTargetRequest;
class CreateTransitGatewayRequest;
class CreateTransitGatewayMulticastDomainRequest;
class CreateTransitGatewayPeeringAttachmentRequest;
class CreateTransitGatewayPrefixListReferenceRequest;
class CreateTransitGatewayRouteRequest;
class CreateTransitGatewayRouteTableRequest;
class CreateTransitGatewayVpcAttachmentRequest;
class CreateVolumeRequest;
class CreateVpcRequest;
class CreateVpcEndpointRequest;
class CreateVpcEndpointConnectionNotificationRequest;
class CreateVpcEndpointServiceConfigurationRequest;
class CreateVpcPeeringConnectionRequest;
class CreateVpnConnectionRequest;
class CreateVpnConnectionRouteRequest;
class CreateVpnGatewayRequest;
class DeleteCarrierGatewayRequest;
class DeleteClientVpnEndpointRequest;
class DeleteClientVpnRouteRequest;
class DeleteCustomerGatewayRequest;
class DeleteDhcpOptionsRequest;
class DeleteEgressOnlyInternetGatewayRequest;
class DeleteFleetsRequest;
class DeleteFlowLogsRequest;
class DeleteFpgaImageRequest;
class DeleteInternetGatewayRequest;
class DeleteKeyPairRequest;
class DeleteLaunchTemplateRequest;
class DeleteLaunchTemplateVersionsRequest;
class DeleteLocalGatewayRouteRequest;
class DeleteLocalGatewayRouteTableVpcAssociationRequest;
class DeleteManagedPrefixListRequest;
class DeleteNatGatewayRequest;
class DeleteNetworkAclRequest;
class DeleteNetworkAclEntryRequest;
class DeleteNetworkInterfaceRequest;
class DeleteNetworkInterfacePermissionRequest;
class DeletePlacementGroupRequest;
class DeleteQueuedReservedInstancesRequest;
class DeleteRouteRequest;
class DeleteRouteTableRequest;
class DeleteSecurityGroupRequest;
class DeleteSnapshotRequest;
class DeleteSpotDatafeedSubscriptionRequest;
class DeleteSubnetRequest;
class DeleteTagsRequest;
class DeleteTrafficMirrorFilterRequest;
class DeleteTrafficMirrorFilterRuleRequest;
class DeleteTrafficMirrorSessionRequest;
class DeleteTrafficMirrorTargetRequest;
class DeleteTransitGatewayRequest;
class DeleteTransitGatewayMulticastDomainRequest;
class DeleteTransitGatewayPeeringAttachmentRequest;
class DeleteTransitGatewayPrefixListReferenceRequest;
class DeleteTransitGatewayRouteRequest;
class DeleteTransitGatewayRouteTableRequest;
class DeleteTransitGatewayVpcAttachmentRequest;
class DeleteVolumeRequest;
class DeleteVpcRequest;
class DeleteVpcEndpointConnectionNotificationsRequest;
class DeleteVpcEndpointServiceConfigurationsRequest;
class DeleteVpcEndpointsRequest;
class DeleteVpcPeeringConnectionRequest;
class DeleteVpnConnectionRequest;
class DeleteVpnConnectionRouteRequest;
class DeleteVpnGatewayRequest;
class DeprovisionByoipCidrRequest;
class DeregisterImageRequest;
class DeregisterInstanceEventNotificationAttributesRequest;
class DeregisterTransitGatewayMulticastGroupMembersRequest;
class DeregisterTransitGatewayMulticastGroupSourcesRequest;
class DescribeAccountAttributesRequest;
class DescribeAddressesRequest;
class DescribeAggregateIdFormatRequest;
class DescribeAvailabilityZonesRequest;
class DescribeBundleTasksRequest;
class DescribeByoipCidrsRequest;
class DescribeCapacityReservationsRequest;
class DescribeCarrierGatewaysRequest;
class DescribeClassicLinkInstancesRequest;
class DescribeClientVpnAuthorizationRulesRequest;
class DescribeClientVpnConnectionsRequest;
class DescribeClientVpnEndpointsRequest;
class DescribeClientVpnRoutesRequest;
class DescribeClientVpnTargetNetworksRequest;
class DescribeCoipPoolsRequest;
class DescribeConversionTasksRequest;
class DescribeCustomerGatewaysRequest;
class DescribeDhcpOptionsRequest;
class DescribeEgressOnlyInternetGatewaysRequest;
class DescribeElasticGpusRequest;
class DescribeExportImageTasksRequest;
class DescribeExportTasksRequest;
class DescribeFastSnapshotRestoresRequest;
class DescribeFleetHistoryRequest;
class DescribeFleetInstancesRequest;
class DescribeFleetsRequest;
class DescribeFlowLogsRequest;
class DescribeFpgaImageAttributeRequest;
class DescribeFpgaImagesRequest;
class DescribeHostReservationOfferingsRequest;
class DescribeHostReservationsRequest;
class DescribeHostsRequest;
class DescribeIamInstanceProfileAssociationsRequest;
class DescribeIdFormatRequest;
class DescribeIdentityIdFormatRequest;
class DescribeImageAttributeRequest;
class DescribeImagesRequest;
class DescribeImportImageTasksRequest;
class DescribeImportSnapshotTasksRequest;
class DescribeInstanceAttributeRequest;
class DescribeInstanceCreditSpecificationsRequest;
class DescribeInstanceEventNotificationAttributesRequest;
class DescribeInstanceStatusRequest;
class DescribeInstanceTypeOfferingsRequest;
class DescribeInstanceTypesRequest;
class DescribeInstancesRequest;
class DescribeInternetGatewaysRequest;
class DescribeIpv6PoolsRequest;
class DescribeKeyPairsRequest;
class DescribeLaunchTemplateVersionsRequest;
class DescribeLaunchTemplatesRequest;
class DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest;
class DescribeLocalGatewayRouteTableVpcAssociationsRequest;
class DescribeLocalGatewayRouteTablesRequest;
class DescribeLocalGatewayVirtualInterfaceGroupsRequest;
class DescribeLocalGatewayVirtualInterfacesRequest;
class DescribeLocalGatewaysRequest;
class DescribeManagedPrefixListsRequest;
class DescribeMovingAddressesRequest;
class DescribeNatGatewaysRequest;
class DescribeNetworkAclsRequest;
class DescribeNetworkInterfaceAttributeRequest;
class DescribeNetworkInterfacePermissionsRequest;
class DescribeNetworkInterfacesRequest;
class DescribePlacementGroupsRequest;
class DescribePrefixListsRequest;
class DescribePrincipalIdFormatRequest;
class DescribePublicIpv4PoolsRequest;
class DescribeRegionsRequest;
class DescribeReservedInstancesRequest;
class DescribeReservedInstancesListingsRequest;
class DescribeReservedInstancesModificationsRequest;
class DescribeReservedInstancesOfferingsRequest;
class DescribeRouteTablesRequest;
class DescribeScheduledInstanceAvailabilityRequest;
class DescribeScheduledInstancesRequest;
class DescribeSecurityGroupReferencesRequest;
class DescribeSecurityGroupsRequest;
class DescribeSnapshotAttributeRequest;
class DescribeSnapshotsRequest;
class DescribeSpotDatafeedSubscriptionRequest;
class DescribeSpotFleetInstancesRequest;
class DescribeSpotFleetRequestHistoryRequest;
class DescribeSpotFleetRequestsRequest;
class DescribeSpotInstanceRequestsRequest;
class DescribeSpotPriceHistoryRequest;
class DescribeStaleSecurityGroupsRequest;
class DescribeSubnetsRequest;
class DescribeTagsRequest;
class DescribeTrafficMirrorFiltersRequest;
class DescribeTrafficMirrorSessionsRequest;
class DescribeTrafficMirrorTargetsRequest;
class DescribeTransitGatewayAttachmentsRequest;
class DescribeTransitGatewayMulticastDomainsRequest;
class DescribeTransitGatewayPeeringAttachmentsRequest;
class DescribeTransitGatewayRouteTablesRequest;
class DescribeTransitGatewayVpcAttachmentsRequest;
class DescribeTransitGatewaysRequest;
class DescribeVolumeAttributeRequest;
class DescribeVolumeStatusRequest;
class DescribeVolumesRequest;
class DescribeVolumesModificationsRequest;
class DescribeVpcAttributeRequest;
class DescribeVpcClassicLinkRequest;
class DescribeVpcClassicLinkDnsSupportRequest;
class DescribeVpcEndpointConnectionNotificationsRequest;
class DescribeVpcEndpointConnectionsRequest;
class DescribeVpcEndpointServiceConfigurationsRequest;
class DescribeVpcEndpointServicePermissionsRequest;
class DescribeVpcEndpointServicesRequest;
class DescribeVpcEndpointsRequest;
class DescribeVpcPeeringConnectionsRequest;
class DescribeVpcsRequest;
class DescribeVpnConnectionsRequest;
class DescribeVpnGatewaysRequest;
class DetachClassicLinkVpcRequest;
class DetachInternetGatewayRequest;
class DetachNetworkInterfaceRequest;
class DetachVolumeRequest;
class DetachVpnGatewayRequest;
class DisableEbsEncryptionByDefaultRequest;
class DisableFastSnapshotRestoresRequest;
class DisableTransitGatewayRouteTablePropagationRequest;
class DisableVgwRoutePropagationRequest;
class DisableVpcClassicLinkRequest;
class DisableVpcClassicLinkDnsSupportRequest;
class DisassociateAddressRequest;
class DisassociateClientVpnTargetNetworkRequest;
class DisassociateIamInstanceProfileRequest;
class DisassociateRouteTableRequest;
class DisassociateSubnetCidrBlockRequest;
class DisassociateTransitGatewayMulticastDomainRequest;
class DisassociateTransitGatewayRouteTableRequest;
class DisassociateVpcCidrBlockRequest;
class EnableEbsEncryptionByDefaultRequest;
class EnableFastSnapshotRestoresRequest;
class EnableTransitGatewayRouteTablePropagationRequest;
class EnableVgwRoutePropagationRequest;
class EnableVolumeIORequest;
class EnableVpcClassicLinkRequest;
class EnableVpcClassicLinkDnsSupportRequest;
class ExportClientVpnClientCertificateRevocationListRequest;
class ExportClientVpnClientConfigurationRequest;
class ExportImageRequest;
class ExportTransitGatewayRoutesRequest;
class GetAssociatedIpv6PoolCidrsRequest;
class GetCapacityReservationUsageRequest;
class GetCoipPoolUsageRequest;
class GetConsoleOutputRequest;
class GetConsoleScreenshotRequest;
class GetDefaultCreditSpecificationRequest;
class GetEbsDefaultKmsKeyIdRequest;
class GetEbsEncryptionByDefaultRequest;
class GetGroupsForCapacityReservationRequest;
class GetHostReservationPurchasePreviewRequest;
class GetLaunchTemplateDataRequest;
class GetManagedPrefixListAssociationsRequest;
class GetManagedPrefixListEntriesRequest;
class GetPasswordDataRequest;
class GetReservedInstancesExchangeQuoteRequest;
class GetTransitGatewayAttachmentPropagationsRequest;
class GetTransitGatewayMulticastDomainAssociationsRequest;
class GetTransitGatewayPrefixListReferencesRequest;
class GetTransitGatewayRouteTableAssociationsRequest;
class GetTransitGatewayRouteTablePropagationsRequest;
class ImportClientVpnClientCertificateRevocationListRequest;
class ImportImageRequest;
class ImportInstanceRequest;
class ImportKeyPairRequest;
class ImportSnapshotRequest;
class ImportVolumeRequest;
class ModifyAvailabilityZoneGroupRequest;
class ModifyCapacityReservationRequest;
class ModifyClientVpnEndpointRequest;
class ModifyDefaultCreditSpecificationRequest;
class ModifyEbsDefaultKmsKeyIdRequest;
class ModifyFleetRequest;
class ModifyFpgaImageAttributeRequest;
class ModifyHostsRequest;
class ModifyIdFormatRequest;
class ModifyIdentityIdFormatRequest;
class ModifyImageAttributeRequest;
class ModifyInstanceAttributeRequest;
class ModifyInstanceCapacityReservationAttributesRequest;
class ModifyInstanceCreditSpecificationRequest;
class ModifyInstanceEventStartTimeRequest;
class ModifyInstanceMetadataOptionsRequest;
class ModifyInstancePlacementRequest;
class ModifyLaunchTemplateRequest;
class ModifyManagedPrefixListRequest;
class ModifyNetworkInterfaceAttributeRequest;
class ModifyReservedInstancesRequest;
class ModifySnapshotAttributeRequest;
class ModifySpotFleetRequestRequest;
class ModifySubnetAttributeRequest;
class ModifyTrafficMirrorFilterNetworkServicesRequest;
class ModifyTrafficMirrorFilterRuleRequest;
class ModifyTrafficMirrorSessionRequest;
class ModifyTransitGatewayRequest;
class ModifyTransitGatewayPrefixListReferenceRequest;
class ModifyTransitGatewayVpcAttachmentRequest;
class ModifyVolumeRequest;
class ModifyVolumeAttributeRequest;
class ModifyVpcAttributeRequest;
class ModifyVpcEndpointRequest;
class ModifyVpcEndpointConnectionNotificationRequest;
class ModifyVpcEndpointServiceConfigurationRequest;
class ModifyVpcEndpointServicePermissionsRequest;
class ModifyVpcPeeringConnectionOptionsRequest;
class ModifyVpcTenancyRequest;
class ModifyVpnConnectionRequest;
class ModifyVpnTunnelCertificateRequest;
class ModifyVpnTunnelOptionsRequest;
class MonitorInstancesRequest;
class MoveAddressToVpcRequest;
class ProvisionByoipCidrRequest;
class PurchaseHostReservationRequest;
class PurchaseReservedInstancesOfferingRequest;
class PurchaseScheduledInstancesRequest;
class RebootInstancesRequest;
class RegisterImageRequest;
class RegisterInstanceEventNotificationAttributesRequest;
class RegisterTransitGatewayMulticastGroupMembersRequest;
class RegisterTransitGatewayMulticastGroupSourcesRequest;
class RejectTransitGatewayPeeringAttachmentRequest;
class RejectTransitGatewayVpcAttachmentRequest;
class RejectVpcEndpointConnectionsRequest;
class RejectVpcPeeringConnectionRequest;
class ReleaseAddressRequest;
class ReleaseHostsRequest;
class ReplaceIamInstanceProfileAssociationRequest;
class ReplaceNetworkAclAssociationRequest;
class ReplaceNetworkAclEntryRequest;
class ReplaceRouteRequest;
class ReplaceRouteTableAssociationRequest;
class ReplaceTransitGatewayRouteRequest;
class ReportInstanceStatusRequest;
class RequestSpotFleetRequest;
class RequestSpotInstancesRequest;
class ResetEbsDefaultKmsKeyIdRequest;
class ResetFpgaImageAttributeRequest;
class ResetImageAttributeRequest;
class ResetInstanceAttributeRequest;
class ResetNetworkInterfaceAttributeRequest;
class ResetSnapshotAttributeRequest;
class RestoreAddressToClassicRequest;
class RestoreManagedPrefixListVersionRequest;
class RevokeClientVpnIngressRequest;
class RevokeSecurityGroupEgressRequest;
class RevokeSecurityGroupIngressRequest;
class RunInstancesRequest;
class RunScheduledInstancesRequest;
class SearchLocalGatewayRoutesRequest;
class SearchTransitGatewayMulticastGroupsRequest;
class SearchTransitGatewayRoutesRequest;
class SendDiagnosticInterruptRequest;
class StartInstancesRequest;
class StartVpcEndpointServicePrivateDnsVerificationRequest;
class StopInstancesRequest;
class TerminateClientVpnConnectionsRequest;
class TerminateInstancesRequest;
class UnassignIpv6AddressesRequest;
class UnassignPrivateIpAddressesRequest;
class UnmonitorInstancesRequest;
class UpdateSecurityGroupRuleDescriptionsEgressRequest;
class UpdateSecurityGroupRuleDescriptionsIngressRequest;
class WithdrawByoipCidrRequest;
typedef Aws::Utils::Outcome<AcceptReservedInstancesExchangeQuoteResponse, EC2Error> AcceptReservedInstancesExchangeQuoteOutcome;
typedef Aws::Utils::Outcome<AcceptTransitGatewayPeeringAttachmentResponse, EC2Error> AcceptTransitGatewayPeeringAttachmentOutcome;
typedef Aws::Utils::Outcome<AcceptTransitGatewayVpcAttachmentResponse, EC2Error> AcceptTransitGatewayVpcAttachmentOutcome;
typedef Aws::Utils::Outcome<AcceptVpcEndpointConnectionsResponse, EC2Error> AcceptVpcEndpointConnectionsOutcome;
typedef Aws::Utils::Outcome<AcceptVpcPeeringConnectionResponse, EC2Error> AcceptVpcPeeringConnectionOutcome;
typedef Aws::Utils::Outcome<AdvertiseByoipCidrResponse, EC2Error> AdvertiseByoipCidrOutcome;
typedef Aws::Utils::Outcome<AllocateAddressResponse, EC2Error> AllocateAddressOutcome;
typedef Aws::Utils::Outcome<AllocateHostsResponse, EC2Error> AllocateHostsOutcome;
typedef Aws::Utils::Outcome<ApplySecurityGroupsToClientVpnTargetNetworkResponse, EC2Error> ApplySecurityGroupsToClientVpnTargetNetworkOutcome;
typedef Aws::Utils::Outcome<AssignIpv6AddressesResponse, EC2Error> AssignIpv6AddressesOutcome;
typedef Aws::Utils::Outcome<AssignPrivateIpAddressesResponse, EC2Error> AssignPrivateIpAddressesOutcome;
typedef Aws::Utils::Outcome<AssociateAddressResponse, EC2Error> AssociateAddressOutcome;
typedef Aws::Utils::Outcome<AssociateClientVpnTargetNetworkResponse, EC2Error> AssociateClientVpnTargetNetworkOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> AssociateDhcpOptionsOutcome;
typedef Aws::Utils::Outcome<AssociateIamInstanceProfileResponse, EC2Error> AssociateIamInstanceProfileOutcome;
typedef Aws::Utils::Outcome<AssociateRouteTableResponse, EC2Error> AssociateRouteTableOutcome;
typedef Aws::Utils::Outcome<AssociateSubnetCidrBlockResponse, EC2Error> AssociateSubnetCidrBlockOutcome;
typedef Aws::Utils::Outcome<AssociateTransitGatewayMulticastDomainResponse, EC2Error> AssociateTransitGatewayMulticastDomainOutcome;
typedef Aws::Utils::Outcome<AssociateTransitGatewayRouteTableResponse, EC2Error> AssociateTransitGatewayRouteTableOutcome;
typedef Aws::Utils::Outcome<AssociateVpcCidrBlockResponse, EC2Error> AssociateVpcCidrBlockOutcome;
typedef Aws::Utils::Outcome<AttachClassicLinkVpcResponse, EC2Error> AttachClassicLinkVpcOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> AttachInternetGatewayOutcome;
typedef Aws::Utils::Outcome<AttachNetworkInterfaceResponse, EC2Error> AttachNetworkInterfaceOutcome;
typedef Aws::Utils::Outcome<AttachVolumeResponse, EC2Error> AttachVolumeOutcome;
typedef Aws::Utils::Outcome<AttachVpnGatewayResponse, EC2Error> AttachVpnGatewayOutcome;
typedef Aws::Utils::Outcome<AuthorizeClientVpnIngressResponse, EC2Error> AuthorizeClientVpnIngressOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> AuthorizeSecurityGroupEgressOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> AuthorizeSecurityGroupIngressOutcome;
typedef Aws::Utils::Outcome<BundleInstanceResponse, EC2Error> BundleInstanceOutcome;
typedef Aws::Utils::Outcome<CancelBundleTaskResponse, EC2Error> CancelBundleTaskOutcome;
typedef Aws::Utils::Outcome<CancelCapacityReservationResponse, EC2Error> CancelCapacityReservationOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> CancelConversionTaskOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> CancelExportTaskOutcome;
typedef Aws::Utils::Outcome<CancelImportTaskResponse, EC2Error> CancelImportTaskOutcome;
typedef Aws::Utils::Outcome<CancelReservedInstancesListingResponse, EC2Error> CancelReservedInstancesListingOutcome;
typedef Aws::Utils::Outcome<CancelSpotFleetRequestsResponse, EC2Error> CancelSpotFleetRequestsOutcome;
typedef Aws::Utils::Outcome<CancelSpotInstanceRequestsResponse, EC2Error> CancelSpotInstanceRequestsOutcome;
typedef Aws::Utils::Outcome<ConfirmProductInstanceResponse, EC2Error> ConfirmProductInstanceOutcome;
typedef Aws::Utils::Outcome<CopyFpgaImageResponse, EC2Error> CopyFpgaImageOutcome;
typedef Aws::Utils::Outcome<CopyImageResponse, EC2Error> CopyImageOutcome;
typedef Aws::Utils::Outcome<CopySnapshotResponse, EC2Error> CopySnapshotOutcome;
typedef Aws::Utils::Outcome<CreateCapacityReservationResponse, EC2Error> CreateCapacityReservationOutcome;
typedef Aws::Utils::Outcome<CreateCarrierGatewayResponse, EC2Error> CreateCarrierGatewayOutcome;
typedef Aws::Utils::Outcome<CreateClientVpnEndpointResponse, EC2Error> CreateClientVpnEndpointOutcome;
typedef Aws::Utils::Outcome<CreateClientVpnRouteResponse, EC2Error> CreateClientVpnRouteOutcome;
typedef Aws::Utils::Outcome<CreateCustomerGatewayResponse, EC2Error> CreateCustomerGatewayOutcome;
typedef Aws::Utils::Outcome<CreateDefaultSubnetResponse, EC2Error> CreateDefaultSubnetOutcome;
typedef Aws::Utils::Outcome<CreateDefaultVpcResponse, EC2Error> CreateDefaultVpcOutcome;
typedef Aws::Utils::Outcome<CreateDhcpOptionsResponse, EC2Error> CreateDhcpOptionsOutcome;
typedef Aws::Utils::Outcome<CreateEgressOnlyInternetGatewayResponse, EC2Error> CreateEgressOnlyInternetGatewayOutcome;
typedef Aws::Utils::Outcome<CreateFleetResponse, EC2Error> CreateFleetOutcome;
typedef Aws::Utils::Outcome<CreateFlowLogsResponse, EC2Error> CreateFlowLogsOutcome;
typedef Aws::Utils::Outcome<CreateFpgaImageResponse, EC2Error> CreateFpgaImageOutcome;
typedef Aws::Utils::Outcome<CreateImageResponse, EC2Error> CreateImageOutcome;
typedef Aws::Utils::Outcome<CreateInstanceExportTaskResponse, EC2Error> CreateInstanceExportTaskOutcome;
typedef Aws::Utils::Outcome<CreateInternetGatewayResponse, EC2Error> CreateInternetGatewayOutcome;
typedef Aws::Utils::Outcome<CreateKeyPairResponse, EC2Error> CreateKeyPairOutcome;
typedef Aws::Utils::Outcome<CreateLaunchTemplateResponse, EC2Error> CreateLaunchTemplateOutcome;
typedef Aws::Utils::Outcome<CreateLaunchTemplateVersionResponse, EC2Error> CreateLaunchTemplateVersionOutcome;
typedef Aws::Utils::Outcome<CreateLocalGatewayRouteResponse, EC2Error> CreateLocalGatewayRouteOutcome;
typedef Aws::Utils::Outcome<CreateLocalGatewayRouteTableVpcAssociationResponse, EC2Error> CreateLocalGatewayRouteTableVpcAssociationOutcome;
typedef Aws::Utils::Outcome<CreateManagedPrefixListResponse, EC2Error> CreateManagedPrefixListOutcome;
typedef Aws::Utils::Outcome<CreateNatGatewayResponse, EC2Error> CreateNatGatewayOutcome;
typedef Aws::Utils::Outcome<CreateNetworkAclResponse, EC2Error> CreateNetworkAclOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> CreateNetworkAclEntryOutcome;
typedef Aws::Utils::Outcome<CreateNetworkInterfaceResponse, EC2Error> CreateNetworkInterfaceOutcome;
typedef Aws::Utils::Outcome<CreateNetworkInterfacePermissionResponse, EC2Error> CreateNetworkInterfacePermissionOutcome;
typedef Aws::Utils::Outcome<CreatePlacementGroupResponse, EC2Error> CreatePlacementGroupOutcome;
typedef Aws::Utils::Outcome<CreateReservedInstancesListingResponse, EC2Error> CreateReservedInstancesListingOutcome;
typedef Aws::Utils::Outcome<CreateRouteResponse, EC2Error> CreateRouteOutcome;
typedef Aws::Utils::Outcome<CreateRouteTableResponse, EC2Error> CreateRouteTableOutcome;
typedef Aws::Utils::Outcome<CreateSecurityGroupResponse, EC2Error> CreateSecurityGroupOutcome;
typedef Aws::Utils::Outcome<CreateSnapshotResponse, EC2Error> CreateSnapshotOutcome;
typedef Aws::Utils::Outcome<CreateSnapshotsResponse, EC2Error> CreateSnapshotsOutcome;
typedef Aws::Utils::Outcome<CreateSpotDatafeedSubscriptionResponse, EC2Error> CreateSpotDatafeedSubscriptionOutcome;
typedef Aws::Utils::Outcome<CreateSubnetResponse, EC2Error> CreateSubnetOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> CreateTagsOutcome;
typedef Aws::Utils::Outcome<CreateTrafficMirrorFilterResponse, EC2Error> CreateTrafficMirrorFilterOutcome;
typedef Aws::Utils::Outcome<CreateTrafficMirrorFilterRuleResponse, EC2Error> CreateTrafficMirrorFilterRuleOutcome;
typedef Aws::Utils::Outcome<CreateTrafficMirrorSessionResponse, EC2Error> CreateTrafficMirrorSessionOutcome;
typedef Aws::Utils::Outcome<CreateTrafficMirrorTargetResponse, EC2Error> CreateTrafficMirrorTargetOutcome;
typedef Aws::Utils::Outcome<CreateTransitGatewayResponse, EC2Error> CreateTransitGatewayOutcome;
typedef Aws::Utils::Outcome<CreateTransitGatewayMulticastDomainResponse, EC2Error> CreateTransitGatewayMulticastDomainOutcome;
typedef Aws::Utils::Outcome<CreateTransitGatewayPeeringAttachmentResponse, EC2Error> CreateTransitGatewayPeeringAttachmentOutcome;
typedef Aws::Utils::Outcome<CreateTransitGatewayPrefixListReferenceResponse, EC2Error> CreateTransitGatewayPrefixListReferenceOutcome;
typedef Aws::Utils::Outcome<CreateTransitGatewayRouteResponse, EC2Error> CreateTransitGatewayRouteOutcome;
typedef Aws::Utils::Outcome<CreateTransitGatewayRouteTableResponse, EC2Error> CreateTransitGatewayRouteTableOutcome;
typedef Aws::Utils::Outcome<CreateTransitGatewayVpcAttachmentResponse, EC2Error> CreateTransitGatewayVpcAttachmentOutcome;
typedef Aws::Utils::Outcome<CreateVolumeResponse, EC2Error> CreateVolumeOutcome;
typedef Aws::Utils::Outcome<CreateVpcResponse, EC2Error> CreateVpcOutcome;
typedef Aws::Utils::Outcome<CreateVpcEndpointResponse, EC2Error> CreateVpcEndpointOutcome;
typedef Aws::Utils::Outcome<CreateVpcEndpointConnectionNotificationResponse, EC2Error> CreateVpcEndpointConnectionNotificationOutcome;
typedef Aws::Utils::Outcome<CreateVpcEndpointServiceConfigurationResponse, EC2Error> CreateVpcEndpointServiceConfigurationOutcome;
typedef Aws::Utils::Outcome<CreateVpcPeeringConnectionResponse, EC2Error> CreateVpcPeeringConnectionOutcome;
typedef Aws::Utils::Outcome<CreateVpnConnectionResponse, EC2Error> CreateVpnConnectionOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> CreateVpnConnectionRouteOutcome;
typedef Aws::Utils::Outcome<CreateVpnGatewayResponse, EC2Error> CreateVpnGatewayOutcome;
typedef Aws::Utils::Outcome<DeleteCarrierGatewayResponse, EC2Error> DeleteCarrierGatewayOutcome;
typedef Aws::Utils::Outcome<DeleteClientVpnEndpointResponse, EC2Error> DeleteClientVpnEndpointOutcome;
typedef Aws::Utils::Outcome<DeleteClientVpnRouteResponse, EC2Error> DeleteClientVpnRouteOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> DeleteCustomerGatewayOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> DeleteDhcpOptionsOutcome;
typedef Aws::Utils::Outcome<DeleteEgressOnlyInternetGatewayResponse, EC2Error> DeleteEgressOnlyInternetGatewayOutcome;
typedef Aws::Utils::Outcome<DeleteFleetsResponse, EC2Error> DeleteFleetsOutcome;
typedef Aws::Utils::Outcome<DeleteFlowLogsResponse, EC2Error> DeleteFlowLogsOutcome;
typedef Aws::Utils::Outcome<DeleteFpgaImageResponse, EC2Error> DeleteFpgaImageOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> DeleteInternetGatewayOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> DeleteKeyPairOutcome;
typedef Aws::Utils::Outcome<DeleteLaunchTemplateResponse, EC2Error> DeleteLaunchTemplateOutcome;
typedef Aws::Utils::Outcome<DeleteLaunchTemplateVersionsResponse, EC2Error> DeleteLaunchTemplateVersionsOutcome;
typedef Aws::Utils::Outcome<DeleteLocalGatewayRouteResponse, EC2Error> DeleteLocalGatewayRouteOutcome;
typedef Aws::Utils::Outcome<DeleteLocalGatewayRouteTableVpcAssociationResponse, EC2Error> DeleteLocalGatewayRouteTableVpcAssociationOutcome;
typedef Aws::Utils::Outcome<DeleteManagedPrefixListResponse, EC2Error> DeleteManagedPrefixListOutcome;
typedef Aws::Utils::Outcome<DeleteNatGatewayResponse, EC2Error> DeleteNatGatewayOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> DeleteNetworkAclOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> DeleteNetworkAclEntryOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> DeleteNetworkInterfaceOutcome;
typedef Aws::Utils::Outcome<DeleteNetworkInterfacePermissionResponse, EC2Error> DeleteNetworkInterfacePermissionOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> DeletePlacementGroupOutcome;
typedef Aws::Utils::Outcome<DeleteQueuedReservedInstancesResponse, EC2Error> DeleteQueuedReservedInstancesOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> DeleteRouteOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> DeleteRouteTableOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> DeleteSecurityGroupOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> DeleteSnapshotOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> DeleteSpotDatafeedSubscriptionOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> DeleteSubnetOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> DeleteTagsOutcome;
typedef Aws::Utils::Outcome<DeleteTrafficMirrorFilterResponse, EC2Error> DeleteTrafficMirrorFilterOutcome;
typedef Aws::Utils::Outcome<DeleteTrafficMirrorFilterRuleResponse, EC2Error> DeleteTrafficMirrorFilterRuleOutcome;
typedef Aws::Utils::Outcome<DeleteTrafficMirrorSessionResponse, EC2Error> DeleteTrafficMirrorSessionOutcome;
typedef Aws::Utils::Outcome<DeleteTrafficMirrorTargetResponse, EC2Error> DeleteTrafficMirrorTargetOutcome;
typedef Aws::Utils::Outcome<DeleteTransitGatewayResponse, EC2Error> DeleteTransitGatewayOutcome;
typedef Aws::Utils::Outcome<DeleteTransitGatewayMulticastDomainResponse, EC2Error> DeleteTransitGatewayMulticastDomainOutcome;
typedef Aws::Utils::Outcome<DeleteTransitGatewayPeeringAttachmentResponse, EC2Error> DeleteTransitGatewayPeeringAttachmentOutcome;
typedef Aws::Utils::Outcome<DeleteTransitGatewayPrefixListReferenceResponse, EC2Error> DeleteTransitGatewayPrefixListReferenceOutcome;
typedef Aws::Utils::Outcome<DeleteTransitGatewayRouteResponse, EC2Error> DeleteTransitGatewayRouteOutcome;
typedef Aws::Utils::Outcome<DeleteTransitGatewayRouteTableResponse, EC2Error> DeleteTransitGatewayRouteTableOutcome;
typedef Aws::Utils::Outcome<DeleteTransitGatewayVpcAttachmentResponse, EC2Error> DeleteTransitGatewayVpcAttachmentOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> DeleteVolumeOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> DeleteVpcOutcome;
typedef Aws::Utils::Outcome<DeleteVpcEndpointConnectionNotificationsResponse, EC2Error> DeleteVpcEndpointConnectionNotificationsOutcome;
typedef Aws::Utils::Outcome<DeleteVpcEndpointServiceConfigurationsResponse, EC2Error> DeleteVpcEndpointServiceConfigurationsOutcome;
typedef Aws::Utils::Outcome<DeleteVpcEndpointsResponse, EC2Error> DeleteVpcEndpointsOutcome;
typedef Aws::Utils::Outcome<DeleteVpcPeeringConnectionResponse, EC2Error> DeleteVpcPeeringConnectionOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> DeleteVpnConnectionOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> DeleteVpnConnectionRouteOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> DeleteVpnGatewayOutcome;
typedef Aws::Utils::Outcome<DeprovisionByoipCidrResponse, EC2Error> DeprovisionByoipCidrOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> DeregisterImageOutcome;
typedef Aws::Utils::Outcome<DeregisterInstanceEventNotificationAttributesResponse, EC2Error> DeregisterInstanceEventNotificationAttributesOutcome;
typedef Aws::Utils::Outcome<DeregisterTransitGatewayMulticastGroupMembersResponse, EC2Error> DeregisterTransitGatewayMulticastGroupMembersOutcome;
typedef Aws::Utils::Outcome<DeregisterTransitGatewayMulticastGroupSourcesResponse, EC2Error> DeregisterTransitGatewayMulticastGroupSourcesOutcome;
typedef Aws::Utils::Outcome<DescribeAccountAttributesResponse, EC2Error> DescribeAccountAttributesOutcome;
typedef Aws::Utils::Outcome<DescribeAddressesResponse, EC2Error> DescribeAddressesOutcome;
typedef Aws::Utils::Outcome<DescribeAggregateIdFormatResponse, EC2Error> DescribeAggregateIdFormatOutcome;
typedef Aws::Utils::Outcome<DescribeAvailabilityZonesResponse, EC2Error> DescribeAvailabilityZonesOutcome;
typedef Aws::Utils::Outcome<DescribeBundleTasksResponse, EC2Error> DescribeBundleTasksOutcome;
typedef Aws::Utils::Outcome<DescribeByoipCidrsResponse, EC2Error> DescribeByoipCidrsOutcome;
typedef Aws::Utils::Outcome<DescribeCapacityReservationsResponse, EC2Error> DescribeCapacityReservationsOutcome;
typedef Aws::Utils::Outcome<DescribeCarrierGatewaysResponse, EC2Error> DescribeCarrierGatewaysOutcome;
typedef Aws::Utils::Outcome<DescribeClassicLinkInstancesResponse, EC2Error> DescribeClassicLinkInstancesOutcome;
typedef Aws::Utils::Outcome<DescribeClientVpnAuthorizationRulesResponse, EC2Error> DescribeClientVpnAuthorizationRulesOutcome;
typedef Aws::Utils::Outcome<DescribeClientVpnConnectionsResponse, EC2Error> DescribeClientVpnConnectionsOutcome;
typedef Aws::Utils::Outcome<DescribeClientVpnEndpointsResponse, EC2Error> DescribeClientVpnEndpointsOutcome;
typedef Aws::Utils::Outcome<DescribeClientVpnRoutesResponse, EC2Error> DescribeClientVpnRoutesOutcome;
typedef Aws::Utils::Outcome<DescribeClientVpnTargetNetworksResponse, EC2Error> DescribeClientVpnTargetNetworksOutcome;
typedef Aws::Utils::Outcome<DescribeCoipPoolsResponse, EC2Error> DescribeCoipPoolsOutcome;
typedef Aws::Utils::Outcome<DescribeConversionTasksResponse, EC2Error> DescribeConversionTasksOutcome;
typedef Aws::Utils::Outcome<DescribeCustomerGatewaysResponse, EC2Error> DescribeCustomerGatewaysOutcome;
typedef Aws::Utils::Outcome<DescribeDhcpOptionsResponse, EC2Error> DescribeDhcpOptionsOutcome;
typedef Aws::Utils::Outcome<DescribeEgressOnlyInternetGatewaysResponse, EC2Error> DescribeEgressOnlyInternetGatewaysOutcome;
typedef Aws::Utils::Outcome<DescribeElasticGpusResponse, EC2Error> DescribeElasticGpusOutcome;
typedef Aws::Utils::Outcome<DescribeExportImageTasksResponse, EC2Error> DescribeExportImageTasksOutcome;
typedef Aws::Utils::Outcome<DescribeExportTasksResponse, EC2Error> DescribeExportTasksOutcome;
typedef Aws::Utils::Outcome<DescribeFastSnapshotRestoresResponse, EC2Error> DescribeFastSnapshotRestoresOutcome;
typedef Aws::Utils::Outcome<DescribeFleetHistoryResponse, EC2Error> DescribeFleetHistoryOutcome;
typedef Aws::Utils::Outcome<DescribeFleetInstancesResponse, EC2Error> DescribeFleetInstancesOutcome;
typedef Aws::Utils::Outcome<DescribeFleetsResponse, EC2Error> DescribeFleetsOutcome;
typedef Aws::Utils::Outcome<DescribeFlowLogsResponse, EC2Error> DescribeFlowLogsOutcome;
typedef Aws::Utils::Outcome<DescribeFpgaImageAttributeResponse, EC2Error> DescribeFpgaImageAttributeOutcome;
typedef Aws::Utils::Outcome<DescribeFpgaImagesResponse, EC2Error> DescribeFpgaImagesOutcome;
typedef Aws::Utils::Outcome<DescribeHostReservationOfferingsResponse, EC2Error> DescribeHostReservationOfferingsOutcome;
typedef Aws::Utils::Outcome<DescribeHostReservationsResponse, EC2Error> DescribeHostReservationsOutcome;
typedef Aws::Utils::Outcome<DescribeHostsResponse, EC2Error> DescribeHostsOutcome;
typedef Aws::Utils::Outcome<DescribeIamInstanceProfileAssociationsResponse, EC2Error> DescribeIamInstanceProfileAssociationsOutcome;
typedef Aws::Utils::Outcome<DescribeIdFormatResponse, EC2Error> DescribeIdFormatOutcome;
typedef Aws::Utils::Outcome<DescribeIdentityIdFormatResponse, EC2Error> DescribeIdentityIdFormatOutcome;
typedef Aws::Utils::Outcome<DescribeImageAttributeResponse, EC2Error> DescribeImageAttributeOutcome;
typedef Aws::Utils::Outcome<DescribeImagesResponse, EC2Error> DescribeImagesOutcome;
typedef Aws::Utils::Outcome<DescribeImportImageTasksResponse, EC2Error> DescribeImportImageTasksOutcome;
typedef Aws::Utils::Outcome<DescribeImportSnapshotTasksResponse, EC2Error> DescribeImportSnapshotTasksOutcome;
typedef Aws::Utils::Outcome<DescribeInstanceAttributeResponse, EC2Error> DescribeInstanceAttributeOutcome;
typedef Aws::Utils::Outcome<DescribeInstanceCreditSpecificationsResponse, EC2Error> DescribeInstanceCreditSpecificationsOutcome;
typedef Aws::Utils::Outcome<DescribeInstanceEventNotificationAttributesResponse, EC2Error> DescribeInstanceEventNotificationAttributesOutcome;
typedef Aws::Utils::Outcome<DescribeInstanceStatusResponse, EC2Error> DescribeInstanceStatusOutcome;
typedef Aws::Utils::Outcome<DescribeInstanceTypeOfferingsResponse, EC2Error> DescribeInstanceTypeOfferingsOutcome;
typedef Aws::Utils::Outcome<DescribeInstanceTypesResponse, EC2Error> DescribeInstanceTypesOutcome;
typedef Aws::Utils::Outcome<DescribeInstancesResponse, EC2Error> DescribeInstancesOutcome;
typedef Aws::Utils::Outcome<DescribeInternetGatewaysResponse, EC2Error> DescribeInternetGatewaysOutcome;
typedef Aws::Utils::Outcome<DescribeIpv6PoolsResponse, EC2Error> DescribeIpv6PoolsOutcome;
typedef Aws::Utils::Outcome<DescribeKeyPairsResponse, EC2Error> DescribeKeyPairsOutcome;
typedef Aws::Utils::Outcome<DescribeLaunchTemplateVersionsResponse, EC2Error> DescribeLaunchTemplateVersionsOutcome;
typedef Aws::Utils::Outcome<DescribeLaunchTemplatesResponse, EC2Error> DescribeLaunchTemplatesOutcome;
typedef Aws::Utils::Outcome<DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResponse, EC2Error> DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutcome;
typedef Aws::Utils::Outcome<DescribeLocalGatewayRouteTableVpcAssociationsResponse, EC2Error> DescribeLocalGatewayRouteTableVpcAssociationsOutcome;
typedef Aws::Utils::Outcome<DescribeLocalGatewayRouteTablesResponse, EC2Error> DescribeLocalGatewayRouteTablesOutcome;
typedef Aws::Utils::Outcome<DescribeLocalGatewayVirtualInterfaceGroupsResponse, EC2Error> DescribeLocalGatewayVirtualInterfaceGroupsOutcome;
typedef Aws::Utils::Outcome<DescribeLocalGatewayVirtualInterfacesResponse, EC2Error> DescribeLocalGatewayVirtualInterfacesOutcome;
typedef Aws::Utils::Outcome<DescribeLocalGatewaysResponse, EC2Error> DescribeLocalGatewaysOutcome;
typedef Aws::Utils::Outcome<DescribeManagedPrefixListsResponse, EC2Error> DescribeManagedPrefixListsOutcome;
typedef Aws::Utils::Outcome<DescribeMovingAddressesResponse, EC2Error> DescribeMovingAddressesOutcome;
typedef Aws::Utils::Outcome<DescribeNatGatewaysResponse, EC2Error> DescribeNatGatewaysOutcome;
typedef Aws::Utils::Outcome<DescribeNetworkAclsResponse, EC2Error> DescribeNetworkAclsOutcome;
typedef Aws::Utils::Outcome<DescribeNetworkInterfaceAttributeResponse, EC2Error> DescribeNetworkInterfaceAttributeOutcome;
typedef Aws::Utils::Outcome<DescribeNetworkInterfacePermissionsResponse, EC2Error> DescribeNetworkInterfacePermissionsOutcome;
typedef Aws::Utils::Outcome<DescribeNetworkInterfacesResponse, EC2Error> DescribeNetworkInterfacesOutcome;
typedef Aws::Utils::Outcome<DescribePlacementGroupsResponse, EC2Error> DescribePlacementGroupsOutcome;
typedef Aws::Utils::Outcome<DescribePrefixListsResponse, EC2Error> DescribePrefixListsOutcome;
typedef Aws::Utils::Outcome<DescribePrincipalIdFormatResponse, EC2Error> DescribePrincipalIdFormatOutcome;
typedef Aws::Utils::Outcome<DescribePublicIpv4PoolsResponse, EC2Error> DescribePublicIpv4PoolsOutcome;
typedef Aws::Utils::Outcome<DescribeRegionsResponse, EC2Error> DescribeRegionsOutcome;
typedef Aws::Utils::Outcome<DescribeReservedInstancesResponse, EC2Error> DescribeReservedInstancesOutcome;
typedef Aws::Utils::Outcome<DescribeReservedInstancesListingsResponse, EC2Error> DescribeReservedInstancesListingsOutcome;
typedef Aws::Utils::Outcome<DescribeReservedInstancesModificationsResponse, EC2Error> DescribeReservedInstancesModificationsOutcome;
typedef Aws::Utils::Outcome<DescribeReservedInstancesOfferingsResponse, EC2Error> DescribeReservedInstancesOfferingsOutcome;
typedef Aws::Utils::Outcome<DescribeRouteTablesResponse, EC2Error> DescribeRouteTablesOutcome;
typedef Aws::Utils::Outcome<DescribeScheduledInstanceAvailabilityResponse, EC2Error> DescribeScheduledInstanceAvailabilityOutcome;
typedef Aws::Utils::Outcome<DescribeScheduledInstancesResponse, EC2Error> DescribeScheduledInstancesOutcome;
typedef Aws::Utils::Outcome<DescribeSecurityGroupReferencesResponse, EC2Error> DescribeSecurityGroupReferencesOutcome;
typedef Aws::Utils::Outcome<DescribeSecurityGroupsResponse, EC2Error> DescribeSecurityGroupsOutcome;
typedef Aws::Utils::Outcome<DescribeSnapshotAttributeResponse, EC2Error> DescribeSnapshotAttributeOutcome;
typedef Aws::Utils::Outcome<DescribeSnapshotsResponse, EC2Error> DescribeSnapshotsOutcome;
typedef Aws::Utils::Outcome<DescribeSpotDatafeedSubscriptionResponse, EC2Error> DescribeSpotDatafeedSubscriptionOutcome;
typedef Aws::Utils::Outcome<DescribeSpotFleetInstancesResponse, EC2Error> DescribeSpotFleetInstancesOutcome;
typedef Aws::Utils::Outcome<DescribeSpotFleetRequestHistoryResponse, EC2Error> DescribeSpotFleetRequestHistoryOutcome;
typedef Aws::Utils::Outcome<DescribeSpotFleetRequestsResponse, EC2Error> DescribeSpotFleetRequestsOutcome;
typedef Aws::Utils::Outcome<DescribeSpotInstanceRequestsResponse, EC2Error> DescribeSpotInstanceRequestsOutcome;
typedef Aws::Utils::Outcome<DescribeSpotPriceHistoryResponse, EC2Error> DescribeSpotPriceHistoryOutcome;
typedef Aws::Utils::Outcome<DescribeStaleSecurityGroupsResponse, EC2Error> DescribeStaleSecurityGroupsOutcome;
typedef Aws::Utils::Outcome<DescribeSubnetsResponse, EC2Error> DescribeSubnetsOutcome;
typedef Aws::Utils::Outcome<DescribeTagsResponse, EC2Error> DescribeTagsOutcome;
typedef Aws::Utils::Outcome<DescribeTrafficMirrorFiltersResponse, EC2Error> DescribeTrafficMirrorFiltersOutcome;
typedef Aws::Utils::Outcome<DescribeTrafficMirrorSessionsResponse, EC2Error> DescribeTrafficMirrorSessionsOutcome;
typedef Aws::Utils::Outcome<DescribeTrafficMirrorTargetsResponse, EC2Error> DescribeTrafficMirrorTargetsOutcome;
typedef Aws::Utils::Outcome<DescribeTransitGatewayAttachmentsResponse, EC2Error> DescribeTransitGatewayAttachmentsOutcome;
typedef Aws::Utils::Outcome<DescribeTransitGatewayMulticastDomainsResponse, EC2Error> DescribeTransitGatewayMulticastDomainsOutcome;
typedef Aws::Utils::Outcome<DescribeTransitGatewayPeeringAttachmentsResponse, EC2Error> DescribeTransitGatewayPeeringAttachmentsOutcome;
typedef Aws::Utils::Outcome<DescribeTransitGatewayRouteTablesResponse, EC2Error> DescribeTransitGatewayRouteTablesOutcome;
typedef Aws::Utils::Outcome<DescribeTransitGatewayVpcAttachmentsResponse, EC2Error> DescribeTransitGatewayVpcAttachmentsOutcome;
typedef Aws::Utils::Outcome<DescribeTransitGatewaysResponse, EC2Error> DescribeTransitGatewaysOutcome;
typedef Aws::Utils::Outcome<DescribeVolumeAttributeResponse, EC2Error> DescribeVolumeAttributeOutcome;
typedef Aws::Utils::Outcome<DescribeVolumeStatusResponse, EC2Error> DescribeVolumeStatusOutcome;
typedef Aws::Utils::Outcome<DescribeVolumesResponse, EC2Error> DescribeVolumesOutcome;
typedef Aws::Utils::Outcome<DescribeVolumesModificationsResponse, EC2Error> DescribeVolumesModificationsOutcome;
typedef Aws::Utils::Outcome<DescribeVpcAttributeResponse, EC2Error> DescribeVpcAttributeOutcome;
typedef Aws::Utils::Outcome<DescribeVpcClassicLinkResponse, EC2Error> DescribeVpcClassicLinkOutcome;
typedef Aws::Utils::Outcome<DescribeVpcClassicLinkDnsSupportResponse, EC2Error> DescribeVpcClassicLinkDnsSupportOutcome;
typedef Aws::Utils::Outcome<DescribeVpcEndpointConnectionNotificationsResponse, EC2Error> DescribeVpcEndpointConnectionNotificationsOutcome;
typedef Aws::Utils::Outcome<DescribeVpcEndpointConnectionsResponse, EC2Error> DescribeVpcEndpointConnectionsOutcome;
typedef Aws::Utils::Outcome<DescribeVpcEndpointServiceConfigurationsResponse, EC2Error> DescribeVpcEndpointServiceConfigurationsOutcome;
typedef Aws::Utils::Outcome<DescribeVpcEndpointServicePermissionsResponse, EC2Error> DescribeVpcEndpointServicePermissionsOutcome;
typedef Aws::Utils::Outcome<DescribeVpcEndpointServicesResponse, EC2Error> DescribeVpcEndpointServicesOutcome;
typedef Aws::Utils::Outcome<DescribeVpcEndpointsResponse, EC2Error> DescribeVpcEndpointsOutcome;
typedef Aws::Utils::Outcome<DescribeVpcPeeringConnectionsResponse, EC2Error> DescribeVpcPeeringConnectionsOutcome;
typedef Aws::Utils::Outcome<DescribeVpcsResponse, EC2Error> DescribeVpcsOutcome;
typedef Aws::Utils::Outcome<DescribeVpnConnectionsResponse, EC2Error> DescribeVpnConnectionsOutcome;
typedef Aws::Utils::Outcome<DescribeVpnGatewaysResponse, EC2Error> DescribeVpnGatewaysOutcome;
typedef Aws::Utils::Outcome<DetachClassicLinkVpcResponse, EC2Error> DetachClassicLinkVpcOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> DetachInternetGatewayOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> DetachNetworkInterfaceOutcome;
typedef Aws::Utils::Outcome<DetachVolumeResponse, EC2Error> DetachVolumeOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> DetachVpnGatewayOutcome;
typedef Aws::Utils::Outcome<DisableEbsEncryptionByDefaultResponse, EC2Error> DisableEbsEncryptionByDefaultOutcome;
typedef Aws::Utils::Outcome<DisableFastSnapshotRestoresResponse, EC2Error> DisableFastSnapshotRestoresOutcome;
typedef Aws::Utils::Outcome<DisableTransitGatewayRouteTablePropagationResponse, EC2Error> DisableTransitGatewayRouteTablePropagationOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> DisableVgwRoutePropagationOutcome;
typedef Aws::Utils::Outcome<DisableVpcClassicLinkResponse, EC2Error> DisableVpcClassicLinkOutcome;
typedef Aws::Utils::Outcome<DisableVpcClassicLinkDnsSupportResponse, EC2Error> DisableVpcClassicLinkDnsSupportOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> DisassociateAddressOutcome;
typedef Aws::Utils::Outcome<DisassociateClientVpnTargetNetworkResponse, EC2Error> DisassociateClientVpnTargetNetworkOutcome;
typedef Aws::Utils::Outcome<DisassociateIamInstanceProfileResponse, EC2Error> DisassociateIamInstanceProfileOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> DisassociateRouteTableOutcome;
typedef Aws::Utils::Outcome<DisassociateSubnetCidrBlockResponse, EC2Error> DisassociateSubnetCidrBlockOutcome;
typedef Aws::Utils::Outcome<DisassociateTransitGatewayMulticastDomainResponse, EC2Error> DisassociateTransitGatewayMulticastDomainOutcome;
typedef Aws::Utils::Outcome<DisassociateTransitGatewayRouteTableResponse, EC2Error> DisassociateTransitGatewayRouteTableOutcome;
typedef Aws::Utils::Outcome<DisassociateVpcCidrBlockResponse, EC2Error> DisassociateVpcCidrBlockOutcome;
typedef Aws::Utils::Outcome<EnableEbsEncryptionByDefaultResponse, EC2Error> EnableEbsEncryptionByDefaultOutcome;
typedef Aws::Utils::Outcome<EnableFastSnapshotRestoresResponse, EC2Error> EnableFastSnapshotRestoresOutcome;
typedef Aws::Utils::Outcome<EnableTransitGatewayRouteTablePropagationResponse, EC2Error> EnableTransitGatewayRouteTablePropagationOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> EnableVgwRoutePropagationOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> EnableVolumeIOOutcome;
typedef Aws::Utils::Outcome<EnableVpcClassicLinkResponse, EC2Error> EnableVpcClassicLinkOutcome;
typedef Aws::Utils::Outcome<EnableVpcClassicLinkDnsSupportResponse, EC2Error> EnableVpcClassicLinkDnsSupportOutcome;
typedef Aws::Utils::Outcome<ExportClientVpnClientCertificateRevocationListResponse, EC2Error> ExportClientVpnClientCertificateRevocationListOutcome;
typedef Aws::Utils::Outcome<ExportClientVpnClientConfigurationResponse, EC2Error> ExportClientVpnClientConfigurationOutcome;
typedef Aws::Utils::Outcome<ExportImageResponse, EC2Error> ExportImageOutcome;
typedef Aws::Utils::Outcome<ExportTransitGatewayRoutesResponse, EC2Error> ExportTransitGatewayRoutesOutcome;
typedef Aws::Utils::Outcome<GetAssociatedIpv6PoolCidrsResponse, EC2Error> GetAssociatedIpv6PoolCidrsOutcome;
typedef Aws::Utils::Outcome<GetCapacityReservationUsageResponse, EC2Error> GetCapacityReservationUsageOutcome;
typedef Aws::Utils::Outcome<GetCoipPoolUsageResponse, EC2Error> GetCoipPoolUsageOutcome;
typedef Aws::Utils::Outcome<GetConsoleOutputResponse, EC2Error> GetConsoleOutputOutcome;
typedef Aws::Utils::Outcome<GetConsoleScreenshotResponse, EC2Error> GetConsoleScreenshotOutcome;
typedef Aws::Utils::Outcome<GetDefaultCreditSpecificationResponse, EC2Error> GetDefaultCreditSpecificationOutcome;
typedef Aws::Utils::Outcome<GetEbsDefaultKmsKeyIdResponse, EC2Error> GetEbsDefaultKmsKeyIdOutcome;
typedef Aws::Utils::Outcome<GetEbsEncryptionByDefaultResponse, EC2Error> GetEbsEncryptionByDefaultOutcome;
typedef Aws::Utils::Outcome<GetGroupsForCapacityReservationResponse, EC2Error> GetGroupsForCapacityReservationOutcome;
typedef Aws::Utils::Outcome<GetHostReservationPurchasePreviewResponse, EC2Error> GetHostReservationPurchasePreviewOutcome;
typedef Aws::Utils::Outcome<GetLaunchTemplateDataResponse, EC2Error> GetLaunchTemplateDataOutcome;
typedef Aws::Utils::Outcome<GetManagedPrefixListAssociationsResponse, EC2Error> GetManagedPrefixListAssociationsOutcome;
typedef Aws::Utils::Outcome<GetManagedPrefixListEntriesResponse, EC2Error> GetManagedPrefixListEntriesOutcome;
typedef Aws::Utils::Outcome<GetPasswordDataResponse, EC2Error> GetPasswordDataOutcome;
typedef Aws::Utils::Outcome<GetReservedInstancesExchangeQuoteResponse, EC2Error> GetReservedInstancesExchangeQuoteOutcome;
typedef Aws::Utils::Outcome<GetTransitGatewayAttachmentPropagationsResponse, EC2Error> GetTransitGatewayAttachmentPropagationsOutcome;
typedef Aws::Utils::Outcome<GetTransitGatewayMulticastDomainAssociationsResponse, EC2Error> GetTransitGatewayMulticastDomainAssociationsOutcome;
typedef Aws::Utils::Outcome<GetTransitGatewayPrefixListReferencesResponse, EC2Error> GetTransitGatewayPrefixListReferencesOutcome;
typedef Aws::Utils::Outcome<GetTransitGatewayRouteTableAssociationsResponse, EC2Error> GetTransitGatewayRouteTableAssociationsOutcome;
typedef Aws::Utils::Outcome<GetTransitGatewayRouteTablePropagationsResponse, EC2Error> GetTransitGatewayRouteTablePropagationsOutcome;
typedef Aws::Utils::Outcome<ImportClientVpnClientCertificateRevocationListResponse, EC2Error> ImportClientVpnClientCertificateRevocationListOutcome;
typedef Aws::Utils::Outcome<ImportImageResponse, EC2Error> ImportImageOutcome;
typedef Aws::Utils::Outcome<ImportInstanceResponse, EC2Error> ImportInstanceOutcome;
typedef Aws::Utils::Outcome<ImportKeyPairResponse, EC2Error> ImportKeyPairOutcome;
typedef Aws::Utils::Outcome<ImportSnapshotResponse, EC2Error> ImportSnapshotOutcome;
typedef Aws::Utils::Outcome<ImportVolumeResponse, EC2Error> ImportVolumeOutcome;
typedef Aws::Utils::Outcome<ModifyAvailabilityZoneGroupResponse, EC2Error> ModifyAvailabilityZoneGroupOutcome;
typedef Aws::Utils::Outcome<ModifyCapacityReservationResponse, EC2Error> ModifyCapacityReservationOutcome;
typedef Aws::Utils::Outcome<ModifyClientVpnEndpointResponse, EC2Error> ModifyClientVpnEndpointOutcome;
typedef Aws::Utils::Outcome<ModifyDefaultCreditSpecificationResponse, EC2Error> ModifyDefaultCreditSpecificationOutcome;
typedef Aws::Utils::Outcome<ModifyEbsDefaultKmsKeyIdResponse, EC2Error> ModifyEbsDefaultKmsKeyIdOutcome;
typedef Aws::Utils::Outcome<ModifyFleetResponse, EC2Error> ModifyFleetOutcome;
typedef Aws::Utils::Outcome<ModifyFpgaImageAttributeResponse, EC2Error> ModifyFpgaImageAttributeOutcome;
typedef Aws::Utils::Outcome<ModifyHostsResponse, EC2Error> ModifyHostsOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> ModifyIdFormatOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> ModifyIdentityIdFormatOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> ModifyImageAttributeOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> ModifyInstanceAttributeOutcome;
typedef Aws::Utils::Outcome<ModifyInstanceCapacityReservationAttributesResponse, EC2Error> ModifyInstanceCapacityReservationAttributesOutcome;
typedef Aws::Utils::Outcome<ModifyInstanceCreditSpecificationResponse, EC2Error> ModifyInstanceCreditSpecificationOutcome;
typedef Aws::Utils::Outcome<ModifyInstanceEventStartTimeResponse, EC2Error> ModifyInstanceEventStartTimeOutcome;
typedef Aws::Utils::Outcome<ModifyInstanceMetadataOptionsResponse, EC2Error> ModifyInstanceMetadataOptionsOutcome;
typedef Aws::Utils::Outcome<ModifyInstancePlacementResponse, EC2Error> ModifyInstancePlacementOutcome;
typedef Aws::Utils::Outcome<ModifyLaunchTemplateResponse, EC2Error> ModifyLaunchTemplateOutcome;
typedef Aws::Utils::Outcome<ModifyManagedPrefixListResponse, EC2Error> ModifyManagedPrefixListOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> ModifyNetworkInterfaceAttributeOutcome;
typedef Aws::Utils::Outcome<ModifyReservedInstancesResponse, EC2Error> ModifyReservedInstancesOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> ModifySnapshotAttributeOutcome;
typedef Aws::Utils::Outcome<ModifySpotFleetRequestResponse, EC2Error> ModifySpotFleetRequestOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> ModifySubnetAttributeOutcome;
typedef Aws::Utils::Outcome<ModifyTrafficMirrorFilterNetworkServicesResponse, EC2Error> ModifyTrafficMirrorFilterNetworkServicesOutcome;
typedef Aws::Utils::Outcome<ModifyTrafficMirrorFilterRuleResponse, EC2Error> ModifyTrafficMirrorFilterRuleOutcome;
typedef Aws::Utils::Outcome<ModifyTrafficMirrorSessionResponse, EC2Error> ModifyTrafficMirrorSessionOutcome;
typedef Aws::Utils::Outcome<ModifyTransitGatewayResponse, EC2Error> ModifyTransitGatewayOutcome;
typedef Aws::Utils::Outcome<ModifyTransitGatewayPrefixListReferenceResponse, EC2Error> ModifyTransitGatewayPrefixListReferenceOutcome;
typedef Aws::Utils::Outcome<ModifyTransitGatewayVpcAttachmentResponse, EC2Error> ModifyTransitGatewayVpcAttachmentOutcome;
typedef Aws::Utils::Outcome<ModifyVolumeResponse, EC2Error> ModifyVolumeOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> ModifyVolumeAttributeOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> ModifyVpcAttributeOutcome;
typedef Aws::Utils::Outcome<ModifyVpcEndpointResponse, EC2Error> ModifyVpcEndpointOutcome;
typedef Aws::Utils::Outcome<ModifyVpcEndpointConnectionNotificationResponse, EC2Error> ModifyVpcEndpointConnectionNotificationOutcome;
typedef Aws::Utils::Outcome<ModifyVpcEndpointServiceConfigurationResponse, EC2Error> ModifyVpcEndpointServiceConfigurationOutcome;
typedef Aws::Utils::Outcome<ModifyVpcEndpointServicePermissionsResponse, EC2Error> ModifyVpcEndpointServicePermissionsOutcome;
typedef Aws::Utils::Outcome<ModifyVpcPeeringConnectionOptionsResponse, EC2Error> ModifyVpcPeeringConnectionOptionsOutcome;
typedef Aws::Utils::Outcome<ModifyVpcTenancyResponse, EC2Error> ModifyVpcTenancyOutcome;
typedef Aws::Utils::Outcome<ModifyVpnConnectionResponse, EC2Error> ModifyVpnConnectionOutcome;
typedef Aws::Utils::Outcome<ModifyVpnTunnelCertificateResponse, EC2Error> ModifyVpnTunnelCertificateOutcome;
typedef Aws::Utils::Outcome<ModifyVpnTunnelOptionsResponse, EC2Error> ModifyVpnTunnelOptionsOutcome;
typedef Aws::Utils::Outcome<MonitorInstancesResponse, EC2Error> MonitorInstancesOutcome;
typedef Aws::Utils::Outcome<MoveAddressToVpcResponse, EC2Error> MoveAddressToVpcOutcome;
typedef Aws::Utils::Outcome<ProvisionByoipCidrResponse, EC2Error> ProvisionByoipCidrOutcome;
typedef Aws::Utils::Outcome<PurchaseHostReservationResponse, EC2Error> PurchaseHostReservationOutcome;
typedef Aws::Utils::Outcome<PurchaseReservedInstancesOfferingResponse, EC2Error> PurchaseReservedInstancesOfferingOutcome;
typedef Aws::Utils::Outcome<PurchaseScheduledInstancesResponse, EC2Error> PurchaseScheduledInstancesOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> RebootInstancesOutcome;
typedef Aws::Utils::Outcome<RegisterImageResponse, EC2Error> RegisterImageOutcome;
typedef Aws::Utils::Outcome<RegisterInstanceEventNotificationAttributesResponse, EC2Error> RegisterInstanceEventNotificationAttributesOutcome;
typedef Aws::Utils::Outcome<RegisterTransitGatewayMulticastGroupMembersResponse, EC2Error> RegisterTransitGatewayMulticastGroupMembersOutcome;
typedef Aws::Utils::Outcome<RegisterTransitGatewayMulticastGroupSourcesResponse, EC2Error> RegisterTransitGatewayMulticastGroupSourcesOutcome;
typedef Aws::Utils::Outcome<RejectTransitGatewayPeeringAttachmentResponse, EC2Error> RejectTransitGatewayPeeringAttachmentOutcome;
typedef Aws::Utils::Outcome<RejectTransitGatewayVpcAttachmentResponse, EC2Error> RejectTransitGatewayVpcAttachmentOutcome;
typedef Aws::Utils::Outcome<RejectVpcEndpointConnectionsResponse, EC2Error> RejectVpcEndpointConnectionsOutcome;
typedef Aws::Utils::Outcome<RejectVpcPeeringConnectionResponse, EC2Error> RejectVpcPeeringConnectionOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> ReleaseAddressOutcome;
typedef Aws::Utils::Outcome<ReleaseHostsResponse, EC2Error> ReleaseHostsOutcome;
typedef Aws::Utils::Outcome<ReplaceIamInstanceProfileAssociationResponse, EC2Error> ReplaceIamInstanceProfileAssociationOutcome;
typedef Aws::Utils::Outcome<ReplaceNetworkAclAssociationResponse, EC2Error> ReplaceNetworkAclAssociationOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> ReplaceNetworkAclEntryOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> ReplaceRouteOutcome;
typedef Aws::Utils::Outcome<ReplaceRouteTableAssociationResponse, EC2Error> ReplaceRouteTableAssociationOutcome;
typedef Aws::Utils::Outcome<ReplaceTransitGatewayRouteResponse, EC2Error> ReplaceTransitGatewayRouteOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> ReportInstanceStatusOutcome;
typedef Aws::Utils::Outcome<RequestSpotFleetResponse, EC2Error> RequestSpotFleetOutcome;
typedef Aws::Utils::Outcome<RequestSpotInstancesResponse, EC2Error> RequestSpotInstancesOutcome;
typedef Aws::Utils::Outcome<ResetEbsDefaultKmsKeyIdResponse, EC2Error> ResetEbsDefaultKmsKeyIdOutcome;
typedef Aws::Utils::Outcome<ResetFpgaImageAttributeResponse, EC2Error> ResetFpgaImageAttributeOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> ResetImageAttributeOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> ResetInstanceAttributeOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> ResetNetworkInterfaceAttributeOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> ResetSnapshotAttributeOutcome;
typedef Aws::Utils::Outcome<RestoreAddressToClassicResponse, EC2Error> RestoreAddressToClassicOutcome;
typedef Aws::Utils::Outcome<RestoreManagedPrefixListVersionResponse, EC2Error> RestoreManagedPrefixListVersionOutcome;
typedef Aws::Utils::Outcome<RevokeClientVpnIngressResponse, EC2Error> RevokeClientVpnIngressOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> RevokeSecurityGroupEgressOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> RevokeSecurityGroupIngressOutcome;
typedef Aws::Utils::Outcome<RunInstancesResponse, EC2Error> RunInstancesOutcome;
typedef Aws::Utils::Outcome<RunScheduledInstancesResponse, EC2Error> RunScheduledInstancesOutcome;
typedef Aws::Utils::Outcome<SearchLocalGatewayRoutesResponse, EC2Error> SearchLocalGatewayRoutesOutcome;
typedef Aws::Utils::Outcome<SearchTransitGatewayMulticastGroupsResponse, EC2Error> SearchTransitGatewayMulticastGroupsOutcome;
typedef Aws::Utils::Outcome<SearchTransitGatewayRoutesResponse, EC2Error> SearchTransitGatewayRoutesOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> SendDiagnosticInterruptOutcome;
typedef Aws::Utils::Outcome<StartInstancesResponse, EC2Error> StartInstancesOutcome;
typedef Aws::Utils::Outcome<StartVpcEndpointServicePrivateDnsVerificationResponse, EC2Error> StartVpcEndpointServicePrivateDnsVerificationOutcome;
typedef Aws::Utils::Outcome<StopInstancesResponse, EC2Error> StopInstancesOutcome;
typedef Aws::Utils::Outcome<TerminateClientVpnConnectionsResponse, EC2Error> TerminateClientVpnConnectionsOutcome;
typedef Aws::Utils::Outcome<TerminateInstancesResponse, EC2Error> TerminateInstancesOutcome;
typedef Aws::Utils::Outcome<UnassignIpv6AddressesResponse, EC2Error> UnassignIpv6AddressesOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, EC2Error> UnassignPrivateIpAddressesOutcome;
typedef Aws::Utils::Outcome<UnmonitorInstancesResponse, EC2Error> UnmonitorInstancesOutcome;
typedef Aws::Utils::Outcome<UpdateSecurityGroupRuleDescriptionsEgressResponse, EC2Error> UpdateSecurityGroupRuleDescriptionsEgressOutcome;
typedef Aws::Utils::Outcome<UpdateSecurityGroupRuleDescriptionsIngressResponse, EC2Error> UpdateSecurityGroupRuleDescriptionsIngressOutcome;
typedef Aws::Utils::Outcome<WithdrawByoipCidrResponse, EC2Error> WithdrawByoipCidrOutcome;
typedef std::future<AcceptReservedInstancesExchangeQuoteOutcome> AcceptReservedInstancesExchangeQuoteOutcomeCallable;
typedef std::future<AcceptTransitGatewayPeeringAttachmentOutcome> AcceptTransitGatewayPeeringAttachmentOutcomeCallable;
typedef std::future<AcceptTransitGatewayVpcAttachmentOutcome> AcceptTransitGatewayVpcAttachmentOutcomeCallable;
typedef std::future<AcceptVpcEndpointConnectionsOutcome> AcceptVpcEndpointConnectionsOutcomeCallable;
typedef std::future<AcceptVpcPeeringConnectionOutcome> AcceptVpcPeeringConnectionOutcomeCallable;
typedef std::future<AdvertiseByoipCidrOutcome> AdvertiseByoipCidrOutcomeCallable;
typedef std::future<AllocateAddressOutcome> AllocateAddressOutcomeCallable;
typedef std::future<AllocateHostsOutcome> AllocateHostsOutcomeCallable;
typedef std::future<ApplySecurityGroupsToClientVpnTargetNetworkOutcome> ApplySecurityGroupsToClientVpnTargetNetworkOutcomeCallable;
typedef std::future<AssignIpv6AddressesOutcome> AssignIpv6AddressesOutcomeCallable;
typedef std::future<AssignPrivateIpAddressesOutcome> AssignPrivateIpAddressesOutcomeCallable;
typedef std::future<AssociateAddressOutcome> AssociateAddressOutcomeCallable;
typedef std::future<AssociateClientVpnTargetNetworkOutcome> AssociateClientVpnTargetNetworkOutcomeCallable;
typedef std::future<AssociateDhcpOptionsOutcome> AssociateDhcpOptionsOutcomeCallable;
typedef std::future<AssociateIamInstanceProfileOutcome> AssociateIamInstanceProfileOutcomeCallable;
typedef std::future<AssociateRouteTableOutcome> AssociateRouteTableOutcomeCallable;
typedef std::future<AssociateSubnetCidrBlockOutcome> AssociateSubnetCidrBlockOutcomeCallable;
typedef std::future<AssociateTransitGatewayMulticastDomainOutcome> AssociateTransitGatewayMulticastDomainOutcomeCallable;
typedef std::future<AssociateTransitGatewayRouteTableOutcome> AssociateTransitGatewayRouteTableOutcomeCallable;
typedef std::future<AssociateVpcCidrBlockOutcome> AssociateVpcCidrBlockOutcomeCallable;
typedef std::future<AttachClassicLinkVpcOutcome> AttachClassicLinkVpcOutcomeCallable;
typedef std::future<AttachInternetGatewayOutcome> AttachInternetGatewayOutcomeCallable;
typedef std::future<AttachNetworkInterfaceOutcome> AttachNetworkInterfaceOutcomeCallable;
typedef std::future<AttachVolumeOutcome> AttachVolumeOutcomeCallable;
typedef std::future<AttachVpnGatewayOutcome> AttachVpnGatewayOutcomeCallable;
typedef std::future<AuthorizeClientVpnIngressOutcome> AuthorizeClientVpnIngressOutcomeCallable;
typedef std::future<AuthorizeSecurityGroupEgressOutcome> AuthorizeSecurityGroupEgressOutcomeCallable;
typedef std::future<AuthorizeSecurityGroupIngressOutcome> AuthorizeSecurityGroupIngressOutcomeCallable;
typedef std::future<BundleInstanceOutcome> BundleInstanceOutcomeCallable;
typedef std::future<CancelBundleTaskOutcome> CancelBundleTaskOutcomeCallable;
typedef std::future<CancelCapacityReservationOutcome> CancelCapacityReservationOutcomeCallable;
typedef std::future<CancelConversionTaskOutcome> CancelConversionTaskOutcomeCallable;
typedef std::future<CancelExportTaskOutcome> CancelExportTaskOutcomeCallable;
typedef std::future<CancelImportTaskOutcome> CancelImportTaskOutcomeCallable;
typedef std::future<CancelReservedInstancesListingOutcome> CancelReservedInstancesListingOutcomeCallable;
typedef std::future<CancelSpotFleetRequestsOutcome> CancelSpotFleetRequestsOutcomeCallable;
typedef std::future<CancelSpotInstanceRequestsOutcome> CancelSpotInstanceRequestsOutcomeCallable;
typedef std::future<ConfirmProductInstanceOutcome> ConfirmProductInstanceOutcomeCallable;
typedef std::future<CopyFpgaImageOutcome> CopyFpgaImageOutcomeCallable;
typedef std::future<CopyImageOutcome> CopyImageOutcomeCallable;
typedef std::future<CopySnapshotOutcome> CopySnapshotOutcomeCallable;
typedef std::future<CreateCapacityReservationOutcome> CreateCapacityReservationOutcomeCallable;
typedef std::future<CreateCarrierGatewayOutcome> CreateCarrierGatewayOutcomeCallable;
typedef std::future<CreateClientVpnEndpointOutcome> CreateClientVpnEndpointOutcomeCallable;
typedef std::future<CreateClientVpnRouteOutcome> CreateClientVpnRouteOutcomeCallable;
typedef std::future<CreateCustomerGatewayOutcome> CreateCustomerGatewayOutcomeCallable;
typedef std::future<CreateDefaultSubnetOutcome> CreateDefaultSubnetOutcomeCallable;
typedef std::future<CreateDefaultVpcOutcome> CreateDefaultVpcOutcomeCallable;
typedef std::future<CreateDhcpOptionsOutcome> CreateDhcpOptionsOutcomeCallable;
typedef std::future<CreateEgressOnlyInternetGatewayOutcome> CreateEgressOnlyInternetGatewayOutcomeCallable;
typedef std::future<CreateFleetOutcome> CreateFleetOutcomeCallable;
typedef std::future<CreateFlowLogsOutcome> CreateFlowLogsOutcomeCallable;
typedef std::future<CreateFpgaImageOutcome> CreateFpgaImageOutcomeCallable;
typedef std::future<CreateImageOutcome> CreateImageOutcomeCallable;
typedef std::future<CreateInstanceExportTaskOutcome> CreateInstanceExportTaskOutcomeCallable;
typedef std::future<CreateInternetGatewayOutcome> CreateInternetGatewayOutcomeCallable;
typedef std::future<CreateKeyPairOutcome> CreateKeyPairOutcomeCallable;
typedef std::future<CreateLaunchTemplateOutcome> CreateLaunchTemplateOutcomeCallable;
typedef std::future<CreateLaunchTemplateVersionOutcome> CreateLaunchTemplateVersionOutcomeCallable;
typedef std::future<CreateLocalGatewayRouteOutcome> CreateLocalGatewayRouteOutcomeCallable;
typedef std::future<CreateLocalGatewayRouteTableVpcAssociationOutcome> CreateLocalGatewayRouteTableVpcAssociationOutcomeCallable;
typedef std::future<CreateManagedPrefixListOutcome> CreateManagedPrefixListOutcomeCallable;
typedef std::future<CreateNatGatewayOutcome> CreateNatGatewayOutcomeCallable;
typedef std::future<CreateNetworkAclOutcome> CreateNetworkAclOutcomeCallable;
typedef std::future<CreateNetworkAclEntryOutcome> CreateNetworkAclEntryOutcomeCallable;
typedef std::future<CreateNetworkInterfaceOutcome> CreateNetworkInterfaceOutcomeCallable;
typedef std::future<CreateNetworkInterfacePermissionOutcome> CreateNetworkInterfacePermissionOutcomeCallable;
typedef std::future<CreatePlacementGroupOutcome> CreatePlacementGroupOutcomeCallable;
typedef std::future<CreateReservedInstancesListingOutcome> CreateReservedInstancesListingOutcomeCallable;
typedef std::future<CreateRouteOutcome> CreateRouteOutcomeCallable;
typedef std::future<CreateRouteTableOutcome> CreateRouteTableOutcomeCallable;
typedef std::future<CreateSecurityGroupOutcome> CreateSecurityGroupOutcomeCallable;
typedef std::future<CreateSnapshotOutcome> CreateSnapshotOutcomeCallable;
typedef std::future<CreateSnapshotsOutcome> CreateSnapshotsOutcomeCallable;
typedef std::future<CreateSpotDatafeedSubscriptionOutcome> CreateSpotDatafeedSubscriptionOutcomeCallable;
typedef std::future<CreateSubnetOutcome> CreateSubnetOutcomeCallable;
typedef std::future<CreateTagsOutcome> CreateTagsOutcomeCallable;
typedef std::future<CreateTrafficMirrorFilterOutcome> CreateTrafficMirrorFilterOutcomeCallable;
typedef std::future<CreateTrafficMirrorFilterRuleOutcome> CreateTrafficMirrorFilterRuleOutcomeCallable;
typedef std::future<CreateTrafficMirrorSessionOutcome> CreateTrafficMirrorSessionOutcomeCallable;
typedef std::future<CreateTrafficMirrorTargetOutcome> CreateTrafficMirrorTargetOutcomeCallable;
typedef std::future<CreateTransitGatewayOutcome> CreateTransitGatewayOutcomeCallable;
typedef std::future<CreateTransitGatewayMulticastDomainOutcome> CreateTransitGatewayMulticastDomainOutcomeCallable;
typedef std::future<CreateTransitGatewayPeeringAttachmentOutcome> CreateTransitGatewayPeeringAttachmentOutcomeCallable;
typedef std::future<CreateTransitGatewayPrefixListReferenceOutcome> CreateTransitGatewayPrefixListReferenceOutcomeCallable;
typedef std::future<CreateTransitGatewayRouteOutcome> CreateTransitGatewayRouteOutcomeCallable;
typedef std::future<CreateTransitGatewayRouteTableOutcome> CreateTransitGatewayRouteTableOutcomeCallable;
typedef std::future<CreateTransitGatewayVpcAttachmentOutcome> CreateTransitGatewayVpcAttachmentOutcomeCallable;
typedef std::future<CreateVolumeOutcome> CreateVolumeOutcomeCallable;
typedef std::future<CreateVpcOutcome> CreateVpcOutcomeCallable;
typedef std::future<CreateVpcEndpointOutcome> CreateVpcEndpointOutcomeCallable;
typedef std::future<CreateVpcEndpointConnectionNotificationOutcome> CreateVpcEndpointConnectionNotificationOutcomeCallable;
typedef std::future<CreateVpcEndpointServiceConfigurationOutcome> CreateVpcEndpointServiceConfigurationOutcomeCallable;
typedef std::future<CreateVpcPeeringConnectionOutcome> CreateVpcPeeringConnectionOutcomeCallable;
typedef std::future<CreateVpnConnectionOutcome> CreateVpnConnectionOutcomeCallable;
typedef std::future<CreateVpnConnectionRouteOutcome> CreateVpnConnectionRouteOutcomeCallable;
typedef std::future<CreateVpnGatewayOutcome> CreateVpnGatewayOutcomeCallable;
typedef std::future<DeleteCarrierGatewayOutcome> DeleteCarrierGatewayOutcomeCallable;
typedef std::future<DeleteClientVpnEndpointOutcome> DeleteClientVpnEndpointOutcomeCallable;
typedef std::future<DeleteClientVpnRouteOutcome> DeleteClientVpnRouteOutcomeCallable;
typedef std::future<DeleteCustomerGatewayOutcome> DeleteCustomerGatewayOutcomeCallable;
typedef std::future<DeleteDhcpOptionsOutcome> DeleteDhcpOptionsOutcomeCallable;
typedef std::future<DeleteEgressOnlyInternetGatewayOutcome> DeleteEgressOnlyInternetGatewayOutcomeCallable;
typedef std::future<DeleteFleetsOutcome> DeleteFleetsOutcomeCallable;
typedef std::future<DeleteFlowLogsOutcome> DeleteFlowLogsOutcomeCallable;
typedef std::future<DeleteFpgaImageOutcome> DeleteFpgaImageOutcomeCallable;
typedef std::future<DeleteInternetGatewayOutcome> DeleteInternetGatewayOutcomeCallable;
typedef std::future<DeleteKeyPairOutcome> DeleteKeyPairOutcomeCallable;
typedef std::future<DeleteLaunchTemplateOutcome> DeleteLaunchTemplateOutcomeCallable;
typedef std::future<DeleteLaunchTemplateVersionsOutcome> DeleteLaunchTemplateVersionsOutcomeCallable;
typedef std::future<DeleteLocalGatewayRouteOutcome> DeleteLocalGatewayRouteOutcomeCallable;
typedef std::future<DeleteLocalGatewayRouteTableVpcAssociationOutcome> DeleteLocalGatewayRouteTableVpcAssociationOutcomeCallable;
typedef std::future<DeleteManagedPrefixListOutcome> DeleteManagedPrefixListOutcomeCallable;
typedef std::future<DeleteNatGatewayOutcome> DeleteNatGatewayOutcomeCallable;
typedef std::future<DeleteNetworkAclOutcome> DeleteNetworkAclOutcomeCallable;
typedef std::future<DeleteNetworkAclEntryOutcome> DeleteNetworkAclEntryOutcomeCallable;
typedef std::future<DeleteNetworkInterfaceOutcome> DeleteNetworkInterfaceOutcomeCallable;
typedef std::future<DeleteNetworkInterfacePermissionOutcome> DeleteNetworkInterfacePermissionOutcomeCallable;
typedef std::future<DeletePlacementGroupOutcome> DeletePlacementGroupOutcomeCallable;
typedef std::future<DeleteQueuedReservedInstancesOutcome> DeleteQueuedReservedInstancesOutcomeCallable;
typedef std::future<DeleteRouteOutcome> DeleteRouteOutcomeCallable;
typedef std::future<DeleteRouteTableOutcome> DeleteRouteTableOutcomeCallable;
typedef std::future<DeleteSecurityGroupOutcome> DeleteSecurityGroupOutcomeCallable;
typedef std::future<DeleteSnapshotOutcome> DeleteSnapshotOutcomeCallable;
typedef std::future<DeleteSpotDatafeedSubscriptionOutcome> DeleteSpotDatafeedSubscriptionOutcomeCallable;
typedef std::future<DeleteSubnetOutcome> DeleteSubnetOutcomeCallable;
typedef std::future<DeleteTagsOutcome> DeleteTagsOutcomeCallable;
typedef std::future<DeleteTrafficMirrorFilterOutcome> DeleteTrafficMirrorFilterOutcomeCallable;
typedef std::future<DeleteTrafficMirrorFilterRuleOutcome> DeleteTrafficMirrorFilterRuleOutcomeCallable;
typedef std::future<DeleteTrafficMirrorSessionOutcome> DeleteTrafficMirrorSessionOutcomeCallable;
typedef std::future<DeleteTrafficMirrorTargetOutcome> DeleteTrafficMirrorTargetOutcomeCallable;
typedef std::future<DeleteTransitGatewayOutcome> DeleteTransitGatewayOutcomeCallable;
typedef std::future<DeleteTransitGatewayMulticastDomainOutcome> DeleteTransitGatewayMulticastDomainOutcomeCallable;
typedef std::future<DeleteTransitGatewayPeeringAttachmentOutcome> DeleteTransitGatewayPeeringAttachmentOutcomeCallable;
typedef std::future<DeleteTransitGatewayPrefixListReferenceOutcome> DeleteTransitGatewayPrefixListReferenceOutcomeCallable;
typedef std::future<DeleteTransitGatewayRouteOutcome> DeleteTransitGatewayRouteOutcomeCallable;
typedef std::future<DeleteTransitGatewayRouteTableOutcome> DeleteTransitGatewayRouteTableOutcomeCallable;
typedef std::future<DeleteTransitGatewayVpcAttachmentOutcome> DeleteTransitGatewayVpcAttachmentOutcomeCallable;
typedef std::future<DeleteVolumeOutcome> DeleteVolumeOutcomeCallable;
typedef std::future<DeleteVpcOutcome> DeleteVpcOutcomeCallable;
typedef std::future<DeleteVpcEndpointConnectionNotificationsOutcome> DeleteVpcEndpointConnectionNotificationsOutcomeCallable;
typedef std::future<DeleteVpcEndpointServiceConfigurationsOutcome> DeleteVpcEndpointServiceConfigurationsOutcomeCallable;
typedef std::future<DeleteVpcEndpointsOutcome> DeleteVpcEndpointsOutcomeCallable;
typedef std::future<DeleteVpcPeeringConnectionOutcome> DeleteVpcPeeringConnectionOutcomeCallable;
typedef std::future<DeleteVpnConnectionOutcome> DeleteVpnConnectionOutcomeCallable;
typedef std::future<DeleteVpnConnectionRouteOutcome> DeleteVpnConnectionRouteOutcomeCallable;
typedef std::future<DeleteVpnGatewayOutcome> DeleteVpnGatewayOutcomeCallable;
typedef std::future<DeprovisionByoipCidrOutcome> DeprovisionByoipCidrOutcomeCallable;
typedef std::future<DeregisterImageOutcome> DeregisterImageOutcomeCallable;
typedef std::future<DeregisterInstanceEventNotificationAttributesOutcome> DeregisterInstanceEventNotificationAttributesOutcomeCallable;
typedef std::future<DeregisterTransitGatewayMulticastGroupMembersOutcome> DeregisterTransitGatewayMulticastGroupMembersOutcomeCallable;
typedef std::future<DeregisterTransitGatewayMulticastGroupSourcesOutcome> DeregisterTransitGatewayMulticastGroupSourcesOutcomeCallable;
typedef std::future<DescribeAccountAttributesOutcome> DescribeAccountAttributesOutcomeCallable;
typedef std::future<DescribeAddressesOutcome> DescribeAddressesOutcomeCallable;
typedef std::future<DescribeAggregateIdFormatOutcome> DescribeAggregateIdFormatOutcomeCallable;
typedef std::future<DescribeAvailabilityZonesOutcome> DescribeAvailabilityZonesOutcomeCallable;
typedef std::future<DescribeBundleTasksOutcome> DescribeBundleTasksOutcomeCallable;
typedef std::future<DescribeByoipCidrsOutcome> DescribeByoipCidrsOutcomeCallable;
typedef std::future<DescribeCapacityReservationsOutcome> DescribeCapacityReservationsOutcomeCallable;
typedef std::future<DescribeCarrierGatewaysOutcome> DescribeCarrierGatewaysOutcomeCallable;
typedef std::future<DescribeClassicLinkInstancesOutcome> DescribeClassicLinkInstancesOutcomeCallable;
typedef std::future<DescribeClientVpnAuthorizationRulesOutcome> DescribeClientVpnAuthorizationRulesOutcomeCallable;
typedef std::future<DescribeClientVpnConnectionsOutcome> DescribeClientVpnConnectionsOutcomeCallable;
typedef std::future<DescribeClientVpnEndpointsOutcome> DescribeClientVpnEndpointsOutcomeCallable;
typedef std::future<DescribeClientVpnRoutesOutcome> DescribeClientVpnRoutesOutcomeCallable;
typedef std::future<DescribeClientVpnTargetNetworksOutcome> DescribeClientVpnTargetNetworksOutcomeCallable;
typedef std::future<DescribeCoipPoolsOutcome> DescribeCoipPoolsOutcomeCallable;
typedef std::future<DescribeConversionTasksOutcome> DescribeConversionTasksOutcomeCallable;
typedef std::future<DescribeCustomerGatewaysOutcome> DescribeCustomerGatewaysOutcomeCallable;
typedef std::future<DescribeDhcpOptionsOutcome> DescribeDhcpOptionsOutcomeCallable;
typedef std::future<DescribeEgressOnlyInternetGatewaysOutcome> DescribeEgressOnlyInternetGatewaysOutcomeCallable;
typedef std::future<DescribeElasticGpusOutcome> DescribeElasticGpusOutcomeCallable;
typedef std::future<DescribeExportImageTasksOutcome> DescribeExportImageTasksOutcomeCallable;
typedef std::future<DescribeExportTasksOutcome> DescribeExportTasksOutcomeCallable;
typedef std::future<DescribeFastSnapshotRestoresOutcome> DescribeFastSnapshotRestoresOutcomeCallable;
typedef std::future<DescribeFleetHistoryOutcome> DescribeFleetHistoryOutcomeCallable;
typedef std::future<DescribeFleetInstancesOutcome> DescribeFleetInstancesOutcomeCallable;
typedef std::future<DescribeFleetsOutcome> DescribeFleetsOutcomeCallable;
typedef std::future<DescribeFlowLogsOutcome> DescribeFlowLogsOutcomeCallable;
typedef std::future<DescribeFpgaImageAttributeOutcome> DescribeFpgaImageAttributeOutcomeCallable;
typedef std::future<DescribeFpgaImagesOutcome> DescribeFpgaImagesOutcomeCallable;
typedef std::future<DescribeHostReservationOfferingsOutcome> DescribeHostReservationOfferingsOutcomeCallable;
typedef std::future<DescribeHostReservationsOutcome> DescribeHostReservationsOutcomeCallable;
typedef std::future<DescribeHostsOutcome> DescribeHostsOutcomeCallable;
typedef std::future<DescribeIamInstanceProfileAssociationsOutcome> DescribeIamInstanceProfileAssociationsOutcomeCallable;
typedef std::future<DescribeIdFormatOutcome> DescribeIdFormatOutcomeCallable;
typedef std::future<DescribeIdentityIdFormatOutcome> DescribeIdentityIdFormatOutcomeCallable;
typedef std::future<DescribeImageAttributeOutcome> DescribeImageAttributeOutcomeCallable;
typedef std::future<DescribeImagesOutcome> DescribeImagesOutcomeCallable;
typedef std::future<DescribeImportImageTasksOutcome> DescribeImportImageTasksOutcomeCallable;
typedef std::future<DescribeImportSnapshotTasksOutcome> DescribeImportSnapshotTasksOutcomeCallable;
typedef std::future<DescribeInstanceAttributeOutcome> DescribeInstanceAttributeOutcomeCallable;
typedef std::future<DescribeInstanceCreditSpecificationsOutcome> DescribeInstanceCreditSpecificationsOutcomeCallable;
typedef std::future<DescribeInstanceEventNotificationAttributesOutcome> DescribeInstanceEventNotificationAttributesOutcomeCallable;
typedef std::future<DescribeInstanceStatusOutcome> DescribeInstanceStatusOutcomeCallable;
typedef std::future<DescribeInstanceTypeOfferingsOutcome> DescribeInstanceTypeOfferingsOutcomeCallable;
typedef std::future<DescribeInstanceTypesOutcome> DescribeInstanceTypesOutcomeCallable;
typedef std::future<DescribeInstancesOutcome> DescribeInstancesOutcomeCallable;
typedef std::future<DescribeInternetGatewaysOutcome> DescribeInternetGatewaysOutcomeCallable;
typedef std::future<DescribeIpv6PoolsOutcome> DescribeIpv6PoolsOutcomeCallable;
typedef std::future<DescribeKeyPairsOutcome> DescribeKeyPairsOutcomeCallable;
typedef std::future<DescribeLaunchTemplateVersionsOutcome> DescribeLaunchTemplateVersionsOutcomeCallable;
typedef std::future<DescribeLaunchTemplatesOutcome> DescribeLaunchTemplatesOutcomeCallable;
typedef std::future<DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutcome> DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutcomeCallable;
typedef std::future<DescribeLocalGatewayRouteTableVpcAssociationsOutcome> DescribeLocalGatewayRouteTableVpcAssociationsOutcomeCallable;
typedef std::future<DescribeLocalGatewayRouteTablesOutcome> DescribeLocalGatewayRouteTablesOutcomeCallable;
typedef std::future<DescribeLocalGatewayVirtualInterfaceGroupsOutcome> DescribeLocalGatewayVirtualInterfaceGroupsOutcomeCallable;
typedef std::future<DescribeLocalGatewayVirtualInterfacesOutcome> DescribeLocalGatewayVirtualInterfacesOutcomeCallable;
typedef std::future<DescribeLocalGatewaysOutcome> DescribeLocalGatewaysOutcomeCallable;
typedef std::future<DescribeManagedPrefixListsOutcome> DescribeManagedPrefixListsOutcomeCallable;
typedef std::future<DescribeMovingAddressesOutcome> DescribeMovingAddressesOutcomeCallable;
typedef std::future<DescribeNatGatewaysOutcome> DescribeNatGatewaysOutcomeCallable;
typedef std::future<DescribeNetworkAclsOutcome> DescribeNetworkAclsOutcomeCallable;
typedef std::future<DescribeNetworkInterfaceAttributeOutcome> DescribeNetworkInterfaceAttributeOutcomeCallable;
typedef std::future<DescribeNetworkInterfacePermissionsOutcome> DescribeNetworkInterfacePermissionsOutcomeCallable;
typedef std::future<DescribeNetworkInterfacesOutcome> DescribeNetworkInterfacesOutcomeCallable;
typedef std::future<DescribePlacementGroupsOutcome> DescribePlacementGroupsOutcomeCallable;
typedef std::future<DescribePrefixListsOutcome> DescribePrefixListsOutcomeCallable;
typedef std::future<DescribePrincipalIdFormatOutcome> DescribePrincipalIdFormatOutcomeCallable;
typedef std::future<DescribePublicIpv4PoolsOutcome> DescribePublicIpv4PoolsOutcomeCallable;
typedef std::future<DescribeRegionsOutcome> DescribeRegionsOutcomeCallable;
typedef std::future<DescribeReservedInstancesOutcome> DescribeReservedInstancesOutcomeCallable;
typedef std::future<DescribeReservedInstancesListingsOutcome> DescribeReservedInstancesListingsOutcomeCallable;
typedef std::future<DescribeReservedInstancesModificationsOutcome> DescribeReservedInstancesModificationsOutcomeCallable;
typedef std::future<DescribeReservedInstancesOfferingsOutcome> DescribeReservedInstancesOfferingsOutcomeCallable;
typedef std::future<DescribeRouteTablesOutcome> DescribeRouteTablesOutcomeCallable;
typedef std::future<DescribeScheduledInstanceAvailabilityOutcome> DescribeScheduledInstanceAvailabilityOutcomeCallable;
typedef std::future<DescribeScheduledInstancesOutcome> DescribeScheduledInstancesOutcomeCallable;
typedef std::future<DescribeSecurityGroupReferencesOutcome> DescribeSecurityGroupReferencesOutcomeCallable;
typedef std::future<DescribeSecurityGroupsOutcome> DescribeSecurityGroupsOutcomeCallable;
typedef std::future<DescribeSnapshotAttributeOutcome> DescribeSnapshotAttributeOutcomeCallable;
typedef std::future<DescribeSnapshotsOutcome> DescribeSnapshotsOutcomeCallable;
typedef std::future<DescribeSpotDatafeedSubscriptionOutcome> DescribeSpotDatafeedSubscriptionOutcomeCallable;
typedef std::future<DescribeSpotFleetInstancesOutcome> DescribeSpotFleetInstancesOutcomeCallable;
typedef std::future<DescribeSpotFleetRequestHistoryOutcome> DescribeSpotFleetRequestHistoryOutcomeCallable;
typedef std::future<DescribeSpotFleetRequestsOutcome> DescribeSpotFleetRequestsOutcomeCallable;
typedef std::future<DescribeSpotInstanceRequestsOutcome> DescribeSpotInstanceRequestsOutcomeCallable;
typedef std::future<DescribeSpotPriceHistoryOutcome> DescribeSpotPriceHistoryOutcomeCallable;
typedef std::future<DescribeStaleSecurityGroupsOutcome> DescribeStaleSecurityGroupsOutcomeCallable;
typedef std::future<DescribeSubnetsOutcome> DescribeSubnetsOutcomeCallable;
typedef std::future<DescribeTagsOutcome> DescribeTagsOutcomeCallable;
typedef std::future<DescribeTrafficMirrorFiltersOutcome> DescribeTrafficMirrorFiltersOutcomeCallable;
typedef std::future<DescribeTrafficMirrorSessionsOutcome> DescribeTrafficMirrorSessionsOutcomeCallable;
typedef std::future<DescribeTrafficMirrorTargetsOutcome> DescribeTrafficMirrorTargetsOutcomeCallable;
typedef std::future<DescribeTransitGatewayAttachmentsOutcome> DescribeTransitGatewayAttachmentsOutcomeCallable;
typedef std::future<DescribeTransitGatewayMulticastDomainsOutcome> DescribeTransitGatewayMulticastDomainsOutcomeCallable;
typedef std::future<DescribeTransitGatewayPeeringAttachmentsOutcome> DescribeTransitGatewayPeeringAttachmentsOutcomeCallable;
typedef std::future<DescribeTransitGatewayRouteTablesOutcome> DescribeTransitGatewayRouteTablesOutcomeCallable;
typedef std::future<DescribeTransitGatewayVpcAttachmentsOutcome> DescribeTransitGatewayVpcAttachmentsOutcomeCallable;
typedef std::future<DescribeTransitGatewaysOutcome> DescribeTransitGatewaysOutcomeCallable;
typedef std::future<DescribeVolumeAttributeOutcome> DescribeVolumeAttributeOutcomeCallable;
typedef std::future<DescribeVolumeStatusOutcome> DescribeVolumeStatusOutcomeCallable;
typedef std::future<DescribeVolumesOutcome> DescribeVolumesOutcomeCallable;
typedef std::future<DescribeVolumesModificationsOutcome> DescribeVolumesModificationsOutcomeCallable;
typedef std::future<DescribeVpcAttributeOutcome> DescribeVpcAttributeOutcomeCallable;
typedef std::future<DescribeVpcClassicLinkOutcome> DescribeVpcClassicLinkOutcomeCallable;
typedef std::future<DescribeVpcClassicLinkDnsSupportOutcome> DescribeVpcClassicLinkDnsSupportOutcomeCallable;
typedef std::future<DescribeVpcEndpointConnectionNotificationsOutcome> DescribeVpcEndpointConnectionNotificationsOutcomeCallable;
typedef std::future<DescribeVpcEndpointConnectionsOutcome> DescribeVpcEndpointConnectionsOutcomeCallable;
typedef std::future<DescribeVpcEndpointServiceConfigurationsOutcome> DescribeVpcEndpointServiceConfigurationsOutcomeCallable;
typedef std::future<DescribeVpcEndpointServicePermissionsOutcome> DescribeVpcEndpointServicePermissionsOutcomeCallable;
typedef std::future<DescribeVpcEndpointServicesOutcome> DescribeVpcEndpointServicesOutcomeCallable;
typedef std::future<DescribeVpcEndpointsOutcome> DescribeVpcEndpointsOutcomeCallable;
typedef std::future<DescribeVpcPeeringConnectionsOutcome> DescribeVpcPeeringConnectionsOutcomeCallable;
typedef std::future<DescribeVpcsOutcome> DescribeVpcsOutcomeCallable;
typedef std::future<DescribeVpnConnectionsOutcome> DescribeVpnConnectionsOutcomeCallable;
typedef std::future<DescribeVpnGatewaysOutcome> DescribeVpnGatewaysOutcomeCallable;
typedef std::future<DetachClassicLinkVpcOutcome> DetachClassicLinkVpcOutcomeCallable;
typedef std::future<DetachInternetGatewayOutcome> DetachInternetGatewayOutcomeCallable;
typedef std::future<DetachNetworkInterfaceOutcome> DetachNetworkInterfaceOutcomeCallable;
typedef std::future<DetachVolumeOutcome> DetachVolumeOutcomeCallable;
typedef std::future<DetachVpnGatewayOutcome> DetachVpnGatewayOutcomeCallable;
typedef std::future<DisableEbsEncryptionByDefaultOutcome> DisableEbsEncryptionByDefaultOutcomeCallable;
typedef std::future<DisableFastSnapshotRestoresOutcome> DisableFastSnapshotRestoresOutcomeCallable;
typedef std::future<DisableTransitGatewayRouteTablePropagationOutcome> DisableTransitGatewayRouteTablePropagationOutcomeCallable;
typedef std::future<DisableVgwRoutePropagationOutcome> DisableVgwRoutePropagationOutcomeCallable;
typedef std::future<DisableVpcClassicLinkOutcome> DisableVpcClassicLinkOutcomeCallable;
typedef std::future<DisableVpcClassicLinkDnsSupportOutcome> DisableVpcClassicLinkDnsSupportOutcomeCallable;
typedef std::future<DisassociateAddressOutcome> DisassociateAddressOutcomeCallable;
typedef std::future<DisassociateClientVpnTargetNetworkOutcome> DisassociateClientVpnTargetNetworkOutcomeCallable;
typedef std::future<DisassociateIamInstanceProfileOutcome> DisassociateIamInstanceProfileOutcomeCallable;
typedef std::future<DisassociateRouteTableOutcome> DisassociateRouteTableOutcomeCallable;
typedef std::future<DisassociateSubnetCidrBlockOutcome> DisassociateSubnetCidrBlockOutcomeCallable;
typedef std::future<DisassociateTransitGatewayMulticastDomainOutcome> DisassociateTransitGatewayMulticastDomainOutcomeCallable;
typedef std::future<DisassociateTransitGatewayRouteTableOutcome> DisassociateTransitGatewayRouteTableOutcomeCallable;
typedef std::future<DisassociateVpcCidrBlockOutcome> DisassociateVpcCidrBlockOutcomeCallable;
typedef std::future<EnableEbsEncryptionByDefaultOutcome> EnableEbsEncryptionByDefaultOutcomeCallable;
typedef std::future<EnableFastSnapshotRestoresOutcome> EnableFastSnapshotRestoresOutcomeCallable;
typedef std::future<EnableTransitGatewayRouteTablePropagationOutcome> EnableTransitGatewayRouteTablePropagationOutcomeCallable;
typedef std::future<EnableVgwRoutePropagationOutcome> EnableVgwRoutePropagationOutcomeCallable;
typedef std::future<EnableVolumeIOOutcome> EnableVolumeIOOutcomeCallable;
typedef std::future<EnableVpcClassicLinkOutcome> EnableVpcClassicLinkOutcomeCallable;
typedef std::future<EnableVpcClassicLinkDnsSupportOutcome> EnableVpcClassicLinkDnsSupportOutcomeCallable;
typedef std::future<ExportClientVpnClientCertificateRevocationListOutcome> ExportClientVpnClientCertificateRevocationListOutcomeCallable;
typedef std::future<ExportClientVpnClientConfigurationOutcome> ExportClientVpnClientConfigurationOutcomeCallable;
typedef std::future<ExportImageOutcome> ExportImageOutcomeCallable;
typedef std::future<ExportTransitGatewayRoutesOutcome> ExportTransitGatewayRoutesOutcomeCallable;
typedef std::future<GetAssociatedIpv6PoolCidrsOutcome> GetAssociatedIpv6PoolCidrsOutcomeCallable;
typedef std::future<GetCapacityReservationUsageOutcome> GetCapacityReservationUsageOutcomeCallable;
typedef std::future<GetCoipPoolUsageOutcome> GetCoipPoolUsageOutcomeCallable;
typedef std::future<GetConsoleOutputOutcome> GetConsoleOutputOutcomeCallable;
typedef std::future<GetConsoleScreenshotOutcome> GetConsoleScreenshotOutcomeCallable;
typedef std::future<GetDefaultCreditSpecificationOutcome> GetDefaultCreditSpecificationOutcomeCallable;
typedef std::future<GetEbsDefaultKmsKeyIdOutcome> GetEbsDefaultKmsKeyIdOutcomeCallable;
typedef std::future<GetEbsEncryptionByDefaultOutcome> GetEbsEncryptionByDefaultOutcomeCallable;
typedef std::future<GetGroupsForCapacityReservationOutcome> GetGroupsForCapacityReservationOutcomeCallable;
typedef std::future<GetHostReservationPurchasePreviewOutcome> GetHostReservationPurchasePreviewOutcomeCallable;
typedef std::future<GetLaunchTemplateDataOutcome> GetLaunchTemplateDataOutcomeCallable;
typedef std::future<GetManagedPrefixListAssociationsOutcome> GetManagedPrefixListAssociationsOutcomeCallable;
typedef std::future<GetManagedPrefixListEntriesOutcome> GetManagedPrefixListEntriesOutcomeCallable;
typedef std::future<GetPasswordDataOutcome> GetPasswordDataOutcomeCallable;
typedef std::future<GetReservedInstancesExchangeQuoteOutcome> GetReservedInstancesExchangeQuoteOutcomeCallable;
typedef std::future<GetTransitGatewayAttachmentPropagationsOutcome> GetTransitGatewayAttachmentPropagationsOutcomeCallable;
typedef std::future<GetTransitGatewayMulticastDomainAssociationsOutcome> GetTransitGatewayMulticastDomainAssociationsOutcomeCallable;
typedef std::future<GetTransitGatewayPrefixListReferencesOutcome> GetTransitGatewayPrefixListReferencesOutcomeCallable;
typedef std::future<GetTransitGatewayRouteTableAssociationsOutcome> GetTransitGatewayRouteTableAssociationsOutcomeCallable;
typedef std::future<GetTransitGatewayRouteTablePropagationsOutcome> GetTransitGatewayRouteTablePropagationsOutcomeCallable;
typedef std::future<ImportClientVpnClientCertificateRevocationListOutcome> ImportClientVpnClientCertificateRevocationListOutcomeCallable;
typedef std::future<ImportImageOutcome> ImportImageOutcomeCallable;
typedef std::future<ImportInstanceOutcome> ImportInstanceOutcomeCallable;
typedef std::future<ImportKeyPairOutcome> ImportKeyPairOutcomeCallable;
typedef std::future<ImportSnapshotOutcome> ImportSnapshotOutcomeCallable;
typedef std::future<ImportVolumeOutcome> ImportVolumeOutcomeCallable;
typedef std::future<ModifyAvailabilityZoneGroupOutcome> ModifyAvailabilityZoneGroupOutcomeCallable;
typedef std::future<ModifyCapacityReservationOutcome> ModifyCapacityReservationOutcomeCallable;
typedef std::future<ModifyClientVpnEndpointOutcome> ModifyClientVpnEndpointOutcomeCallable;
typedef std::future<ModifyDefaultCreditSpecificationOutcome> ModifyDefaultCreditSpecificationOutcomeCallable;
typedef std::future<ModifyEbsDefaultKmsKeyIdOutcome> ModifyEbsDefaultKmsKeyIdOutcomeCallable;
typedef std::future<ModifyFleetOutcome> ModifyFleetOutcomeCallable;
typedef std::future<ModifyFpgaImageAttributeOutcome> ModifyFpgaImageAttributeOutcomeCallable;
typedef std::future<ModifyHostsOutcome> ModifyHostsOutcomeCallable;
typedef std::future<ModifyIdFormatOutcome> ModifyIdFormatOutcomeCallable;
typedef std::future<ModifyIdentityIdFormatOutcome> ModifyIdentityIdFormatOutcomeCallable;
typedef std::future<ModifyImageAttributeOutcome> ModifyImageAttributeOutcomeCallable;
typedef std::future<ModifyInstanceAttributeOutcome> ModifyInstanceAttributeOutcomeCallable;
typedef std::future<ModifyInstanceCapacityReservationAttributesOutcome> ModifyInstanceCapacityReservationAttributesOutcomeCallable;
typedef std::future<ModifyInstanceCreditSpecificationOutcome> ModifyInstanceCreditSpecificationOutcomeCallable;
typedef std::future<ModifyInstanceEventStartTimeOutcome> ModifyInstanceEventStartTimeOutcomeCallable;
typedef std::future<ModifyInstanceMetadataOptionsOutcome> ModifyInstanceMetadataOptionsOutcomeCallable;
typedef std::future<ModifyInstancePlacementOutcome> ModifyInstancePlacementOutcomeCallable;
typedef std::future<ModifyLaunchTemplateOutcome> ModifyLaunchTemplateOutcomeCallable;
typedef std::future<ModifyManagedPrefixListOutcome> ModifyManagedPrefixListOutcomeCallable;
typedef std::future<ModifyNetworkInterfaceAttributeOutcome> ModifyNetworkInterfaceAttributeOutcomeCallable;
typedef std::future<ModifyReservedInstancesOutcome> ModifyReservedInstancesOutcomeCallable;
typedef std::future<ModifySnapshotAttributeOutcome> ModifySnapshotAttributeOutcomeCallable;
typedef std::future<ModifySpotFleetRequestOutcome> ModifySpotFleetRequestOutcomeCallable;
typedef std::future<ModifySubnetAttributeOutcome> ModifySubnetAttributeOutcomeCallable;
typedef std::future<ModifyTrafficMirrorFilterNetworkServicesOutcome> ModifyTrafficMirrorFilterNetworkServicesOutcomeCallable;
typedef std::future<ModifyTrafficMirrorFilterRuleOutcome> ModifyTrafficMirrorFilterRuleOutcomeCallable;
typedef std::future<ModifyTrafficMirrorSessionOutcome> ModifyTrafficMirrorSessionOutcomeCallable;
typedef std::future<ModifyTransitGatewayOutcome> ModifyTransitGatewayOutcomeCallable;
typedef std::future<ModifyTransitGatewayPrefixListReferenceOutcome> ModifyTransitGatewayPrefixListReferenceOutcomeCallable;
typedef std::future<ModifyTransitGatewayVpcAttachmentOutcome> ModifyTransitGatewayVpcAttachmentOutcomeCallable;
typedef std::future<ModifyVolumeOutcome> ModifyVolumeOutcomeCallable;
typedef std::future<ModifyVolumeAttributeOutcome> ModifyVolumeAttributeOutcomeCallable;
typedef std::future<ModifyVpcAttributeOutcome> ModifyVpcAttributeOutcomeCallable;
typedef std::future<ModifyVpcEndpointOutcome> ModifyVpcEndpointOutcomeCallable;
typedef std::future<ModifyVpcEndpointConnectionNotificationOutcome> ModifyVpcEndpointConnectionNotificationOutcomeCallable;
typedef std::future<ModifyVpcEndpointServiceConfigurationOutcome> ModifyVpcEndpointServiceConfigurationOutcomeCallable;
typedef std::future<ModifyVpcEndpointServicePermissionsOutcome> ModifyVpcEndpointServicePermissionsOutcomeCallable;
typedef std::future<ModifyVpcPeeringConnectionOptionsOutcome> ModifyVpcPeeringConnectionOptionsOutcomeCallable;
typedef std::future<ModifyVpcTenancyOutcome> ModifyVpcTenancyOutcomeCallable;
typedef std::future<ModifyVpnConnectionOutcome> ModifyVpnConnectionOutcomeCallable;
typedef std::future<ModifyVpnTunnelCertificateOutcome> ModifyVpnTunnelCertificateOutcomeCallable;
typedef std::future<ModifyVpnTunnelOptionsOutcome> ModifyVpnTunnelOptionsOutcomeCallable;
typedef std::future<MonitorInstancesOutcome> MonitorInstancesOutcomeCallable;
typedef std::future<MoveAddressToVpcOutcome> MoveAddressToVpcOutcomeCallable;
typedef std::future<ProvisionByoipCidrOutcome> ProvisionByoipCidrOutcomeCallable;
typedef std::future<PurchaseHostReservationOutcome> PurchaseHostReservationOutcomeCallable;
typedef std::future<PurchaseReservedInstancesOfferingOutcome> PurchaseReservedInstancesOfferingOutcomeCallable;
typedef std::future<PurchaseScheduledInstancesOutcome> PurchaseScheduledInstancesOutcomeCallable;
typedef std::future<RebootInstancesOutcome> RebootInstancesOutcomeCallable;
typedef std::future<RegisterImageOutcome> RegisterImageOutcomeCallable;
typedef std::future<RegisterInstanceEventNotificationAttributesOutcome> RegisterInstanceEventNotificationAttributesOutcomeCallable;
typedef std::future<RegisterTransitGatewayMulticastGroupMembersOutcome> RegisterTransitGatewayMulticastGroupMembersOutcomeCallable;
typedef std::future<RegisterTransitGatewayMulticastGroupSourcesOutcome> RegisterTransitGatewayMulticastGroupSourcesOutcomeCallable;
typedef std::future<RejectTransitGatewayPeeringAttachmentOutcome> RejectTransitGatewayPeeringAttachmentOutcomeCallable;
typedef std::future<RejectTransitGatewayVpcAttachmentOutcome> RejectTransitGatewayVpcAttachmentOutcomeCallable;
typedef std::future<RejectVpcEndpointConnectionsOutcome> RejectVpcEndpointConnectionsOutcomeCallable;
typedef std::future<RejectVpcPeeringConnectionOutcome> RejectVpcPeeringConnectionOutcomeCallable;
typedef std::future<ReleaseAddressOutcome> ReleaseAddressOutcomeCallable;
typedef std::future<ReleaseHostsOutcome> ReleaseHostsOutcomeCallable;
typedef std::future<ReplaceIamInstanceProfileAssociationOutcome> ReplaceIamInstanceProfileAssociationOutcomeCallable;
typedef std::future<ReplaceNetworkAclAssociationOutcome> ReplaceNetworkAclAssociationOutcomeCallable;
typedef std::future<ReplaceNetworkAclEntryOutcome> ReplaceNetworkAclEntryOutcomeCallable;
typedef std::future<ReplaceRouteOutcome> ReplaceRouteOutcomeCallable;
typedef std::future<ReplaceRouteTableAssociationOutcome> ReplaceRouteTableAssociationOutcomeCallable;
typedef std::future<ReplaceTransitGatewayRouteOutcome> ReplaceTransitGatewayRouteOutcomeCallable;
typedef std::future<ReportInstanceStatusOutcome> ReportInstanceStatusOutcomeCallable;
typedef std::future<RequestSpotFleetOutcome> RequestSpotFleetOutcomeCallable;
typedef std::future<RequestSpotInstancesOutcome> RequestSpotInstancesOutcomeCallable;
typedef std::future<ResetEbsDefaultKmsKeyIdOutcome> ResetEbsDefaultKmsKeyIdOutcomeCallable;
typedef std::future<ResetFpgaImageAttributeOutcome> ResetFpgaImageAttributeOutcomeCallable;
typedef std::future<ResetImageAttributeOutcome> ResetImageAttributeOutcomeCallable;
typedef std::future<ResetInstanceAttributeOutcome> ResetInstanceAttributeOutcomeCallable;
typedef std::future<ResetNetworkInterfaceAttributeOutcome> ResetNetworkInterfaceAttributeOutcomeCallable;
typedef std::future<ResetSnapshotAttributeOutcome> ResetSnapshotAttributeOutcomeCallable;
typedef std::future<RestoreAddressToClassicOutcome> RestoreAddressToClassicOutcomeCallable;
typedef std::future<RestoreManagedPrefixListVersionOutcome> RestoreManagedPrefixListVersionOutcomeCallable;
typedef std::future<RevokeClientVpnIngressOutcome> RevokeClientVpnIngressOutcomeCallable;
typedef std::future<RevokeSecurityGroupEgressOutcome> RevokeSecurityGroupEgressOutcomeCallable;
typedef std::future<RevokeSecurityGroupIngressOutcome> RevokeSecurityGroupIngressOutcomeCallable;
typedef std::future<RunInstancesOutcome> RunInstancesOutcomeCallable;
typedef std::future<RunScheduledInstancesOutcome> RunScheduledInstancesOutcomeCallable;
typedef std::future<SearchLocalGatewayRoutesOutcome> SearchLocalGatewayRoutesOutcomeCallable;
typedef std::future<SearchTransitGatewayMulticastGroupsOutcome> SearchTransitGatewayMulticastGroupsOutcomeCallable;
typedef std::future<SearchTransitGatewayRoutesOutcome> SearchTransitGatewayRoutesOutcomeCallable;
typedef std::future<SendDiagnosticInterruptOutcome> SendDiagnosticInterruptOutcomeCallable;
typedef std::future<StartInstancesOutcome> StartInstancesOutcomeCallable;
typedef std::future<StartVpcEndpointServicePrivateDnsVerificationOutcome> StartVpcEndpointServicePrivateDnsVerificationOutcomeCallable;
typedef std::future<StopInstancesOutcome> StopInstancesOutcomeCallable;
typedef std::future<TerminateClientVpnConnectionsOutcome> TerminateClientVpnConnectionsOutcomeCallable;
typedef std::future<TerminateInstancesOutcome> TerminateInstancesOutcomeCallable;
typedef std::future<UnassignIpv6AddressesOutcome> UnassignIpv6AddressesOutcomeCallable;
typedef std::future<UnassignPrivateIpAddressesOutcome> UnassignPrivateIpAddressesOutcomeCallable;
typedef std::future<UnmonitorInstancesOutcome> UnmonitorInstancesOutcomeCallable;
typedef std::future<UpdateSecurityGroupRuleDescriptionsEgressOutcome> UpdateSecurityGroupRuleDescriptionsEgressOutcomeCallable;
typedef std::future<UpdateSecurityGroupRuleDescriptionsIngressOutcome> UpdateSecurityGroupRuleDescriptionsIngressOutcomeCallable;
typedef std::future<WithdrawByoipCidrOutcome> WithdrawByoipCidrOutcomeCallable;
} // namespace Model
class EC2Client;
typedef std::function<void(const EC2Client*, const Model::AcceptReservedInstancesExchangeQuoteRequest&, const Model::AcceptReservedInstancesExchangeQuoteOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AcceptReservedInstancesExchangeQuoteResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::AcceptTransitGatewayPeeringAttachmentRequest&, const Model::AcceptTransitGatewayPeeringAttachmentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AcceptTransitGatewayPeeringAttachmentResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::AcceptTransitGatewayVpcAttachmentRequest&, const Model::AcceptTransitGatewayVpcAttachmentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AcceptTransitGatewayVpcAttachmentResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::AcceptVpcEndpointConnectionsRequest&, const Model::AcceptVpcEndpointConnectionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AcceptVpcEndpointConnectionsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::AcceptVpcPeeringConnectionRequest&, const Model::AcceptVpcPeeringConnectionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AcceptVpcPeeringConnectionResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::AdvertiseByoipCidrRequest&, const Model::AdvertiseByoipCidrOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AdvertiseByoipCidrResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::AllocateAddressRequest&, const Model::AllocateAddressOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AllocateAddressResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::AllocateHostsRequest&, const Model::AllocateHostsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AllocateHostsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ApplySecurityGroupsToClientVpnTargetNetworkRequest&, const Model::ApplySecurityGroupsToClientVpnTargetNetworkOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ApplySecurityGroupsToClientVpnTargetNetworkResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::AssignIpv6AddressesRequest&, const Model::AssignIpv6AddressesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AssignIpv6AddressesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::AssignPrivateIpAddressesRequest&, const Model::AssignPrivateIpAddressesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AssignPrivateIpAddressesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::AssociateAddressRequest&, const Model::AssociateAddressOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AssociateAddressResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::AssociateClientVpnTargetNetworkRequest&, const Model::AssociateClientVpnTargetNetworkOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AssociateClientVpnTargetNetworkResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::AssociateDhcpOptionsRequest&, const Model::AssociateDhcpOptionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AssociateDhcpOptionsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::AssociateIamInstanceProfileRequest&, const Model::AssociateIamInstanceProfileOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AssociateIamInstanceProfileResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::AssociateRouteTableRequest&, const Model::AssociateRouteTableOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AssociateRouteTableResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::AssociateSubnetCidrBlockRequest&, const Model::AssociateSubnetCidrBlockOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AssociateSubnetCidrBlockResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::AssociateTransitGatewayMulticastDomainRequest&, const Model::AssociateTransitGatewayMulticastDomainOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AssociateTransitGatewayMulticastDomainResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::AssociateTransitGatewayRouteTableRequest&, const Model::AssociateTransitGatewayRouteTableOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AssociateTransitGatewayRouteTableResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::AssociateVpcCidrBlockRequest&, const Model::AssociateVpcCidrBlockOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AssociateVpcCidrBlockResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::AttachClassicLinkVpcRequest&, const Model::AttachClassicLinkVpcOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AttachClassicLinkVpcResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::AttachInternetGatewayRequest&, const Model::AttachInternetGatewayOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AttachInternetGatewayResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::AttachNetworkInterfaceRequest&, const Model::AttachNetworkInterfaceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AttachNetworkInterfaceResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::AttachVolumeRequest&, const Model::AttachVolumeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AttachVolumeResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::AttachVpnGatewayRequest&, const Model::AttachVpnGatewayOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AttachVpnGatewayResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::AuthorizeClientVpnIngressRequest&, const Model::AuthorizeClientVpnIngressOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AuthorizeClientVpnIngressResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::AuthorizeSecurityGroupEgressRequest&, const Model::AuthorizeSecurityGroupEgressOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AuthorizeSecurityGroupEgressResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::AuthorizeSecurityGroupIngressRequest&, const Model::AuthorizeSecurityGroupIngressOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AuthorizeSecurityGroupIngressResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::BundleInstanceRequest&, const Model::BundleInstanceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > BundleInstanceResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CancelBundleTaskRequest&, const Model::CancelBundleTaskOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CancelBundleTaskResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CancelCapacityReservationRequest&, const Model::CancelCapacityReservationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CancelCapacityReservationResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CancelConversionTaskRequest&, const Model::CancelConversionTaskOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CancelConversionTaskResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CancelExportTaskRequest&, const Model::CancelExportTaskOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CancelExportTaskResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CancelImportTaskRequest&, const Model::CancelImportTaskOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CancelImportTaskResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CancelReservedInstancesListingRequest&, const Model::CancelReservedInstancesListingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CancelReservedInstancesListingResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CancelSpotFleetRequestsRequest&, const Model::CancelSpotFleetRequestsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CancelSpotFleetRequestsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CancelSpotInstanceRequestsRequest&, const Model::CancelSpotInstanceRequestsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CancelSpotInstanceRequestsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ConfirmProductInstanceRequest&, const Model::ConfirmProductInstanceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ConfirmProductInstanceResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CopyFpgaImageRequest&, const Model::CopyFpgaImageOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CopyFpgaImageResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CopyImageRequest&, const Model::CopyImageOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CopyImageResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CopySnapshotRequest&, const Model::CopySnapshotOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CopySnapshotResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateCapacityReservationRequest&, const Model::CreateCapacityReservationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateCapacityReservationResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateCarrierGatewayRequest&, const Model::CreateCarrierGatewayOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateCarrierGatewayResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateClientVpnEndpointRequest&, const Model::CreateClientVpnEndpointOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateClientVpnEndpointResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateClientVpnRouteRequest&, const Model::CreateClientVpnRouteOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateClientVpnRouteResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateCustomerGatewayRequest&, const Model::CreateCustomerGatewayOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateCustomerGatewayResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateDefaultSubnetRequest&, const Model::CreateDefaultSubnetOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateDefaultSubnetResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateDefaultVpcRequest&, const Model::CreateDefaultVpcOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateDefaultVpcResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateDhcpOptionsRequest&, const Model::CreateDhcpOptionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateDhcpOptionsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateEgressOnlyInternetGatewayRequest&, const Model::CreateEgressOnlyInternetGatewayOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateEgressOnlyInternetGatewayResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateFleetRequest&, const Model::CreateFleetOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateFleetResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateFlowLogsRequest&, const Model::CreateFlowLogsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateFlowLogsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateFpgaImageRequest&, const Model::CreateFpgaImageOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateFpgaImageResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateImageRequest&, const Model::CreateImageOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateImageResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateInstanceExportTaskRequest&, const Model::CreateInstanceExportTaskOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateInstanceExportTaskResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateInternetGatewayRequest&, const Model::CreateInternetGatewayOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateInternetGatewayResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateKeyPairRequest&, const Model::CreateKeyPairOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateKeyPairResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateLaunchTemplateRequest&, const Model::CreateLaunchTemplateOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateLaunchTemplateResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateLaunchTemplateVersionRequest&, const Model::CreateLaunchTemplateVersionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateLaunchTemplateVersionResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateLocalGatewayRouteRequest&, const Model::CreateLocalGatewayRouteOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateLocalGatewayRouteResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateLocalGatewayRouteTableVpcAssociationRequest&, const Model::CreateLocalGatewayRouteTableVpcAssociationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateLocalGatewayRouteTableVpcAssociationResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateManagedPrefixListRequest&, const Model::CreateManagedPrefixListOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateManagedPrefixListResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateNatGatewayRequest&, const Model::CreateNatGatewayOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateNatGatewayResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateNetworkAclRequest&, const Model::CreateNetworkAclOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateNetworkAclResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateNetworkAclEntryRequest&, const Model::CreateNetworkAclEntryOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateNetworkAclEntryResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateNetworkInterfaceRequest&, const Model::CreateNetworkInterfaceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateNetworkInterfaceResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateNetworkInterfacePermissionRequest&, const Model::CreateNetworkInterfacePermissionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateNetworkInterfacePermissionResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreatePlacementGroupRequest&, const Model::CreatePlacementGroupOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreatePlacementGroupResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateReservedInstancesListingRequest&, const Model::CreateReservedInstancesListingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateReservedInstancesListingResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateRouteRequest&, const Model::CreateRouteOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateRouteResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateRouteTableRequest&, const Model::CreateRouteTableOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateRouteTableResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateSecurityGroupRequest&, const Model::CreateSecurityGroupOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateSecurityGroupResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateSnapshotRequest&, const Model::CreateSnapshotOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateSnapshotResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateSnapshotsRequest&, const Model::CreateSnapshotsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateSnapshotsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateSpotDatafeedSubscriptionRequest&, const Model::CreateSpotDatafeedSubscriptionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateSpotDatafeedSubscriptionResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateSubnetRequest&, const Model::CreateSubnetOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateSubnetResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateTagsRequest&, const Model::CreateTagsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateTagsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateTrafficMirrorFilterRequest&, const Model::CreateTrafficMirrorFilterOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateTrafficMirrorFilterResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateTrafficMirrorFilterRuleRequest&, const Model::CreateTrafficMirrorFilterRuleOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateTrafficMirrorFilterRuleResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateTrafficMirrorSessionRequest&, const Model::CreateTrafficMirrorSessionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateTrafficMirrorSessionResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateTrafficMirrorTargetRequest&, const Model::CreateTrafficMirrorTargetOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateTrafficMirrorTargetResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateTransitGatewayRequest&, const Model::CreateTransitGatewayOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateTransitGatewayResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateTransitGatewayMulticastDomainRequest&, const Model::CreateTransitGatewayMulticastDomainOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateTransitGatewayMulticastDomainResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateTransitGatewayPeeringAttachmentRequest&, const Model::CreateTransitGatewayPeeringAttachmentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateTransitGatewayPeeringAttachmentResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateTransitGatewayPrefixListReferenceRequest&, const Model::CreateTransitGatewayPrefixListReferenceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateTransitGatewayPrefixListReferenceResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateTransitGatewayRouteRequest&, const Model::CreateTransitGatewayRouteOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateTransitGatewayRouteResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateTransitGatewayRouteTableRequest&, const Model::CreateTransitGatewayRouteTableOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateTransitGatewayRouteTableResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateTransitGatewayVpcAttachmentRequest&, const Model::CreateTransitGatewayVpcAttachmentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateTransitGatewayVpcAttachmentResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateVolumeRequest&, const Model::CreateVolumeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateVolumeResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateVpcRequest&, const Model::CreateVpcOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateVpcResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateVpcEndpointRequest&, const Model::CreateVpcEndpointOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateVpcEndpointResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateVpcEndpointConnectionNotificationRequest&, const Model::CreateVpcEndpointConnectionNotificationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateVpcEndpointConnectionNotificationResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateVpcEndpointServiceConfigurationRequest&, const Model::CreateVpcEndpointServiceConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateVpcEndpointServiceConfigurationResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateVpcPeeringConnectionRequest&, const Model::CreateVpcPeeringConnectionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateVpcPeeringConnectionResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateVpnConnectionRequest&, const Model::CreateVpnConnectionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateVpnConnectionResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateVpnConnectionRouteRequest&, const Model::CreateVpnConnectionRouteOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateVpnConnectionRouteResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::CreateVpnGatewayRequest&, const Model::CreateVpnGatewayOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateVpnGatewayResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteCarrierGatewayRequest&, const Model::DeleteCarrierGatewayOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteCarrierGatewayResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteClientVpnEndpointRequest&, const Model::DeleteClientVpnEndpointOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteClientVpnEndpointResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteClientVpnRouteRequest&, const Model::DeleteClientVpnRouteOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteClientVpnRouteResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteCustomerGatewayRequest&, const Model::DeleteCustomerGatewayOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteCustomerGatewayResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteDhcpOptionsRequest&, const Model::DeleteDhcpOptionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteDhcpOptionsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteEgressOnlyInternetGatewayRequest&, const Model::DeleteEgressOnlyInternetGatewayOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteEgressOnlyInternetGatewayResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteFleetsRequest&, const Model::DeleteFleetsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteFleetsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteFlowLogsRequest&, const Model::DeleteFlowLogsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteFlowLogsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteFpgaImageRequest&, const Model::DeleteFpgaImageOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteFpgaImageResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteInternetGatewayRequest&, const Model::DeleteInternetGatewayOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteInternetGatewayResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteKeyPairRequest&, const Model::DeleteKeyPairOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteKeyPairResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteLaunchTemplateRequest&, const Model::DeleteLaunchTemplateOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteLaunchTemplateResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteLaunchTemplateVersionsRequest&, const Model::DeleteLaunchTemplateVersionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteLaunchTemplateVersionsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteLocalGatewayRouteRequest&, const Model::DeleteLocalGatewayRouteOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteLocalGatewayRouteResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteLocalGatewayRouteTableVpcAssociationRequest&, const Model::DeleteLocalGatewayRouteTableVpcAssociationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteLocalGatewayRouteTableVpcAssociationResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteManagedPrefixListRequest&, const Model::DeleteManagedPrefixListOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteManagedPrefixListResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteNatGatewayRequest&, const Model::DeleteNatGatewayOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteNatGatewayResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteNetworkAclRequest&, const Model::DeleteNetworkAclOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteNetworkAclResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteNetworkAclEntryRequest&, const Model::DeleteNetworkAclEntryOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteNetworkAclEntryResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteNetworkInterfaceRequest&, const Model::DeleteNetworkInterfaceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteNetworkInterfaceResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteNetworkInterfacePermissionRequest&, const Model::DeleteNetworkInterfacePermissionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteNetworkInterfacePermissionResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeletePlacementGroupRequest&, const Model::DeletePlacementGroupOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeletePlacementGroupResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteQueuedReservedInstancesRequest&, const Model::DeleteQueuedReservedInstancesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteQueuedReservedInstancesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteRouteRequest&, const Model::DeleteRouteOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteRouteResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteRouteTableRequest&, const Model::DeleteRouteTableOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteRouteTableResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteSecurityGroupRequest&, const Model::DeleteSecurityGroupOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteSecurityGroupResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteSnapshotRequest&, const Model::DeleteSnapshotOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteSnapshotResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteSpotDatafeedSubscriptionRequest&, const Model::DeleteSpotDatafeedSubscriptionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteSpotDatafeedSubscriptionResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteSubnetRequest&, const Model::DeleteSubnetOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteSubnetResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteTagsRequest&, const Model::DeleteTagsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteTagsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteTrafficMirrorFilterRequest&, const Model::DeleteTrafficMirrorFilterOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteTrafficMirrorFilterResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteTrafficMirrorFilterRuleRequest&, const Model::DeleteTrafficMirrorFilterRuleOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteTrafficMirrorFilterRuleResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteTrafficMirrorSessionRequest&, const Model::DeleteTrafficMirrorSessionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteTrafficMirrorSessionResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteTrafficMirrorTargetRequest&, const Model::DeleteTrafficMirrorTargetOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteTrafficMirrorTargetResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteTransitGatewayRequest&, const Model::DeleteTransitGatewayOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteTransitGatewayResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteTransitGatewayMulticastDomainRequest&, const Model::DeleteTransitGatewayMulticastDomainOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteTransitGatewayMulticastDomainResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteTransitGatewayPeeringAttachmentRequest&, const Model::DeleteTransitGatewayPeeringAttachmentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteTransitGatewayPeeringAttachmentResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteTransitGatewayPrefixListReferenceRequest&, const Model::DeleteTransitGatewayPrefixListReferenceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteTransitGatewayPrefixListReferenceResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteTransitGatewayRouteRequest&, const Model::DeleteTransitGatewayRouteOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteTransitGatewayRouteResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteTransitGatewayRouteTableRequest&, const Model::DeleteTransitGatewayRouteTableOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteTransitGatewayRouteTableResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteTransitGatewayVpcAttachmentRequest&, const Model::DeleteTransitGatewayVpcAttachmentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteTransitGatewayVpcAttachmentResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteVolumeRequest&, const Model::DeleteVolumeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteVolumeResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteVpcRequest&, const Model::DeleteVpcOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteVpcResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteVpcEndpointConnectionNotificationsRequest&, const Model::DeleteVpcEndpointConnectionNotificationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteVpcEndpointConnectionNotificationsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteVpcEndpointServiceConfigurationsRequest&, const Model::DeleteVpcEndpointServiceConfigurationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteVpcEndpointServiceConfigurationsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteVpcEndpointsRequest&, const Model::DeleteVpcEndpointsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteVpcEndpointsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteVpcPeeringConnectionRequest&, const Model::DeleteVpcPeeringConnectionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteVpcPeeringConnectionResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteVpnConnectionRequest&, const Model::DeleteVpnConnectionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteVpnConnectionResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteVpnConnectionRouteRequest&, const Model::DeleteVpnConnectionRouteOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteVpnConnectionRouteResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeleteVpnGatewayRequest&, const Model::DeleteVpnGatewayOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteVpnGatewayResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeprovisionByoipCidrRequest&, const Model::DeprovisionByoipCidrOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeprovisionByoipCidrResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeregisterImageRequest&, const Model::DeregisterImageOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeregisterImageResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeregisterInstanceEventNotificationAttributesRequest&, const Model::DeregisterInstanceEventNotificationAttributesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeregisterInstanceEventNotificationAttributesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeregisterTransitGatewayMulticastGroupMembersRequest&, const Model::DeregisterTransitGatewayMulticastGroupMembersOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeregisterTransitGatewayMulticastGroupMembersResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DeregisterTransitGatewayMulticastGroupSourcesRequest&, const Model::DeregisterTransitGatewayMulticastGroupSourcesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeregisterTransitGatewayMulticastGroupSourcesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeAccountAttributesRequest&, const Model::DescribeAccountAttributesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeAccountAttributesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeAddressesRequest&, const Model::DescribeAddressesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeAddressesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeAggregateIdFormatRequest&, const Model::DescribeAggregateIdFormatOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeAggregateIdFormatResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeAvailabilityZonesRequest&, const Model::DescribeAvailabilityZonesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeAvailabilityZonesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeBundleTasksRequest&, const Model::DescribeBundleTasksOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeBundleTasksResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeByoipCidrsRequest&, const Model::DescribeByoipCidrsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeByoipCidrsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeCapacityReservationsRequest&, const Model::DescribeCapacityReservationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeCapacityReservationsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeCarrierGatewaysRequest&, const Model::DescribeCarrierGatewaysOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeCarrierGatewaysResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeClassicLinkInstancesRequest&, const Model::DescribeClassicLinkInstancesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeClassicLinkInstancesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeClientVpnAuthorizationRulesRequest&, const Model::DescribeClientVpnAuthorizationRulesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeClientVpnAuthorizationRulesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeClientVpnConnectionsRequest&, const Model::DescribeClientVpnConnectionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeClientVpnConnectionsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeClientVpnEndpointsRequest&, const Model::DescribeClientVpnEndpointsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeClientVpnEndpointsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeClientVpnRoutesRequest&, const Model::DescribeClientVpnRoutesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeClientVpnRoutesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeClientVpnTargetNetworksRequest&, const Model::DescribeClientVpnTargetNetworksOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeClientVpnTargetNetworksResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeCoipPoolsRequest&, const Model::DescribeCoipPoolsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeCoipPoolsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeConversionTasksRequest&, const Model::DescribeConversionTasksOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeConversionTasksResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeCustomerGatewaysRequest&, const Model::DescribeCustomerGatewaysOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeCustomerGatewaysResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeDhcpOptionsRequest&, const Model::DescribeDhcpOptionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeDhcpOptionsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeEgressOnlyInternetGatewaysRequest&, const Model::DescribeEgressOnlyInternetGatewaysOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeEgressOnlyInternetGatewaysResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeElasticGpusRequest&, const Model::DescribeElasticGpusOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeElasticGpusResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeExportImageTasksRequest&, const Model::DescribeExportImageTasksOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeExportImageTasksResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeExportTasksRequest&, const Model::DescribeExportTasksOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeExportTasksResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeFastSnapshotRestoresRequest&, const Model::DescribeFastSnapshotRestoresOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeFastSnapshotRestoresResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeFleetHistoryRequest&, const Model::DescribeFleetHistoryOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeFleetHistoryResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeFleetInstancesRequest&, const Model::DescribeFleetInstancesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeFleetInstancesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeFleetsRequest&, const Model::DescribeFleetsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeFleetsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeFlowLogsRequest&, const Model::DescribeFlowLogsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeFlowLogsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeFpgaImageAttributeRequest&, const Model::DescribeFpgaImageAttributeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeFpgaImageAttributeResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeFpgaImagesRequest&, const Model::DescribeFpgaImagesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeFpgaImagesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeHostReservationOfferingsRequest&, const Model::DescribeHostReservationOfferingsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeHostReservationOfferingsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeHostReservationsRequest&, const Model::DescribeHostReservationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeHostReservationsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeHostsRequest&, const Model::DescribeHostsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeHostsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeIamInstanceProfileAssociationsRequest&, const Model::DescribeIamInstanceProfileAssociationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeIamInstanceProfileAssociationsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeIdFormatRequest&, const Model::DescribeIdFormatOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeIdFormatResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeIdentityIdFormatRequest&, const Model::DescribeIdentityIdFormatOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeIdentityIdFormatResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeImageAttributeRequest&, const Model::DescribeImageAttributeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeImageAttributeResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeImagesRequest&, const Model::DescribeImagesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeImagesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeImportImageTasksRequest&, const Model::DescribeImportImageTasksOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeImportImageTasksResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeImportSnapshotTasksRequest&, const Model::DescribeImportSnapshotTasksOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeImportSnapshotTasksResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeInstanceAttributeRequest&, const Model::DescribeInstanceAttributeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeInstanceAttributeResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeInstanceCreditSpecificationsRequest&, const Model::DescribeInstanceCreditSpecificationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeInstanceCreditSpecificationsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeInstanceEventNotificationAttributesRequest&, const Model::DescribeInstanceEventNotificationAttributesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeInstanceEventNotificationAttributesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeInstanceStatusRequest&, const Model::DescribeInstanceStatusOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeInstanceStatusResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeInstanceTypeOfferingsRequest&, const Model::DescribeInstanceTypeOfferingsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeInstanceTypeOfferingsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeInstanceTypesRequest&, const Model::DescribeInstanceTypesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeInstanceTypesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeInstancesRequest&, const Model::DescribeInstancesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeInstancesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeInternetGatewaysRequest&, const Model::DescribeInternetGatewaysOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeInternetGatewaysResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeIpv6PoolsRequest&, const Model::DescribeIpv6PoolsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeIpv6PoolsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeKeyPairsRequest&, const Model::DescribeKeyPairsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeKeyPairsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeLaunchTemplateVersionsRequest&, const Model::DescribeLaunchTemplateVersionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeLaunchTemplateVersionsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeLaunchTemplatesRequest&, const Model::DescribeLaunchTemplatesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeLaunchTemplatesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest&, const Model::DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeLocalGatewayRouteTableVpcAssociationsRequest&, const Model::DescribeLocalGatewayRouteTableVpcAssociationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeLocalGatewayRouteTableVpcAssociationsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeLocalGatewayRouteTablesRequest&, const Model::DescribeLocalGatewayRouteTablesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeLocalGatewayRouteTablesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeLocalGatewayVirtualInterfaceGroupsRequest&, const Model::DescribeLocalGatewayVirtualInterfaceGroupsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeLocalGatewayVirtualInterfaceGroupsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeLocalGatewayVirtualInterfacesRequest&, const Model::DescribeLocalGatewayVirtualInterfacesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeLocalGatewayVirtualInterfacesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeLocalGatewaysRequest&, const Model::DescribeLocalGatewaysOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeLocalGatewaysResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeManagedPrefixListsRequest&, const Model::DescribeManagedPrefixListsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeManagedPrefixListsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeMovingAddressesRequest&, const Model::DescribeMovingAddressesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeMovingAddressesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeNatGatewaysRequest&, const Model::DescribeNatGatewaysOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeNatGatewaysResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeNetworkAclsRequest&, const Model::DescribeNetworkAclsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeNetworkAclsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeNetworkInterfaceAttributeRequest&, const Model::DescribeNetworkInterfaceAttributeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeNetworkInterfaceAttributeResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeNetworkInterfacePermissionsRequest&, const Model::DescribeNetworkInterfacePermissionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeNetworkInterfacePermissionsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeNetworkInterfacesRequest&, const Model::DescribeNetworkInterfacesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeNetworkInterfacesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribePlacementGroupsRequest&, const Model::DescribePlacementGroupsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribePlacementGroupsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribePrefixListsRequest&, const Model::DescribePrefixListsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribePrefixListsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribePrincipalIdFormatRequest&, const Model::DescribePrincipalIdFormatOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribePrincipalIdFormatResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribePublicIpv4PoolsRequest&, const Model::DescribePublicIpv4PoolsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribePublicIpv4PoolsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeRegionsRequest&, const Model::DescribeRegionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeRegionsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeReservedInstancesRequest&, const Model::DescribeReservedInstancesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeReservedInstancesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeReservedInstancesListingsRequest&, const Model::DescribeReservedInstancesListingsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeReservedInstancesListingsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeReservedInstancesModificationsRequest&, const Model::DescribeReservedInstancesModificationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeReservedInstancesModificationsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeReservedInstancesOfferingsRequest&, const Model::DescribeReservedInstancesOfferingsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeReservedInstancesOfferingsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeRouteTablesRequest&, const Model::DescribeRouteTablesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeRouteTablesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeScheduledInstanceAvailabilityRequest&, const Model::DescribeScheduledInstanceAvailabilityOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeScheduledInstanceAvailabilityResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeScheduledInstancesRequest&, const Model::DescribeScheduledInstancesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeScheduledInstancesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeSecurityGroupReferencesRequest&, const Model::DescribeSecurityGroupReferencesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeSecurityGroupReferencesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeSecurityGroupsRequest&, const Model::DescribeSecurityGroupsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeSecurityGroupsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeSnapshotAttributeRequest&, const Model::DescribeSnapshotAttributeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeSnapshotAttributeResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeSnapshotsRequest&, const Model::DescribeSnapshotsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeSnapshotsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeSpotDatafeedSubscriptionRequest&, const Model::DescribeSpotDatafeedSubscriptionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeSpotDatafeedSubscriptionResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeSpotFleetInstancesRequest&, const Model::DescribeSpotFleetInstancesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeSpotFleetInstancesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeSpotFleetRequestHistoryRequest&, const Model::DescribeSpotFleetRequestHistoryOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeSpotFleetRequestHistoryResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeSpotFleetRequestsRequest&, const Model::DescribeSpotFleetRequestsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeSpotFleetRequestsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeSpotInstanceRequestsRequest&, const Model::DescribeSpotInstanceRequestsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeSpotInstanceRequestsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeSpotPriceHistoryRequest&, const Model::DescribeSpotPriceHistoryOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeSpotPriceHistoryResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeStaleSecurityGroupsRequest&, const Model::DescribeStaleSecurityGroupsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeStaleSecurityGroupsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeSubnetsRequest&, const Model::DescribeSubnetsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeSubnetsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeTagsRequest&, const Model::DescribeTagsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeTagsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeTrafficMirrorFiltersRequest&, const Model::DescribeTrafficMirrorFiltersOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeTrafficMirrorFiltersResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeTrafficMirrorSessionsRequest&, const Model::DescribeTrafficMirrorSessionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeTrafficMirrorSessionsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeTrafficMirrorTargetsRequest&, const Model::DescribeTrafficMirrorTargetsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeTrafficMirrorTargetsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeTransitGatewayAttachmentsRequest&, const Model::DescribeTransitGatewayAttachmentsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeTransitGatewayAttachmentsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeTransitGatewayMulticastDomainsRequest&, const Model::DescribeTransitGatewayMulticastDomainsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeTransitGatewayMulticastDomainsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeTransitGatewayPeeringAttachmentsRequest&, const Model::DescribeTransitGatewayPeeringAttachmentsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeTransitGatewayPeeringAttachmentsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeTransitGatewayRouteTablesRequest&, const Model::DescribeTransitGatewayRouteTablesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeTransitGatewayRouteTablesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeTransitGatewayVpcAttachmentsRequest&, const Model::DescribeTransitGatewayVpcAttachmentsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeTransitGatewayVpcAttachmentsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeTransitGatewaysRequest&, const Model::DescribeTransitGatewaysOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeTransitGatewaysResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeVolumeAttributeRequest&, const Model::DescribeVolumeAttributeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeVolumeAttributeResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeVolumeStatusRequest&, const Model::DescribeVolumeStatusOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeVolumeStatusResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeVolumesRequest&, const Model::DescribeVolumesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeVolumesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeVolumesModificationsRequest&, const Model::DescribeVolumesModificationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeVolumesModificationsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeVpcAttributeRequest&, const Model::DescribeVpcAttributeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeVpcAttributeResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeVpcClassicLinkRequest&, const Model::DescribeVpcClassicLinkOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeVpcClassicLinkResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeVpcClassicLinkDnsSupportRequest&, const Model::DescribeVpcClassicLinkDnsSupportOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeVpcClassicLinkDnsSupportResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeVpcEndpointConnectionNotificationsRequest&, const Model::DescribeVpcEndpointConnectionNotificationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeVpcEndpointConnectionNotificationsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeVpcEndpointConnectionsRequest&, const Model::DescribeVpcEndpointConnectionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeVpcEndpointConnectionsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeVpcEndpointServiceConfigurationsRequest&, const Model::DescribeVpcEndpointServiceConfigurationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeVpcEndpointServiceConfigurationsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeVpcEndpointServicePermissionsRequest&, const Model::DescribeVpcEndpointServicePermissionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeVpcEndpointServicePermissionsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeVpcEndpointServicesRequest&, const Model::DescribeVpcEndpointServicesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeVpcEndpointServicesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeVpcEndpointsRequest&, const Model::DescribeVpcEndpointsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeVpcEndpointsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeVpcPeeringConnectionsRequest&, const Model::DescribeVpcPeeringConnectionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeVpcPeeringConnectionsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeVpcsRequest&, const Model::DescribeVpcsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeVpcsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeVpnConnectionsRequest&, const Model::DescribeVpnConnectionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeVpnConnectionsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DescribeVpnGatewaysRequest&, const Model::DescribeVpnGatewaysOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeVpnGatewaysResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DetachClassicLinkVpcRequest&, const Model::DetachClassicLinkVpcOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DetachClassicLinkVpcResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DetachInternetGatewayRequest&, const Model::DetachInternetGatewayOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DetachInternetGatewayResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DetachNetworkInterfaceRequest&, const Model::DetachNetworkInterfaceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DetachNetworkInterfaceResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DetachVolumeRequest&, const Model::DetachVolumeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DetachVolumeResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DetachVpnGatewayRequest&, const Model::DetachVpnGatewayOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DetachVpnGatewayResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DisableEbsEncryptionByDefaultRequest&, const Model::DisableEbsEncryptionByDefaultOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DisableEbsEncryptionByDefaultResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DisableFastSnapshotRestoresRequest&, const Model::DisableFastSnapshotRestoresOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DisableFastSnapshotRestoresResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DisableTransitGatewayRouteTablePropagationRequest&, const Model::DisableTransitGatewayRouteTablePropagationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DisableTransitGatewayRouteTablePropagationResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DisableVgwRoutePropagationRequest&, const Model::DisableVgwRoutePropagationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DisableVgwRoutePropagationResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DisableVpcClassicLinkRequest&, const Model::DisableVpcClassicLinkOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DisableVpcClassicLinkResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DisableVpcClassicLinkDnsSupportRequest&, const Model::DisableVpcClassicLinkDnsSupportOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DisableVpcClassicLinkDnsSupportResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DisassociateAddressRequest&, const Model::DisassociateAddressOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DisassociateAddressResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DisassociateClientVpnTargetNetworkRequest&, const Model::DisassociateClientVpnTargetNetworkOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DisassociateClientVpnTargetNetworkResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DisassociateIamInstanceProfileRequest&, const Model::DisassociateIamInstanceProfileOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DisassociateIamInstanceProfileResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DisassociateRouteTableRequest&, const Model::DisassociateRouteTableOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DisassociateRouteTableResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DisassociateSubnetCidrBlockRequest&, const Model::DisassociateSubnetCidrBlockOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DisassociateSubnetCidrBlockResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DisassociateTransitGatewayMulticastDomainRequest&, const Model::DisassociateTransitGatewayMulticastDomainOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DisassociateTransitGatewayMulticastDomainResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DisassociateTransitGatewayRouteTableRequest&, const Model::DisassociateTransitGatewayRouteTableOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DisassociateTransitGatewayRouteTableResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::DisassociateVpcCidrBlockRequest&, const Model::DisassociateVpcCidrBlockOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DisassociateVpcCidrBlockResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::EnableEbsEncryptionByDefaultRequest&, const Model::EnableEbsEncryptionByDefaultOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > EnableEbsEncryptionByDefaultResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::EnableFastSnapshotRestoresRequest&, const Model::EnableFastSnapshotRestoresOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > EnableFastSnapshotRestoresResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::EnableTransitGatewayRouteTablePropagationRequest&, const Model::EnableTransitGatewayRouteTablePropagationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > EnableTransitGatewayRouteTablePropagationResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::EnableVgwRoutePropagationRequest&, const Model::EnableVgwRoutePropagationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > EnableVgwRoutePropagationResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::EnableVolumeIORequest&, const Model::EnableVolumeIOOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > EnableVolumeIOResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::EnableVpcClassicLinkRequest&, const Model::EnableVpcClassicLinkOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > EnableVpcClassicLinkResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::EnableVpcClassicLinkDnsSupportRequest&, const Model::EnableVpcClassicLinkDnsSupportOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > EnableVpcClassicLinkDnsSupportResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ExportClientVpnClientCertificateRevocationListRequest&, const Model::ExportClientVpnClientCertificateRevocationListOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ExportClientVpnClientCertificateRevocationListResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ExportClientVpnClientConfigurationRequest&, const Model::ExportClientVpnClientConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ExportClientVpnClientConfigurationResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ExportImageRequest&, const Model::ExportImageOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ExportImageResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ExportTransitGatewayRoutesRequest&, const Model::ExportTransitGatewayRoutesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ExportTransitGatewayRoutesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::GetAssociatedIpv6PoolCidrsRequest&, const Model::GetAssociatedIpv6PoolCidrsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetAssociatedIpv6PoolCidrsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::GetCapacityReservationUsageRequest&, const Model::GetCapacityReservationUsageOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetCapacityReservationUsageResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::GetCoipPoolUsageRequest&, const Model::GetCoipPoolUsageOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetCoipPoolUsageResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::GetConsoleOutputRequest&, const Model::GetConsoleOutputOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetConsoleOutputResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::GetConsoleScreenshotRequest&, const Model::GetConsoleScreenshotOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetConsoleScreenshotResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::GetDefaultCreditSpecificationRequest&, const Model::GetDefaultCreditSpecificationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetDefaultCreditSpecificationResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::GetEbsDefaultKmsKeyIdRequest&, const Model::GetEbsDefaultKmsKeyIdOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetEbsDefaultKmsKeyIdResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::GetEbsEncryptionByDefaultRequest&, const Model::GetEbsEncryptionByDefaultOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetEbsEncryptionByDefaultResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::GetGroupsForCapacityReservationRequest&, const Model::GetGroupsForCapacityReservationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetGroupsForCapacityReservationResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::GetHostReservationPurchasePreviewRequest&, const Model::GetHostReservationPurchasePreviewOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetHostReservationPurchasePreviewResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::GetLaunchTemplateDataRequest&, const Model::GetLaunchTemplateDataOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetLaunchTemplateDataResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::GetManagedPrefixListAssociationsRequest&, const Model::GetManagedPrefixListAssociationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetManagedPrefixListAssociationsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::GetManagedPrefixListEntriesRequest&, const Model::GetManagedPrefixListEntriesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetManagedPrefixListEntriesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::GetPasswordDataRequest&, const Model::GetPasswordDataOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetPasswordDataResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::GetReservedInstancesExchangeQuoteRequest&, const Model::GetReservedInstancesExchangeQuoteOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetReservedInstancesExchangeQuoteResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::GetTransitGatewayAttachmentPropagationsRequest&, const Model::GetTransitGatewayAttachmentPropagationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetTransitGatewayAttachmentPropagationsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::GetTransitGatewayMulticastDomainAssociationsRequest&, const Model::GetTransitGatewayMulticastDomainAssociationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetTransitGatewayMulticastDomainAssociationsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::GetTransitGatewayPrefixListReferencesRequest&, const Model::GetTransitGatewayPrefixListReferencesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetTransitGatewayPrefixListReferencesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::GetTransitGatewayRouteTableAssociationsRequest&, const Model::GetTransitGatewayRouteTableAssociationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetTransitGatewayRouteTableAssociationsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::GetTransitGatewayRouteTablePropagationsRequest&, const Model::GetTransitGatewayRouteTablePropagationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetTransitGatewayRouteTablePropagationsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ImportClientVpnClientCertificateRevocationListRequest&, const Model::ImportClientVpnClientCertificateRevocationListOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ImportClientVpnClientCertificateRevocationListResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ImportImageRequest&, const Model::ImportImageOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ImportImageResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ImportInstanceRequest&, const Model::ImportInstanceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ImportInstanceResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ImportKeyPairRequest&, const Model::ImportKeyPairOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ImportKeyPairResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ImportSnapshotRequest&, const Model::ImportSnapshotOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ImportSnapshotResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ImportVolumeRequest&, const Model::ImportVolumeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ImportVolumeResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyAvailabilityZoneGroupRequest&, const Model::ModifyAvailabilityZoneGroupOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyAvailabilityZoneGroupResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyCapacityReservationRequest&, const Model::ModifyCapacityReservationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyCapacityReservationResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyClientVpnEndpointRequest&, const Model::ModifyClientVpnEndpointOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyClientVpnEndpointResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyDefaultCreditSpecificationRequest&, const Model::ModifyDefaultCreditSpecificationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyDefaultCreditSpecificationResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyEbsDefaultKmsKeyIdRequest&, const Model::ModifyEbsDefaultKmsKeyIdOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyEbsDefaultKmsKeyIdResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyFleetRequest&, const Model::ModifyFleetOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyFleetResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyFpgaImageAttributeRequest&, const Model::ModifyFpgaImageAttributeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyFpgaImageAttributeResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyHostsRequest&, const Model::ModifyHostsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyHostsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyIdFormatRequest&, const Model::ModifyIdFormatOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyIdFormatResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyIdentityIdFormatRequest&, const Model::ModifyIdentityIdFormatOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyIdentityIdFormatResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyImageAttributeRequest&, const Model::ModifyImageAttributeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyImageAttributeResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyInstanceAttributeRequest&, const Model::ModifyInstanceAttributeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyInstanceAttributeResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyInstanceCapacityReservationAttributesRequest&, const Model::ModifyInstanceCapacityReservationAttributesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyInstanceCapacityReservationAttributesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyInstanceCreditSpecificationRequest&, const Model::ModifyInstanceCreditSpecificationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyInstanceCreditSpecificationResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyInstanceEventStartTimeRequest&, const Model::ModifyInstanceEventStartTimeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyInstanceEventStartTimeResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyInstanceMetadataOptionsRequest&, const Model::ModifyInstanceMetadataOptionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyInstanceMetadataOptionsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyInstancePlacementRequest&, const Model::ModifyInstancePlacementOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyInstancePlacementResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyLaunchTemplateRequest&, const Model::ModifyLaunchTemplateOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyLaunchTemplateResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyManagedPrefixListRequest&, const Model::ModifyManagedPrefixListOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyManagedPrefixListResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyNetworkInterfaceAttributeRequest&, const Model::ModifyNetworkInterfaceAttributeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyNetworkInterfaceAttributeResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyReservedInstancesRequest&, const Model::ModifyReservedInstancesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyReservedInstancesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifySnapshotAttributeRequest&, const Model::ModifySnapshotAttributeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifySnapshotAttributeResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifySpotFleetRequestRequest&, const Model::ModifySpotFleetRequestOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifySpotFleetRequestResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifySubnetAttributeRequest&, const Model::ModifySubnetAttributeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifySubnetAttributeResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyTrafficMirrorFilterNetworkServicesRequest&, const Model::ModifyTrafficMirrorFilterNetworkServicesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyTrafficMirrorFilterNetworkServicesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyTrafficMirrorFilterRuleRequest&, const Model::ModifyTrafficMirrorFilterRuleOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyTrafficMirrorFilterRuleResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyTrafficMirrorSessionRequest&, const Model::ModifyTrafficMirrorSessionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyTrafficMirrorSessionResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyTransitGatewayRequest&, const Model::ModifyTransitGatewayOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyTransitGatewayResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyTransitGatewayPrefixListReferenceRequest&, const Model::ModifyTransitGatewayPrefixListReferenceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyTransitGatewayPrefixListReferenceResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyTransitGatewayVpcAttachmentRequest&, const Model::ModifyTransitGatewayVpcAttachmentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyTransitGatewayVpcAttachmentResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyVolumeRequest&, const Model::ModifyVolumeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyVolumeResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyVolumeAttributeRequest&, const Model::ModifyVolumeAttributeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyVolumeAttributeResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyVpcAttributeRequest&, const Model::ModifyVpcAttributeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyVpcAttributeResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyVpcEndpointRequest&, const Model::ModifyVpcEndpointOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyVpcEndpointResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyVpcEndpointConnectionNotificationRequest&, const Model::ModifyVpcEndpointConnectionNotificationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyVpcEndpointConnectionNotificationResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyVpcEndpointServiceConfigurationRequest&, const Model::ModifyVpcEndpointServiceConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyVpcEndpointServiceConfigurationResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyVpcEndpointServicePermissionsRequest&, const Model::ModifyVpcEndpointServicePermissionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyVpcEndpointServicePermissionsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyVpcPeeringConnectionOptionsRequest&, const Model::ModifyVpcPeeringConnectionOptionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyVpcPeeringConnectionOptionsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyVpcTenancyRequest&, const Model::ModifyVpcTenancyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyVpcTenancyResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyVpnConnectionRequest&, const Model::ModifyVpnConnectionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyVpnConnectionResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyVpnTunnelCertificateRequest&, const Model::ModifyVpnTunnelCertificateOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyVpnTunnelCertificateResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ModifyVpnTunnelOptionsRequest&, const Model::ModifyVpnTunnelOptionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyVpnTunnelOptionsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::MonitorInstancesRequest&, const Model::MonitorInstancesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > MonitorInstancesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::MoveAddressToVpcRequest&, const Model::MoveAddressToVpcOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > MoveAddressToVpcResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ProvisionByoipCidrRequest&, const Model::ProvisionByoipCidrOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ProvisionByoipCidrResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::PurchaseHostReservationRequest&, const Model::PurchaseHostReservationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PurchaseHostReservationResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::PurchaseReservedInstancesOfferingRequest&, const Model::PurchaseReservedInstancesOfferingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PurchaseReservedInstancesOfferingResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::PurchaseScheduledInstancesRequest&, const Model::PurchaseScheduledInstancesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PurchaseScheduledInstancesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::RebootInstancesRequest&, const Model::RebootInstancesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RebootInstancesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::RegisterImageRequest&, const Model::RegisterImageOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RegisterImageResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::RegisterInstanceEventNotificationAttributesRequest&, const Model::RegisterInstanceEventNotificationAttributesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RegisterInstanceEventNotificationAttributesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::RegisterTransitGatewayMulticastGroupMembersRequest&, const Model::RegisterTransitGatewayMulticastGroupMembersOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RegisterTransitGatewayMulticastGroupMembersResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::RegisterTransitGatewayMulticastGroupSourcesRequest&, const Model::RegisterTransitGatewayMulticastGroupSourcesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RegisterTransitGatewayMulticastGroupSourcesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::RejectTransitGatewayPeeringAttachmentRequest&, const Model::RejectTransitGatewayPeeringAttachmentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RejectTransitGatewayPeeringAttachmentResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::RejectTransitGatewayVpcAttachmentRequest&, const Model::RejectTransitGatewayVpcAttachmentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RejectTransitGatewayVpcAttachmentResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::RejectVpcEndpointConnectionsRequest&, const Model::RejectVpcEndpointConnectionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RejectVpcEndpointConnectionsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::RejectVpcPeeringConnectionRequest&, const Model::RejectVpcPeeringConnectionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RejectVpcPeeringConnectionResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ReleaseAddressRequest&, const Model::ReleaseAddressOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ReleaseAddressResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ReleaseHostsRequest&, const Model::ReleaseHostsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ReleaseHostsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ReplaceIamInstanceProfileAssociationRequest&, const Model::ReplaceIamInstanceProfileAssociationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ReplaceIamInstanceProfileAssociationResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ReplaceNetworkAclAssociationRequest&, const Model::ReplaceNetworkAclAssociationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ReplaceNetworkAclAssociationResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ReplaceNetworkAclEntryRequest&, const Model::ReplaceNetworkAclEntryOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ReplaceNetworkAclEntryResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ReplaceRouteRequest&, const Model::ReplaceRouteOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ReplaceRouteResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ReplaceRouteTableAssociationRequest&, const Model::ReplaceRouteTableAssociationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ReplaceRouteTableAssociationResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ReplaceTransitGatewayRouteRequest&, const Model::ReplaceTransitGatewayRouteOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ReplaceTransitGatewayRouteResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ReportInstanceStatusRequest&, const Model::ReportInstanceStatusOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ReportInstanceStatusResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::RequestSpotFleetRequest&, const Model::RequestSpotFleetOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RequestSpotFleetResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::RequestSpotInstancesRequest&, const Model::RequestSpotInstancesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RequestSpotInstancesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ResetEbsDefaultKmsKeyIdRequest&, const Model::ResetEbsDefaultKmsKeyIdOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ResetEbsDefaultKmsKeyIdResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ResetFpgaImageAttributeRequest&, const Model::ResetFpgaImageAttributeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ResetFpgaImageAttributeResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ResetImageAttributeRequest&, const Model::ResetImageAttributeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ResetImageAttributeResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ResetInstanceAttributeRequest&, const Model::ResetInstanceAttributeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ResetInstanceAttributeResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ResetNetworkInterfaceAttributeRequest&, const Model::ResetNetworkInterfaceAttributeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ResetNetworkInterfaceAttributeResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::ResetSnapshotAttributeRequest&, const Model::ResetSnapshotAttributeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ResetSnapshotAttributeResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::RestoreAddressToClassicRequest&, const Model::RestoreAddressToClassicOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RestoreAddressToClassicResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::RestoreManagedPrefixListVersionRequest&, const Model::RestoreManagedPrefixListVersionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RestoreManagedPrefixListVersionResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::RevokeClientVpnIngressRequest&, const Model::RevokeClientVpnIngressOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RevokeClientVpnIngressResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::RevokeSecurityGroupEgressRequest&, const Model::RevokeSecurityGroupEgressOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RevokeSecurityGroupEgressResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::RevokeSecurityGroupIngressRequest&, const Model::RevokeSecurityGroupIngressOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RevokeSecurityGroupIngressResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::RunInstancesRequest&, const Model::RunInstancesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RunInstancesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::RunScheduledInstancesRequest&, const Model::RunScheduledInstancesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RunScheduledInstancesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::SearchLocalGatewayRoutesRequest&, const Model::SearchLocalGatewayRoutesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > SearchLocalGatewayRoutesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::SearchTransitGatewayMulticastGroupsRequest&, const Model::SearchTransitGatewayMulticastGroupsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > SearchTransitGatewayMulticastGroupsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::SearchTransitGatewayRoutesRequest&, const Model::SearchTransitGatewayRoutesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > SearchTransitGatewayRoutesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::SendDiagnosticInterruptRequest&, const Model::SendDiagnosticInterruptOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > SendDiagnosticInterruptResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::StartInstancesRequest&, const Model::StartInstancesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StartInstancesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::StartVpcEndpointServicePrivateDnsVerificationRequest&, const Model::StartVpcEndpointServicePrivateDnsVerificationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StartVpcEndpointServicePrivateDnsVerificationResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::StopInstancesRequest&, const Model::StopInstancesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StopInstancesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::TerminateClientVpnConnectionsRequest&, const Model::TerminateClientVpnConnectionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > TerminateClientVpnConnectionsResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::TerminateInstancesRequest&, const Model::TerminateInstancesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > TerminateInstancesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::UnassignIpv6AddressesRequest&, const Model::UnassignIpv6AddressesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UnassignIpv6AddressesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::UnassignPrivateIpAddressesRequest&, const Model::UnassignPrivateIpAddressesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UnassignPrivateIpAddressesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::UnmonitorInstancesRequest&, const Model::UnmonitorInstancesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UnmonitorInstancesResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::UpdateSecurityGroupRuleDescriptionsEgressRequest&, const Model::UpdateSecurityGroupRuleDescriptionsEgressOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateSecurityGroupRuleDescriptionsEgressResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::UpdateSecurityGroupRuleDescriptionsIngressRequest&, const Model::UpdateSecurityGroupRuleDescriptionsIngressOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateSecurityGroupRuleDescriptionsIngressResponseReceivedHandler;
typedef std::function<void(const EC2Client*, const Model::WithdrawByoipCidrRequest&, const Model::WithdrawByoipCidrOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > WithdrawByoipCidrResponseReceivedHandler;
/**
* <fullname>Amazon Elastic Compute Cloud</fullname> <p>Amazon Elastic Compute
* Cloud (Amazon EC2) provides secure and resizable computing capacity in the AWS
* cloud. Using Amazon EC2 eliminates the need to invest in hardware up front, so
* you can develop and deploy applications faster.</p> <p>To learn more, see the
* following resources:</p> <ul> <li> <p>Amazon EC2: <a
* href="http://aws.amazon.com/ec2">AmazonEC2 product page</a>, <a
* href="http://aws.amazon.com/documentation/ec2">Amazon EC2 documentation</a> </p>
* </li> <li> <p>Amazon EBS: <a href="http://aws.amazon.com/ebs">Amazon EBS product
* page</a>, <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html">Amazon
* EBS documentation</a> </p> </li> <li> <p>Amazon VPC: <a
* href="http://aws.amazon.com/vpc">Amazon VPC product page</a>, <a
* href="http://aws.amazon.com/documentation/vpc">Amazon VPC documentation</a> </p>
* </li> <li> <p>AWS VPN: <a href="http://aws.amazon.com/vpn">AWS VPN product
* page</a>, <a href="http://aws.amazon.com/documentation/vpn">AWS VPN
* documentation</a> </p> </li> </ul>
*/
class AWS_EC2_API EC2Client : public Aws::Client::AWSXMLClient
{
public:
typedef Aws::Client::AWSXMLClient BASECLASS;
/**
* Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
EC2Client(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
/**
* Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
EC2Client(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
/**
* Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
* the default http client factory will be used
*/
EC2Client(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
virtual ~EC2Client();
/**
* <p>Accepts the Convertible Reserved Instance exchange quote described in the
* <a>GetReservedInstancesExchangeQuote</a> call.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptReservedInstancesExchangeQuote">AWS
* API Reference</a></p>
*/
virtual Model::AcceptReservedInstancesExchangeQuoteOutcome AcceptReservedInstancesExchangeQuote(const Model::AcceptReservedInstancesExchangeQuoteRequest& request) const;
/**
* <p>Accepts the Convertible Reserved Instance exchange quote described in the
* <a>GetReservedInstancesExchangeQuote</a> call.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptReservedInstancesExchangeQuote">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AcceptReservedInstancesExchangeQuoteOutcomeCallable AcceptReservedInstancesExchangeQuoteCallable(const Model::AcceptReservedInstancesExchangeQuoteRequest& request) const;
/**
* <p>Accepts the Convertible Reserved Instance exchange quote described in the
* <a>GetReservedInstancesExchangeQuote</a> call.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptReservedInstancesExchangeQuote">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AcceptReservedInstancesExchangeQuoteAsync(const Model::AcceptReservedInstancesExchangeQuoteRequest& request, const AcceptReservedInstancesExchangeQuoteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Accepts a transit gateway peering attachment request. The peering attachment
* must be in the <code>pendingAcceptance</code> state.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptTransitGatewayPeeringAttachment">AWS
* API Reference</a></p>
*/
virtual Model::AcceptTransitGatewayPeeringAttachmentOutcome AcceptTransitGatewayPeeringAttachment(const Model::AcceptTransitGatewayPeeringAttachmentRequest& request) const;
/**
* <p>Accepts a transit gateway peering attachment request. The peering attachment
* must be in the <code>pendingAcceptance</code> state.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptTransitGatewayPeeringAttachment">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AcceptTransitGatewayPeeringAttachmentOutcomeCallable AcceptTransitGatewayPeeringAttachmentCallable(const Model::AcceptTransitGatewayPeeringAttachmentRequest& request) const;
/**
* <p>Accepts a transit gateway peering attachment request. The peering attachment
* must be in the <code>pendingAcceptance</code> state.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptTransitGatewayPeeringAttachment">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AcceptTransitGatewayPeeringAttachmentAsync(const Model::AcceptTransitGatewayPeeringAttachmentRequest& request, const AcceptTransitGatewayPeeringAttachmentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Accepts a request to attach a VPC to a transit gateway.</p> <p>The VPC
* attachment must be in the <code>pendingAcceptance</code> state. Use
* <a>DescribeTransitGatewayVpcAttachments</a> to view your pending VPC attachment
* requests. Use <a>RejectTransitGatewayVpcAttachment</a> to reject a VPC
* attachment request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptTransitGatewayVpcAttachment">AWS
* API Reference</a></p>
*/
virtual Model::AcceptTransitGatewayVpcAttachmentOutcome AcceptTransitGatewayVpcAttachment(const Model::AcceptTransitGatewayVpcAttachmentRequest& request) const;
/**
* <p>Accepts a request to attach a VPC to a transit gateway.</p> <p>The VPC
* attachment must be in the <code>pendingAcceptance</code> state. Use
* <a>DescribeTransitGatewayVpcAttachments</a> to view your pending VPC attachment
* requests. Use <a>RejectTransitGatewayVpcAttachment</a> to reject a VPC
* attachment request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptTransitGatewayVpcAttachment">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AcceptTransitGatewayVpcAttachmentOutcomeCallable AcceptTransitGatewayVpcAttachmentCallable(const Model::AcceptTransitGatewayVpcAttachmentRequest& request) const;
/**
* <p>Accepts a request to attach a VPC to a transit gateway.</p> <p>The VPC
* attachment must be in the <code>pendingAcceptance</code> state. Use
* <a>DescribeTransitGatewayVpcAttachments</a> to view your pending VPC attachment
* requests. Use <a>RejectTransitGatewayVpcAttachment</a> to reject a VPC
* attachment request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptTransitGatewayVpcAttachment">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AcceptTransitGatewayVpcAttachmentAsync(const Model::AcceptTransitGatewayVpcAttachmentRequest& request, const AcceptTransitGatewayVpcAttachmentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Accepts one or more interface VPC endpoint connection requests to your VPC
* endpoint service.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcEndpointConnections">AWS
* API Reference</a></p>
*/
virtual Model::AcceptVpcEndpointConnectionsOutcome AcceptVpcEndpointConnections(const Model::AcceptVpcEndpointConnectionsRequest& request) const;
/**
* <p>Accepts one or more interface VPC endpoint connection requests to your VPC
* endpoint service.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcEndpointConnections">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AcceptVpcEndpointConnectionsOutcomeCallable AcceptVpcEndpointConnectionsCallable(const Model::AcceptVpcEndpointConnectionsRequest& request) const;
/**
* <p>Accepts one or more interface VPC endpoint connection requests to your VPC
* endpoint service.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcEndpointConnections">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AcceptVpcEndpointConnectionsAsync(const Model::AcceptVpcEndpointConnectionsRequest& request, const AcceptVpcEndpointConnectionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Accept a VPC peering connection request. To accept a request, the VPC peering
* connection must be in the <code>pending-acceptance</code> state, and you must be
* the owner of the peer VPC. Use <a>DescribeVpcPeeringConnections</a> to view your
* outstanding VPC peering connection requests.</p> <p>For an inter-Region VPC
* peering connection request, you must accept the VPC peering connection in the
* Region of the accepter VPC.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcPeeringConnection">AWS
* API Reference</a></p>
*/
virtual Model::AcceptVpcPeeringConnectionOutcome AcceptVpcPeeringConnection(const Model::AcceptVpcPeeringConnectionRequest& request) const;
/**
* <p>Accept a VPC peering connection request. To accept a request, the VPC peering
* connection must be in the <code>pending-acceptance</code> state, and you must be
* the owner of the peer VPC. Use <a>DescribeVpcPeeringConnections</a> to view your
* outstanding VPC peering connection requests.</p> <p>For an inter-Region VPC
* peering connection request, you must accept the VPC peering connection in the
* Region of the accepter VPC.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcPeeringConnection">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AcceptVpcPeeringConnectionOutcomeCallable AcceptVpcPeeringConnectionCallable(const Model::AcceptVpcPeeringConnectionRequest& request) const;
/**
* <p>Accept a VPC peering connection request. To accept a request, the VPC peering
* connection must be in the <code>pending-acceptance</code> state, and you must be
* the owner of the peer VPC. Use <a>DescribeVpcPeeringConnections</a> to view your
* outstanding VPC peering connection requests.</p> <p>For an inter-Region VPC
* peering connection request, you must accept the VPC peering connection in the
* Region of the accepter VPC.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcPeeringConnection">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AcceptVpcPeeringConnectionAsync(const Model::AcceptVpcPeeringConnectionRequest& request, const AcceptVpcPeeringConnectionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Advertises an IPv4 or IPv6 address range that is provisioned for use with
* your AWS resources through bring your own IP addresses (BYOIP).</p> <p>You can
* perform this operation at most once every 10 seconds, even if you specify
* different address ranges each time.</p> <p>We recommend that you stop
* advertising the BYOIP CIDR from other locations when you advertise it from AWS.
* To minimize down time, you can configure your AWS 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
* AWS.</p> <p>It can take a few minutes before traffic to the specified addresses
* starts routing to AWS because of BGP propagation delays.</p> <p>To stop
* advertising the BYOIP CIDR, use <a>WithdrawByoipCidr</a>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AdvertiseByoipCidr">AWS
* API Reference</a></p>
*/
virtual Model::AdvertiseByoipCidrOutcome AdvertiseByoipCidr(const Model::AdvertiseByoipCidrRequest& request) const;
/**
* <p>Advertises an IPv4 or IPv6 address range that is provisioned for use with
* your AWS resources through bring your own IP addresses (BYOIP).</p> <p>You can
* perform this operation at most once every 10 seconds, even if you specify
* different address ranges each time.</p> <p>We recommend that you stop
* advertising the BYOIP CIDR from other locations when you advertise it from AWS.
* To minimize down time, you can configure your AWS 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
* AWS.</p> <p>It can take a few minutes before traffic to the specified addresses
* starts routing to AWS because of BGP propagation delays.</p> <p>To stop
* advertising the BYOIP CIDR, use <a>WithdrawByoipCidr</a>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AdvertiseByoipCidr">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AdvertiseByoipCidrOutcomeCallable AdvertiseByoipCidrCallable(const Model::AdvertiseByoipCidrRequest& request) const;
/**
* <p>Advertises an IPv4 or IPv6 address range that is provisioned for use with
* your AWS resources through bring your own IP addresses (BYOIP).</p> <p>You can
* perform this operation at most once every 10 seconds, even if you specify
* different address ranges each time.</p> <p>We recommend that you stop
* advertising the BYOIP CIDR from other locations when you advertise it from AWS.
* To minimize down time, you can configure your AWS 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
* AWS.</p> <p>It can take a few minutes before traffic to the specified addresses
* starts routing to AWS because of BGP propagation delays.</p> <p>To stop
* advertising the BYOIP CIDR, use <a>WithdrawByoipCidr</a>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AdvertiseByoipCidr">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AdvertiseByoipCidrAsync(const Model::AdvertiseByoipCidrRequest& request, const AdvertiseByoipCidrResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Allocates an Elastic IP address to your AWS 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 AWS account.</p> <p>You can allocate an
* Elastic IP address from an address pool owned by AWS or from an address pool
* created from a public IPv4 address range that you have brought to AWS for use
* with your AWS resources using bring your own IP addresses (BYOIP). For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html">Bring
* Your Own IP Addresses (BYOIP)</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p> <p>[EC2-VPC] 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 AWS account. You cannot recover an Elastic IP
* address for EC2-Classic. To attempt to recover an Elastic IP address that you
* released, specify it in this operation.</p> <p>An Elastic IP address is for use
* either in the EC2-Classic platform or in a VPC. By default, you can allocate 5
* Elastic IP addresses for EC2-Classic per Region and 5 Elastic IP addresses for
* EC2-VPC per Region.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html">Elastic
* IP Addresses</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* <p>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). </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddress">AWS
* API Reference</a></p>
*/
virtual Model::AllocateAddressOutcome AllocateAddress(const Model::AllocateAddressRequest& request) const;
/**
* <p>Allocates an Elastic IP address to your AWS 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 AWS account.</p> <p>You can allocate an
* Elastic IP address from an address pool owned by AWS or from an address pool
* created from a public IPv4 address range that you have brought to AWS for use
* with your AWS resources using bring your own IP addresses (BYOIP). For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html">Bring
* Your Own IP Addresses (BYOIP)</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p> <p>[EC2-VPC] 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 AWS account. You cannot recover an Elastic IP
* address for EC2-Classic. To attempt to recover an Elastic IP address that you
* released, specify it in this operation.</p> <p>An Elastic IP address is for use
* either in the EC2-Classic platform or in a VPC. By default, you can allocate 5
* Elastic IP addresses for EC2-Classic per Region and 5 Elastic IP addresses for
* EC2-VPC per Region.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html">Elastic
* IP Addresses</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* <p>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). </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddress">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AllocateAddressOutcomeCallable AllocateAddressCallable(const Model::AllocateAddressRequest& request) const;
/**
* <p>Allocates an Elastic IP address to your AWS 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 AWS account.</p> <p>You can allocate an
* Elastic IP address from an address pool owned by AWS or from an address pool
* created from a public IPv4 address range that you have brought to AWS for use
* with your AWS resources using bring your own IP addresses (BYOIP). For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html">Bring
* Your Own IP Addresses (BYOIP)</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p> <p>[EC2-VPC] 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 AWS account. You cannot recover an Elastic IP
* address for EC2-Classic. To attempt to recover an Elastic IP address that you
* released, specify it in this operation.</p> <p>An Elastic IP address is for use
* either in the EC2-Classic platform or in a VPC. By default, you can allocate 5
* Elastic IP addresses for EC2-Classic per Region and 5 Elastic IP addresses for
* EC2-VPC per Region.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html">Elastic
* IP Addresses</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* <p>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). </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddress">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AllocateAddressAsync(const Model::AllocateAddressRequest& request, const AllocateAddressResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateHosts">AWS
* API Reference</a></p>
*/
virtual Model::AllocateHostsOutcome AllocateHosts(const Model::AllocateHostsRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateHosts">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AllocateHostsOutcomeCallable AllocateHostsCallable(const Model::AllocateHostsRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateHosts">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AllocateHostsAsync(const Model::AllocateHostsRequest& request, const AllocateHostsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ApplySecurityGroupsToClientVpnTargetNetwork">AWS
* API Reference</a></p>
*/
virtual Model::ApplySecurityGroupsToClientVpnTargetNetworkOutcome ApplySecurityGroupsToClientVpnTargetNetwork(const Model::ApplySecurityGroupsToClientVpnTargetNetworkRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ApplySecurityGroupsToClientVpnTargetNetwork">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ApplySecurityGroupsToClientVpnTargetNetworkOutcomeCallable ApplySecurityGroupsToClientVpnTargetNetworkCallable(const Model::ApplySecurityGroupsToClientVpnTargetNetworkRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ApplySecurityGroupsToClientVpnTargetNetwork">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ApplySecurityGroupsToClientVpnTargetNetworkAsync(const Model::ApplySecurityGroupsToClientVpnTargetNetworkRequest& request, const ApplySecurityGroupsToClientVpnTargetNetworkResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Assigns one or more IPv6 addresses to the specified network interface. You
* can specify one or more specific IPv6 addresses, or you can specify the number
* of IPv6 addresses to be automatically assigned from within the subnet's IPv6
* CIDR block range. You can assign as many IPv6 addresses to a network interface
* as you can assign private IPv4 addresses, and the limit varies per instance
* type. For information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI">IP
* Addresses Per Network Interface Per Instance Type</a> in the <i>Amazon Elastic
* Compute Cloud User Guide</i>.</p> <p>You must specify either the IPv6 addresses
* or the IPv6 address count in the request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignIpv6Addresses">AWS
* API Reference</a></p>
*/
virtual Model::AssignIpv6AddressesOutcome AssignIpv6Addresses(const Model::AssignIpv6AddressesRequest& request) const;
/**
* <p>Assigns one or more IPv6 addresses to the specified network interface. You
* can specify one or more specific IPv6 addresses, or you can specify the number
* of IPv6 addresses to be automatically assigned from within the subnet's IPv6
* CIDR block range. You can assign as many IPv6 addresses to a network interface
* as you can assign private IPv4 addresses, and the limit varies per instance
* type. For information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI">IP
* Addresses Per Network Interface Per Instance Type</a> in the <i>Amazon Elastic
* Compute Cloud User Guide</i>.</p> <p>You must specify either the IPv6 addresses
* or the IPv6 address count in the request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignIpv6Addresses">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AssignIpv6AddressesOutcomeCallable AssignIpv6AddressesCallable(const Model::AssignIpv6AddressesRequest& request) const;
/**
* <p>Assigns one or more IPv6 addresses to the specified network interface. You
* can specify one or more specific IPv6 addresses, or you can specify the number
* of IPv6 addresses to be automatically assigned from within the subnet's IPv6
* CIDR block range. You can assign as many IPv6 addresses to a network interface
* as you can assign private IPv4 addresses, and the limit varies per instance
* type. For information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI">IP
* Addresses Per Network Interface Per Instance Type</a> in the <i>Amazon Elastic
* Compute Cloud User Guide</i>.</p> <p>You must specify either the IPv6 addresses
* or the IPv6 address count in the request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignIpv6Addresses">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AssignIpv6AddressesAsync(const Model::AssignIpv6AddressesRequest& request, const AssignIpv6AddressesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Assigns one or more secondary private IP addresses to the specified network
* interface.</p> <p>You can specify one or more specific secondary IP addresses,
* or you can specify the number of secondary IP addresses to be automatically
* assigned within the subnet's CIDR block range. The number of secondary IP
* addresses that you can assign to an instance varies by instance type. For
* information about instance types, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html">Instance
* Types</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>. For more
* information about Elastic IP addresses, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html">Elastic
* IP Addresses</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* <p>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.</p>
* <p>Remapping an IP address is an asynchronous operation. When you move an IP
* address from one network interface to another, check
* <code>network/interfaces/macs/mac/local-ipv4s</code> in the instance metadata to
* confirm that the remapping is complete.</p> <p>You must specify either the IP
* addresses or the IP address count in the request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddresses">AWS
* API Reference</a></p>
*/
virtual Model::AssignPrivateIpAddressesOutcome AssignPrivateIpAddresses(const Model::AssignPrivateIpAddressesRequest& request) const;
/**
* <p>Assigns one or more secondary private IP addresses to the specified network
* interface.</p> <p>You can specify one or more specific secondary IP addresses,
* or you can specify the number of secondary IP addresses to be automatically
* assigned within the subnet's CIDR block range. The number of secondary IP
* addresses that you can assign to an instance varies by instance type. For
* information about instance types, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html">Instance
* Types</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>. For more
* information about Elastic IP addresses, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html">Elastic
* IP Addresses</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* <p>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.</p>
* <p>Remapping an IP address is an asynchronous operation. When you move an IP
* address from one network interface to another, check
* <code>network/interfaces/macs/mac/local-ipv4s</code> in the instance metadata to
* confirm that the remapping is complete.</p> <p>You must specify either the IP
* addresses or the IP address count in the request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddresses">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AssignPrivateIpAddressesOutcomeCallable AssignPrivateIpAddressesCallable(const Model::AssignPrivateIpAddressesRequest& request) const;
/**
* <p>Assigns one or more secondary private IP addresses to the specified network
* interface.</p> <p>You can specify one or more specific secondary IP addresses,
* or you can specify the number of secondary IP addresses to be automatically
* assigned within the subnet's CIDR block range. The number of secondary IP
* addresses that you can assign to an instance varies by instance type. For
* information about instance types, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html">Instance
* Types</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>. For more
* information about Elastic IP addresses, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html">Elastic
* IP Addresses</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* <p>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.</p>
* <p>Remapping an IP address is an asynchronous operation. When you move an IP
* address from one network interface to another, check
* <code>network/interfaces/macs/mac/local-ipv4s</code> in the instance metadata to
* confirm that the remapping is complete.</p> <p>You must specify either the IP
* addresses or the IP address count in the request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddresses">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AssignPrivateIpAddressesAsync(const Model::AssignPrivateIpAddressesRequest& request, const AssignPrivateIpAddressesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p> <p>An Elastic IP address is for use in either the EC2-Classic
* platform or in a VPC. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html">Elastic
* IP Addresses</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* <p>[EC2-Classic, VPC in an EC2-VPC-only 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.</p> <p>[VPC in an EC2-Classic account] If you don't specify a
* private IP address, the Elastic IP address is associated with the primary IP
* address. If the Elastic IP address is already associated with a different
* instance or a network interface, you get an error unless you allow
* reassociation. You cannot associate an Elastic IP address with an instance or
* network interface that has an existing Elastic IP address.</p> <p>[Subnets in
* Wavelength Zones] You can associate an IP address from the telecommunication
* carrier to the instance or network interface. </p> <p>You cannot associate an
* Elastic IP address with an interface in a different network border group.</p>
* <p>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 <i>Elastic IP Addresses</i> section of <a
* href="http://aws.amazon.com/ec2/pricing/">Amazon EC2 Pricing</a>.</p>
* <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddress">AWS
* API Reference</a></p>
*/
virtual Model::AssociateAddressOutcome AssociateAddress(const Model::AssociateAddressRequest& request) const;
/**
* <p>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.</p> <p>An Elastic IP address is for use in either the EC2-Classic
* platform or in a VPC. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html">Elastic
* IP Addresses</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* <p>[EC2-Classic, VPC in an EC2-VPC-only 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.</p> <p>[VPC in an EC2-Classic account] If you don't specify a
* private IP address, the Elastic IP address is associated with the primary IP
* address. If the Elastic IP address is already associated with a different
* instance or a network interface, you get an error unless you allow
* reassociation. You cannot associate an Elastic IP address with an instance or
* network interface that has an existing Elastic IP address.</p> <p>[Subnets in
* Wavelength Zones] You can associate an IP address from the telecommunication
* carrier to the instance or network interface. </p> <p>You cannot associate an
* Elastic IP address with an interface in a different network border group.</p>
* <p>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 <i>Elastic IP Addresses</i> section of <a
* href="http://aws.amazon.com/ec2/pricing/">Amazon EC2 Pricing</a>.</p>
* <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddress">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AssociateAddressOutcomeCallable AssociateAddressCallable(const Model::AssociateAddressRequest& request) const;
/**
* <p>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.</p> <p>An Elastic IP address is for use in either the EC2-Classic
* platform or in a VPC. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html">Elastic
* IP Addresses</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* <p>[EC2-Classic, VPC in an EC2-VPC-only 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.</p> <p>[VPC in an EC2-Classic account] If you don't specify a
* private IP address, the Elastic IP address is associated with the primary IP
* address. If the Elastic IP address is already associated with a different
* instance or a network interface, you get an error unless you allow
* reassociation. You cannot associate an Elastic IP address with an instance or
* network interface that has an existing Elastic IP address.</p> <p>[Subnets in
* Wavelength Zones] You can associate an IP address from the telecommunication
* carrier to the instance or network interface. </p> <p>You cannot associate an
* Elastic IP address with an interface in a different network border group.</p>
* <p>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 <i>Elastic IP Addresses</i> section of <a
* href="http://aws.amazon.com/ec2/pricing/">Amazon EC2 Pricing</a>.</p>
* <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddress">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AssociateAddressAsync(const Model::AssociateAddressRequest& request, const AssociateAddressResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p> <p>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 (<a>ModifyClientVpnEndpoint</a>)
* and change the VPC that's associated with it.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateClientVpnTargetNetwork">AWS
* API Reference</a></p>
*/
virtual Model::AssociateClientVpnTargetNetworkOutcome AssociateClientVpnTargetNetwork(const Model::AssociateClientVpnTargetNetworkRequest& request) const;
/**
* <p>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.</p> <p>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 (<a>ModifyClientVpnEndpoint</a>)
* and change the VPC that's associated with it.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateClientVpnTargetNetwork">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AssociateClientVpnTargetNetworkOutcomeCallable AssociateClientVpnTargetNetworkCallable(const Model::AssociateClientVpnTargetNetworkRequest& request) const;
/**
* <p>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.</p> <p>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 (<a>ModifyClientVpnEndpoint</a>)
* and change the VPC that's associated with it.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateClientVpnTargetNetwork">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AssociateClientVpnTargetNetworkAsync(const Model::AssociateClientVpnTargetNetworkRequest& request, const AssociateClientVpnTargetNetworkResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Associates a set of DHCP options (that you've previously created) with the
* specified VPC, or associates no DHCP options with the VPC.</p> <p>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.</p>
* <p>For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html">DHCP
* Options Sets</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptions">AWS
* API Reference</a></p>
*/
virtual Model::AssociateDhcpOptionsOutcome AssociateDhcpOptions(const Model::AssociateDhcpOptionsRequest& request) const;
/**
* <p>Associates a set of DHCP options (that you've previously created) with the
* specified VPC, or associates no DHCP options with the VPC.</p> <p>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.</p>
* <p>For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html">DHCP
* Options Sets</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptions">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AssociateDhcpOptionsOutcomeCallable AssociateDhcpOptionsCallable(const Model::AssociateDhcpOptionsRequest& request) const;
/**
* <p>Associates a set of DHCP options (that you've previously created) with the
* specified VPC, or associates no DHCP options with the VPC.</p> <p>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.</p>
* <p>For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html">DHCP
* Options Sets</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptions">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AssociateDhcpOptionsAsync(const Model::AssociateDhcpOptionsRequest& request, const AssociateDhcpOptionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Associates an IAM instance profile with a running or stopped instance. You
* cannot associate more than one IAM instance profile with an
* instance.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfile">AWS
* API Reference</a></p>
*/
virtual Model::AssociateIamInstanceProfileOutcome AssociateIamInstanceProfile(const Model::AssociateIamInstanceProfileRequest& request) const;
/**
* <p>Associates an IAM instance profile with a running or stopped instance. You
* cannot associate more than one IAM instance profile with an
* instance.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfile">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AssociateIamInstanceProfileOutcomeCallable AssociateIamInstanceProfileCallable(const Model::AssociateIamInstanceProfileRequest& request) const;
/**
* <p>Associates an IAM instance profile with a running or stopped instance. You
* cannot associate more than one IAM instance profile with an
* instance.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfile">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AssociateIamInstanceProfileAsync(const Model::AssociateIamInstanceProfileRequest& request, const AssociateIamInstanceProfileResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html">Route
* Tables</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTable">AWS
* API Reference</a></p>
*/
virtual Model::AssociateRouteTableOutcome AssociateRouteTable(const Model::AssociateRouteTableRequest& request) const;
/**
* <p>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.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html">Route
* Tables</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTable">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AssociateRouteTableOutcomeCallable AssociateRouteTableCallable(const Model::AssociateRouteTableRequest& request) const;
/**
* <p>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.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html">Route
* Tables</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTable">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AssociateRouteTableAsync(const Model::AssociateRouteTableRequest& request, const AssociateRouteTableResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Associates a CIDR block with your subnet. You can only associate a single
* IPv6 CIDR block with your subnet. An IPv6 CIDR block must have a prefix length
* of /64.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlock">AWS
* API Reference</a></p>
*/
virtual Model::AssociateSubnetCidrBlockOutcome AssociateSubnetCidrBlock(const Model::AssociateSubnetCidrBlockRequest& request) const;
/**
* <p>Associates a CIDR block with your subnet. You can only associate a single
* IPv6 CIDR block with your subnet. An IPv6 CIDR block must have a prefix length
* of /64.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlock">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AssociateSubnetCidrBlockOutcomeCallable AssociateSubnetCidrBlockCallable(const Model::AssociateSubnetCidrBlockRequest& request) const;
/**
* <p>Associates a CIDR block with your subnet. You can only associate a single
* IPv6 CIDR block with your subnet. An IPv6 CIDR block must have a prefix length
* of /64.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlock">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AssociateSubnetCidrBlockAsync(const Model::AssociateSubnetCidrBlockRequest& request, const AssociateSubnetCidrBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Associates the specified subnets and transit gateway attachments with the
* specified transit gateway multicast domain.</p> <p>The transit gateway
* attachment must be in the available state before you can add a resource. Use <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGatewayAttachments.html">DescribeTransitGatewayAttachments</a>
* to see the state of the attachment.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateTransitGatewayMulticastDomain">AWS
* API Reference</a></p>
*/
virtual Model::AssociateTransitGatewayMulticastDomainOutcome AssociateTransitGatewayMulticastDomain(const Model::AssociateTransitGatewayMulticastDomainRequest& request) const;
/**
* <p>Associates the specified subnets and transit gateway attachments with the
* specified transit gateway multicast domain.</p> <p>The transit gateway
* attachment must be in the available state before you can add a resource. Use <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGatewayAttachments.html">DescribeTransitGatewayAttachments</a>
* to see the state of the attachment.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateTransitGatewayMulticastDomain">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AssociateTransitGatewayMulticastDomainOutcomeCallable AssociateTransitGatewayMulticastDomainCallable(const Model::AssociateTransitGatewayMulticastDomainRequest& request) const;
/**
* <p>Associates the specified subnets and transit gateway attachments with the
* specified transit gateway multicast domain.</p> <p>The transit gateway
* attachment must be in the available state before you can add a resource. Use <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGatewayAttachments.html">DescribeTransitGatewayAttachments</a>
* to see the state of the attachment.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateTransitGatewayMulticastDomain">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AssociateTransitGatewayMulticastDomainAsync(const Model::AssociateTransitGatewayMulticastDomainRequest& request, const AssociateTransitGatewayMulticastDomainResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Associates the specified attachment with the specified transit gateway route
* table. You can associate only one route table with an attachment.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateTransitGatewayRouteTable">AWS
* API Reference</a></p>
*/
virtual Model::AssociateTransitGatewayRouteTableOutcome AssociateTransitGatewayRouteTable(const Model::AssociateTransitGatewayRouteTableRequest& request) const;
/**
* <p>Associates the specified attachment with the specified transit gateway route
* table. You can associate only one route table with an attachment.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateTransitGatewayRouteTable">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AssociateTransitGatewayRouteTableOutcomeCallable AssociateTransitGatewayRouteTableCallable(const Model::AssociateTransitGatewayRouteTableRequest& request) const;
/**
* <p>Associates the specified attachment with the specified transit gateway route
* table. You can associate only one route table with an attachment.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateTransitGatewayRouteTable">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AssociateTransitGatewayRouteTableAsync(const Model::AssociateTransitGatewayRouteTableRequest& request, const AssociateTransitGatewayRouteTableResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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 (<a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html">BYOIP</a>).
* The IPv6 CIDR block size is fixed at /56.</p> <p>You must specify one of the
* following in the request: an IPv4 CIDR block, an IPv6 pool, or an
* Amazon-provided IPv6 CIDR block.</p> <p>For more information about associating
* CIDR blocks with your VPC and applicable restrictions, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#VPC_Sizing">VPC
* and Subnet Sizing</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlock">AWS
* API Reference</a></p>
*/
virtual Model::AssociateVpcCidrBlockOutcome AssociateVpcCidrBlock(const Model::AssociateVpcCidrBlockRequest& request) const;
/**
* <p>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 (<a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html">BYOIP</a>).
* The IPv6 CIDR block size is fixed at /56.</p> <p>You must specify one of the
* following in the request: an IPv4 CIDR block, an IPv6 pool, or an
* Amazon-provided IPv6 CIDR block.</p> <p>For more information about associating
* CIDR blocks with your VPC and applicable restrictions, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#VPC_Sizing">VPC
* and Subnet Sizing</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlock">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AssociateVpcCidrBlockOutcomeCallable AssociateVpcCidrBlockCallable(const Model::AssociateVpcCidrBlockRequest& request) const;
/**
* <p>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 (<a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html">BYOIP</a>).
* The IPv6 CIDR block size is fixed at /56.</p> <p>You must specify one of the
* following in the request: an IPv4 CIDR block, an IPv6 pool, or an
* Amazon-provided IPv6 CIDR block.</p> <p>For more information about associating
* CIDR blocks with your VPC and applicable restrictions, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#VPC_Sizing">VPC
* and Subnet Sizing</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlock">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AssociateVpcCidrBlockAsync(const Model::AssociateVpcCidrBlockRequest& request, const AssociateVpcCidrBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or
* more of the VPC's 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
* <code>running</code> 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.</p>
* <p>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.</p> <p>Linking your instance to a
* VPC is sometimes referred to as <i>attaching</i> your instance.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpc">AWS
* API Reference</a></p>
*/
virtual Model::AttachClassicLinkVpcOutcome AttachClassicLinkVpc(const Model::AttachClassicLinkVpcRequest& request) const;
/**
* <p>Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or
* more of the VPC's 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
* <code>running</code> 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.</p>
* <p>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.</p> <p>Linking your instance to a
* VPC is sometimes referred to as <i>attaching</i> your instance.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpc">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AttachClassicLinkVpcOutcomeCallable AttachClassicLinkVpcCallable(const Model::AttachClassicLinkVpcRequest& request) const;
/**
* <p>Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or
* more of the VPC's 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
* <code>running</code> 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.</p>
* <p>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.</p> <p>Linking your instance to a
* VPC is sometimes referred to as <i>attaching</i> your instance.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpc">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AttachClassicLinkVpcAsync(const Model::AttachClassicLinkVpcRequest& request, const AttachClassicLinkVpcResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Attaches an internet gateway or a virtual private gateway to a VPC, enabling
* connectivity between the internet and the VPC. For more information about your
* VPC and internet gateway, see the <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/">Amazon Virtual Private
* Cloud User Guide</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGateway">AWS
* API Reference</a></p>
*/
virtual Model::AttachInternetGatewayOutcome AttachInternetGateway(const Model::AttachInternetGatewayRequest& request) const;
/**
* <p>Attaches an internet gateway or a virtual private gateway to a VPC, enabling
* connectivity between the internet and the VPC. For more information about your
* VPC and internet gateway, see the <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/">Amazon Virtual Private
* Cloud User Guide</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGateway">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AttachInternetGatewayOutcomeCallable AttachInternetGatewayCallable(const Model::AttachInternetGatewayRequest& request) const;
/**
* <p>Attaches an internet gateway or a virtual private gateway to a VPC, enabling
* connectivity between the internet and the VPC. For more information about your
* VPC and internet gateway, see the <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/">Amazon Virtual Private
* Cloud User Guide</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGateway">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AttachInternetGatewayAsync(const Model::AttachInternetGatewayRequest& request, const AttachInternetGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Attaches a network interface to an instance.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterface">AWS
* API Reference</a></p>
*/
virtual Model::AttachNetworkInterfaceOutcome AttachNetworkInterface(const Model::AttachNetworkInterfaceRequest& request) const;
/**
* <p>Attaches a network interface to an instance.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterface">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AttachNetworkInterfaceOutcomeCallable AttachNetworkInterfaceCallable(const Model::AttachNetworkInterfaceRequest& request) const;
/**
* <p>Attaches a network interface to an instance.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterface">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AttachNetworkInterfaceAsync(const Model::AttachNetworkInterfaceRequest& request, const AttachNetworkInterfaceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Attaches an EBS volume to a running or stopped instance and exposes it to the
* instance with the specified device name.</p> <p>Encrypted EBS volumes must be
* attached to instances that support Amazon EBS encryption. For more information,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html">Amazon
* EBS Encryption</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* <p>After you attach an EBS volume, you must make it available. For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using-volumes.html">Making
* an EBS volume available for use</a>.</p> <p>If a volume has an AWS Marketplace
* product code:</p> <ul> <li> <p>The volume can be attached only to a stopped
* instance.</p> </li> <li> <p>AWS Marketplace product codes are copied from the
* volume to the instance.</p> </li> <li> <p>You must be subscribed to the
* product.</p> </li> <li> <p>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.</p> </li> </ul> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html">Attaching
* Amazon EBS volumes</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVolume">AWS
* API Reference</a></p>
*/
virtual Model::AttachVolumeOutcome AttachVolume(const Model::AttachVolumeRequest& request) const;
/**
* <p>Attaches an EBS volume to a running or stopped instance and exposes it to the
* instance with the specified device name.</p> <p>Encrypted EBS volumes must be
* attached to instances that support Amazon EBS encryption. For more information,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html">Amazon
* EBS Encryption</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* <p>After you attach an EBS volume, you must make it available. For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using-volumes.html">Making
* an EBS volume available for use</a>.</p> <p>If a volume has an AWS Marketplace
* product code:</p> <ul> <li> <p>The volume can be attached only to a stopped
* instance.</p> </li> <li> <p>AWS Marketplace product codes are copied from the
* volume to the instance.</p> </li> <li> <p>You must be subscribed to the
* product.</p> </li> <li> <p>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.</p> </li> </ul> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html">Attaching
* Amazon EBS volumes</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVolume">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AttachVolumeOutcomeCallable AttachVolumeCallable(const Model::AttachVolumeRequest& request) const;
/**
* <p>Attaches an EBS volume to a running or stopped instance and exposes it to the
* instance with the specified device name.</p> <p>Encrypted EBS volumes must be
* attached to instances that support Amazon EBS encryption. For more information,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html">Amazon
* EBS Encryption</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* <p>After you attach an EBS volume, you must make it available. For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using-volumes.html">Making
* an EBS volume available for use</a>.</p> <p>If a volume has an AWS Marketplace
* product code:</p> <ul> <li> <p>The volume can be attached only to a stopped
* instance.</p> </li> <li> <p>AWS Marketplace product codes are copied from the
* volume to the instance.</p> </li> <li> <p>You must be subscribed to the
* product.</p> </li> <li> <p>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.</p> </li> </ul> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html">Attaching
* Amazon EBS volumes</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVolume">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AttachVolumeAsync(const Model::AttachVolumeRequest& request, const AttachVolumeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Attaches a virtual private gateway to a VPC. You can attach one virtual
* private gateway to one VPC at a time.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html">AWS
* Site-to-Site VPN</a> in the <i>AWS Site-to-Site VPN User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGateway">AWS
* API Reference</a></p>
*/
virtual Model::AttachVpnGatewayOutcome AttachVpnGateway(const Model::AttachVpnGatewayRequest& request) const;
/**
* <p>Attaches a virtual private gateway to a VPC. You can attach one virtual
* private gateway to one VPC at a time.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html">AWS
* Site-to-Site VPN</a> in the <i>AWS Site-to-Site VPN User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGateway">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AttachVpnGatewayOutcomeCallable AttachVpnGatewayCallable(const Model::AttachVpnGatewayRequest& request) const;
/**
* <p>Attaches a virtual private gateway to a VPC. You can attach one virtual
* private gateway to one VPC at a time.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html">AWS
* Site-to-Site VPN</a> in the <i>AWS Site-to-Site VPN User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGateway">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AttachVpnGatewayAsync(const Model::AttachVpnGatewayRequest& request, const AttachVpnGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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 AWS or on-premises networks.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeClientVpnIngress">AWS
* API Reference</a></p>
*/
virtual Model::AuthorizeClientVpnIngressOutcome AuthorizeClientVpnIngress(const Model::AuthorizeClientVpnIngressRequest& request) const;
/**
* <p>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 AWS or on-premises networks.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeClientVpnIngress">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AuthorizeClientVpnIngressOutcomeCallable AuthorizeClientVpnIngressCallable(const Model::AuthorizeClientVpnIngressRequest& request) const;
/**
* <p>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 AWS or on-premises networks.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeClientVpnIngress">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AuthorizeClientVpnIngressAsync(const Model::AuthorizeClientVpnIngressRequest& request, const AuthorizeClientVpnIngressResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>[VPC only] Adds the specified egress rules to a security group for use with a
* VPC.</p> <p>An outbound rule permits instances to send traffic to the specified
* IPv4 or IPv6 CIDR address ranges, or to the instances associated with the
* specified destination security groups.</p> <p>You specify a protocol for each
* rule (for example, TCP). For the TCP and UDP protocols, you must also specify
* the destination port or port range. For the ICMP protocol, you must also specify
* the ICMP type and code. You can use -1 for the type or code to mean all types or
* all codes.</p> <p>Rule changes are propagated to affected instances as quickly
* as possible. However, a small delay might occur.</p> <p>For more information
* about VPC security group limits, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html">Amazon
* VPC Limits</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgress">AWS
* API Reference</a></p>
*/
virtual Model::AuthorizeSecurityGroupEgressOutcome AuthorizeSecurityGroupEgress(const Model::AuthorizeSecurityGroupEgressRequest& request) const;
/**
* <p>[VPC only] Adds the specified egress rules to a security group for use with a
* VPC.</p> <p>An outbound rule permits instances to send traffic to the specified
* IPv4 or IPv6 CIDR address ranges, or to the instances associated with the
* specified destination security groups.</p> <p>You specify a protocol for each
* rule (for example, TCP). For the TCP and UDP protocols, you must also specify
* the destination port or port range. For the ICMP protocol, you must also specify
* the ICMP type and code. You can use -1 for the type or code to mean all types or
* all codes.</p> <p>Rule changes are propagated to affected instances as quickly
* as possible. However, a small delay might occur.</p> <p>For more information
* about VPC security group limits, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html">Amazon
* VPC Limits</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgress">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AuthorizeSecurityGroupEgressOutcomeCallable AuthorizeSecurityGroupEgressCallable(const Model::AuthorizeSecurityGroupEgressRequest& request) const;
/**
* <p>[VPC only] Adds the specified egress rules to a security group for use with a
* VPC.</p> <p>An outbound rule permits instances to send traffic to the specified
* IPv4 or IPv6 CIDR address ranges, or to the instances associated with the
* specified destination security groups.</p> <p>You specify a protocol for each
* rule (for example, TCP). For the TCP and UDP protocols, you must also specify
* the destination port or port range. For the ICMP protocol, you must also specify
* the ICMP type and code. You can use -1 for the type or code to mean all types or
* all codes.</p> <p>Rule changes are propagated to affected instances as quickly
* as possible. However, a small delay might occur.</p> <p>For more information
* about VPC security group limits, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html">Amazon
* VPC Limits</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgress">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AuthorizeSecurityGroupEgressAsync(const Model::AuthorizeSecurityGroupEgressRequest& request, const AuthorizeSecurityGroupEgressResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Adds the specified ingress rules to a security group.</p> <p>An inbound rule
* permits instances to receive traffic from the specified IPv4 or IPv6 CIDR
* address ranges, or from the instances associated with the specified destination
* security groups.</p> <p>You specify a protocol for each rule (for example, TCP).
* For TCP and UDP, you must also specify the destination port or port range. For
* ICMP/ICMPv6, you must also specify the ICMP/ICMPv6 type and code. You can use -1
* to mean all types or all codes.</p> <p>Rule changes are propagated to instances
* within the security group as quickly as possible. However, a small delay might
* occur.</p> <p>For more information about VPC security group limits, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html">Amazon
* VPC Limits</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngress">AWS
* API Reference</a></p>
*/
virtual Model::AuthorizeSecurityGroupIngressOutcome AuthorizeSecurityGroupIngress(const Model::AuthorizeSecurityGroupIngressRequest& request) const;
/**
* <p>Adds the specified ingress rules to a security group.</p> <p>An inbound rule
* permits instances to receive traffic from the specified IPv4 or IPv6 CIDR
* address ranges, or from the instances associated with the specified destination
* security groups.</p> <p>You specify a protocol for each rule (for example, TCP).
* For TCP and UDP, you must also specify the destination port or port range. For
* ICMP/ICMPv6, you must also specify the ICMP/ICMPv6 type and code. You can use -1
* to mean all types or all codes.</p> <p>Rule changes are propagated to instances
* within the security group as quickly as possible. However, a small delay might
* occur.</p> <p>For more information about VPC security group limits, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html">Amazon
* VPC Limits</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngress">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AuthorizeSecurityGroupIngressOutcomeCallable AuthorizeSecurityGroupIngressCallable(const Model::AuthorizeSecurityGroupIngressRequest& request) const;
/**
* <p>Adds the specified ingress rules to a security group.</p> <p>An inbound rule
* permits instances to receive traffic from the specified IPv4 or IPv6 CIDR
* address ranges, or from the instances associated with the specified destination
* security groups.</p> <p>You specify a protocol for each rule (for example, TCP).
* For TCP and UDP, you must also specify the destination port or port range. For
* ICMP/ICMPv6, you must also specify the ICMP/ICMPv6 type and code. You can use -1
* to mean all types or all codes.</p> <p>Rule changes are propagated to instances
* within the security group as quickly as possible. However, a small delay might
* occur.</p> <p>For more information about VPC security group limits, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html">Amazon
* VPC Limits</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngress">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AuthorizeSecurityGroupIngressAsync(const Model::AuthorizeSecurityGroupIngressRequest& request, const AuthorizeSecurityGroupIngressResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Bundles an Amazon instance store-backed Windows instance.</p> <p>During
* bundling, only the root device volume (C:\) is bundled. Data on other instance
* store volumes is not preserved.</p> <p>This action is not applicable for
* Linux/Unix instances or Windows instances that are backed by Amazon EBS.</p>
* <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstance">AWS
* API Reference</a></p>
*/
virtual Model::BundleInstanceOutcome BundleInstance(const Model::BundleInstanceRequest& request) const;
/**
* <p>Bundles an Amazon instance store-backed Windows instance.</p> <p>During
* bundling, only the root device volume (C:\) is bundled. Data on other instance
* store volumes is not preserved.</p> <p>This action is not applicable for
* Linux/Unix instances or Windows instances that are backed by Amazon EBS.</p>
* <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstance">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::BundleInstanceOutcomeCallable BundleInstanceCallable(const Model::BundleInstanceRequest& request) const;
/**
* <p>Bundles an Amazon instance store-backed Windows instance.</p> <p>During
* bundling, only the root device volume (C:\) is bundled. Data on other instance
* store volumes is not preserved.</p> <p>This action is not applicable for
* Linux/Unix instances or Windows instances that are backed by Amazon EBS.</p>
* <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstance">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void BundleInstanceAsync(const Model::BundleInstanceRequest& request, const BundleInstanceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Cancels a bundling operation for an instance store-backed Windows
* instance.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTask">AWS
* API Reference</a></p>
*/
virtual Model::CancelBundleTaskOutcome CancelBundleTask(const Model::CancelBundleTaskRequest& request) const;
/**
* <p>Cancels a bundling operation for an instance store-backed Windows
* instance.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTask">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CancelBundleTaskOutcomeCallable CancelBundleTaskCallable(const Model::CancelBundleTaskRequest& request) const;
/**
* <p>Cancels a bundling operation for an instance store-backed Windows
* instance.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTask">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CancelBundleTaskAsync(const Model::CancelBundleTaskRequest& request, const CancelBundleTaskResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Cancels the specified Capacity Reservation, releases the reserved capacity,
* and changes the Capacity Reservation's state to <code>cancelled</code>.</p>
* <p>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.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelCapacityReservation">AWS
* API Reference</a></p>
*/
virtual Model::CancelCapacityReservationOutcome CancelCapacityReservation(const Model::CancelCapacityReservationRequest& request) const;
/**
* <p>Cancels the specified Capacity Reservation, releases the reserved capacity,
* and changes the Capacity Reservation's state to <code>cancelled</code>.</p>
* <p>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.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelCapacityReservation">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CancelCapacityReservationOutcomeCallable CancelCapacityReservationCallable(const Model::CancelCapacityReservationRequest& request) const;
/**
* <p>Cancels the specified Capacity Reservation, releases the reserved capacity,
* and changes the Capacity Reservation's state to <code>cancelled</code>.</p>
* <p>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.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelCapacityReservation">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CancelCapacityReservationAsync(const Model::CancelCapacityReservationRequest& request, const CancelCapacityReservationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html">Importing
* a Virtual Machine Using the Amazon EC2 CLI</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionTask">AWS
* API Reference</a></p>
*/
virtual Model::CancelConversionTaskOutcome CancelConversionTask(const Model::CancelConversionTaskRequest& request) const;
/**
* <p>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.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html">Importing
* a Virtual Machine Using the Amazon EC2 CLI</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionTask">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CancelConversionTaskOutcomeCallable CancelConversionTaskCallable(const Model::CancelConversionTaskRequest& request) const;
/**
* <p>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.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html">Importing
* a Virtual Machine Using the Amazon EC2 CLI</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionTask">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CancelConversionTaskAsync(const Model::CancelConversionTaskRequest& request, const CancelConversionTaskResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTask">AWS
* API Reference</a></p>
*/
virtual Model::CancelExportTaskOutcome CancelExportTask(const Model::CancelExportTaskRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTask">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CancelExportTaskOutcomeCallable CancelExportTaskCallable(const Model::CancelExportTaskRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTask">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CancelExportTaskAsync(const Model::CancelExportTaskRequest& request, const CancelExportTaskResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Cancels an in-process import virtual machine or import snapshot
* task.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTask">AWS
* API Reference</a></p>
*/
virtual Model::CancelImportTaskOutcome CancelImportTask(const Model::CancelImportTaskRequest& request) const;
/**
* <p>Cancels an in-process import virtual machine or import snapshot
* task.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTask">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CancelImportTaskOutcomeCallable CancelImportTaskCallable(const Model::CancelImportTaskRequest& request) const;
/**
* <p>Cancels an in-process import virtual machine or import snapshot
* task.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTask">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CancelImportTaskAsync(const Model::CancelImportTaskRequest& request, const CancelImportTaskResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Cancels the specified Reserved Instance listing in the Reserved Instance
* Marketplace.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html">Reserved
* Instance Marketplace</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListing">AWS
* API Reference</a></p>
*/
virtual Model::CancelReservedInstancesListingOutcome CancelReservedInstancesListing(const Model::CancelReservedInstancesListingRequest& request) const;
/**
* <p>Cancels the specified Reserved Instance listing in the Reserved Instance
* Marketplace.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html">Reserved
* Instance Marketplace</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListing">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CancelReservedInstancesListingOutcomeCallable CancelReservedInstancesListingCallable(const Model::CancelReservedInstancesListingRequest& request) const;
/**
* <p>Cancels the specified Reserved Instance listing in the Reserved Instance
* Marketplace.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html">Reserved
* Instance Marketplace</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListing">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CancelReservedInstancesListingAsync(const Model::CancelReservedInstancesListingRequest& request, const CancelReservedInstancesListingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Cancels the specified Spot Fleet requests.</p> <p>After you cancel a Spot
* Fleet request, the Spot Fleet launches no new Spot Instances. You must specify
* whether the Spot Fleet should also terminate its Spot Instances. If you
* terminate the instances, the Spot Fleet request enters the
* <code>cancelled_terminating</code> state. Otherwise, the Spot Fleet request
* enters the <code>cancelled_running</code> state and the instances continue to
* run until they are interrupted or you terminate them manually.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequests">AWS
* API Reference</a></p>
*/
virtual Model::CancelSpotFleetRequestsOutcome CancelSpotFleetRequests(const Model::CancelSpotFleetRequestsRequest& request) const;
/**
* <p>Cancels the specified Spot Fleet requests.</p> <p>After you cancel a Spot
* Fleet request, the Spot Fleet launches no new Spot Instances. You must specify
* whether the Spot Fleet should also terminate its Spot Instances. If you
* terminate the instances, the Spot Fleet request enters the
* <code>cancelled_terminating</code> state. Otherwise, the Spot Fleet request
* enters the <code>cancelled_running</code> state and the instances continue to
* run until they are interrupted or you terminate them manually.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequests">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CancelSpotFleetRequestsOutcomeCallable CancelSpotFleetRequestsCallable(const Model::CancelSpotFleetRequestsRequest& request) const;
/**
* <p>Cancels the specified Spot Fleet requests.</p> <p>After you cancel a Spot
* Fleet request, the Spot Fleet launches no new Spot Instances. You must specify
* whether the Spot Fleet should also terminate its Spot Instances. If you
* terminate the instances, the Spot Fleet request enters the
* <code>cancelled_terminating</code> state. Otherwise, the Spot Fleet request
* enters the <code>cancelled_running</code> state and the instances continue to
* run until they are interrupted or you terminate them manually.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequests">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CancelSpotFleetRequestsAsync(const Model::CancelSpotFleetRequestsRequest& request, const CancelSpotFleetRequestsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Cancels one or more Spot Instance requests.</p> <p>Canceling a
* Spot Instance request does not terminate running Spot Instances associated with
* the request.</p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequests">AWS
* API Reference</a></p>
*/
virtual Model::CancelSpotInstanceRequestsOutcome CancelSpotInstanceRequests(const Model::CancelSpotInstanceRequestsRequest& request) const;
/**
* <p>Cancels one or more Spot Instance requests.</p> <p>Canceling a
* Spot Instance request does not terminate running Spot Instances associated with
* the request.</p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequests">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CancelSpotInstanceRequestsOutcomeCallable CancelSpotInstanceRequestsCallable(const Model::CancelSpotInstanceRequestsRequest& request) const;
/**
* <p>Cancels one or more Spot Instance requests.</p> <p>Canceling a
* Spot Instance request does not terminate running Spot Instances associated with
* the request.</p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequests">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CancelSpotInstanceRequestsAsync(const Model::CancelSpotInstanceRequestsRequest& request, const CancelSpotInstanceRequestsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstance">AWS
* API Reference</a></p>
*/
virtual Model::ConfirmProductInstanceOutcome ConfirmProductInstance(const Model::ConfirmProductInstanceRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstance">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ConfirmProductInstanceOutcomeCallable ConfirmProductInstanceCallable(const Model::ConfirmProductInstanceRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstance">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ConfirmProductInstanceAsync(const Model::ConfirmProductInstanceRequest& request, const ConfirmProductInstanceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Copies the specified Amazon FPGA Image (AFI) to the current
* Region.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyFpgaImage">AWS
* API Reference</a></p>
*/
virtual Model::CopyFpgaImageOutcome CopyFpgaImage(const Model::CopyFpgaImageRequest& request) const;
/**
* <p>Copies the specified Amazon FPGA Image (AFI) to the current
* Region.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyFpgaImage">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CopyFpgaImageOutcomeCallable CopyFpgaImageCallable(const Model::CopyFpgaImageRequest& request) const;
/**
* <p>Copies the specified Amazon FPGA Image (AFI) to the current
* Region.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyFpgaImage">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CopyFpgaImageAsync(const Model::CopyFpgaImageRequest& request, const CopyFpgaImageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Initiates the copy of an AMI from the specified source Region to the current
* Region. You specify the destination Region by using its endpoint when making the
* request.</p> <p>Copies of encrypted backing snapshots for the AMI are encrypted.
* Copies of unencrypted backing snapshots remain unencrypted, unless you set
* <code>Encrypted</code> during the copy operation. You cannot create an
* unencrypted copy of an encrypted backing snapshot.</p> <p>For more information
* about the prerequisites and limits when copying an AMI, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html">Copying
* an AMI</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImage">AWS API
* Reference</a></p>
*/
virtual Model::CopyImageOutcome CopyImage(const Model::CopyImageRequest& request) const;
/**
* <p>Initiates the copy of an AMI from the specified source Region to the current
* Region. You specify the destination Region by using its endpoint when making the
* request.</p> <p>Copies of encrypted backing snapshots for the AMI are encrypted.
* Copies of unencrypted backing snapshots remain unencrypted, unless you set
* <code>Encrypted</code> during the copy operation. You cannot create an
* unencrypted copy of an encrypted backing snapshot.</p> <p>For more information
* about the prerequisites and limits when copying an AMI, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html">Copying
* an AMI</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImage">AWS API
* Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CopyImageOutcomeCallable CopyImageCallable(const Model::CopyImageRequest& request) const;
/**
* <p>Initiates the copy of an AMI from the specified source Region to the current
* Region. You specify the destination Region by using its endpoint when making the
* request.</p> <p>Copies of encrypted backing snapshots for the AMI are encrypted.
* Copies of unencrypted backing snapshots remain unencrypted, unless you set
* <code>Encrypted</code> during the copy operation. You cannot create an
* unencrypted copy of an encrypted backing snapshot.</p> <p>For more information
* about the prerequisites and limits when copying an AMI, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html">Copying
* an AMI</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImage">AWS API
* Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CopyImageAsync(const Model::CopyImageRequest& request, const CopyImageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Copies a point-in-time snapshot of an EBS volume and stores it in Amazon S3.
* You can copy the snapshot within the same Region or from one Region to another.
* You can use the snapshot to create EBS volumes or Amazon Machine Images
* (AMIs).</p> <p>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
* AWS Key Management Service (AWS KMS) customer master key (CMK); however, you can
* specify a different CMK.</p> <p>To copy an encrypted snapshot that has been
* shared from another account, you must have permissions for the CMK used to
* encrypt the snapshot.</p> <p>Snapshots created by copying another snapshot have
* an arbitrary volume ID that should not be used for any purpose.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html">Copying
* an Amazon EBS snapshot</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshot">AWS
* API Reference</a></p>
*/
virtual Model::CopySnapshotOutcome CopySnapshot(const Model::CopySnapshotRequest& request) const;
/**
* <p>Copies a point-in-time snapshot of an EBS volume and stores it in Amazon S3.
* You can copy the snapshot within the same Region or from one Region to another.
* You can use the snapshot to create EBS volumes or Amazon Machine Images
* (AMIs).</p> <p>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
* AWS Key Management Service (AWS KMS) customer master key (CMK); however, you can
* specify a different CMK.</p> <p>To copy an encrypted snapshot that has been
* shared from another account, you must have permissions for the CMK used to
* encrypt the snapshot.</p> <p>Snapshots created by copying another snapshot have
* an arbitrary volume ID that should not be used for any purpose.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html">Copying
* an Amazon EBS snapshot</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshot">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CopySnapshotOutcomeCallable CopySnapshotCallable(const Model::CopySnapshotRequest& request) const;
/**
* <p>Copies a point-in-time snapshot of an EBS volume and stores it in Amazon S3.
* You can copy the snapshot within the same Region or from one Region to another.
* You can use the snapshot to create EBS volumes or Amazon Machine Images
* (AMIs).</p> <p>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
* AWS Key Management Service (AWS KMS) customer master key (CMK); however, you can
* specify a different CMK.</p> <p>To copy an encrypted snapshot that has been
* shared from another account, you must have permissions for the CMK used to
* encrypt the snapshot.</p> <p>Snapshots created by copying another snapshot have
* an arbitrary volume ID that should not be used for any purpose.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html">Copying
* an Amazon EBS snapshot</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshot">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CopySnapshotAsync(const Model::CopySnapshotRequest& request, const CopySnapshotResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates a new Capacity Reservation with the specified attributes.</p>
* <p>Capacity Reservations enable you to reserve capacity for your Amazon EC2
* instances in a specific Availability Zone for any duration. This gives you the
* flexibility to selectively add capacity reservations and still get the Regional
* RI discounts for that usage. By creating Capacity Reservations, you ensure that
* you always have access to Amazon EC2 capacity when you need it, for as long as
* you need it. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html">Capacity
* Reservations</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* <p>Your request to create a Capacity Reservation could fail if Amazon EC2 does
* not have sufficient capacity to fulfill the request. If your request fails due
* to Amazon EC2 capacity constraints, either try again at a later time, try in a
* different Availability Zone, or request a smaller capacity reservation. If your
* application is flexible across instance types and sizes, try to create a
* Capacity Reservation with different instance attributes.</p> <p>Your request
* could also fail if the requested quantity exceeds your On-Demand Instance limit
* for the selected instance type. If your request fails due to limit constraints,
* increase your On-Demand Instance limit for the required instance type and try
* again. For more information about increasing your instance limits, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html">Amazon
* EC2 Service Limits</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCapacityReservation">AWS
* API Reference</a></p>
*/
virtual Model::CreateCapacityReservationOutcome CreateCapacityReservation(const Model::CreateCapacityReservationRequest& request) const;
/**
* <p>Creates a new Capacity Reservation with the specified attributes.</p>
* <p>Capacity Reservations enable you to reserve capacity for your Amazon EC2
* instances in a specific Availability Zone for any duration. This gives you the
* flexibility to selectively add capacity reservations and still get the Regional
* RI discounts for that usage. By creating Capacity Reservations, you ensure that
* you always have access to Amazon EC2 capacity when you need it, for as long as
* you need it. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html">Capacity
* Reservations</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* <p>Your request to create a Capacity Reservation could fail if Amazon EC2 does
* not have sufficient capacity to fulfill the request. If your request fails due
* to Amazon EC2 capacity constraints, either try again at a later time, try in a
* different Availability Zone, or request a smaller capacity reservation. If your
* application is flexible across instance types and sizes, try to create a
* Capacity Reservation with different instance attributes.</p> <p>Your request
* could also fail if the requested quantity exceeds your On-Demand Instance limit
* for the selected instance type. If your request fails due to limit constraints,
* increase your On-Demand Instance limit for the required instance type and try
* again. For more information about increasing your instance limits, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html">Amazon
* EC2 Service Limits</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCapacityReservation">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateCapacityReservationOutcomeCallable CreateCapacityReservationCallable(const Model::CreateCapacityReservationRequest& request) const;
/**
* <p>Creates a new Capacity Reservation with the specified attributes.</p>
* <p>Capacity Reservations enable you to reserve capacity for your Amazon EC2
* instances in a specific Availability Zone for any duration. This gives you the
* flexibility to selectively add capacity reservations and still get the Regional
* RI discounts for that usage. By creating Capacity Reservations, you ensure that
* you always have access to Amazon EC2 capacity when you need it, for as long as
* you need it. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html">Capacity
* Reservations</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* <p>Your request to create a Capacity Reservation could fail if Amazon EC2 does
* not have sufficient capacity to fulfill the request. If your request fails due
* to Amazon EC2 capacity constraints, either try again at a later time, try in a
* different Availability Zone, or request a smaller capacity reservation. If your
* application is flexible across instance types and sizes, try to create a
* Capacity Reservation with different instance attributes.</p> <p>Your request
* could also fail if the requested quantity exceeds your On-Demand Instance limit
* for the selected instance type. If your request fails due to limit constraints,
* increase your On-Demand Instance limit for the required instance type and try
* again. For more information about increasing your instance limits, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html">Amazon
* EC2 Service Limits</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCapacityReservation">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateCapacityReservationAsync(const Model::CreateCapacityReservationRequest& request, const CreateCapacityReservationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates a carrier gateway. For more information about carrier gateways, see
* <a
* href="https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#wavelength-carrier-gateway">Carrier
* gateways</a> in the <i>AWS Wavelength Developer Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCarrierGateway">AWS
* API Reference</a></p>
*/
virtual Model::CreateCarrierGatewayOutcome CreateCarrierGateway(const Model::CreateCarrierGatewayRequest& request) const;
/**
* <p>Creates a carrier gateway. For more information about carrier gateways, see
* <a
* href="https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#wavelength-carrier-gateway">Carrier
* gateways</a> in the <i>AWS Wavelength Developer Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCarrierGateway">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateCarrierGatewayOutcomeCallable CreateCarrierGatewayCallable(const Model::CreateCarrierGatewayRequest& request) const;
/**
* <p>Creates a carrier gateway. For more information about carrier gateways, see
* <a
* href="https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#wavelength-carrier-gateway">Carrier
* gateways</a> in the <i>AWS Wavelength Developer Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCarrierGateway">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateCarrierGatewayAsync(const Model::CreateCarrierGatewayRequest& request, const CreateCarrierGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnEndpoint">AWS
* API Reference</a></p>
*/
virtual Model::CreateClientVpnEndpointOutcome CreateClientVpnEndpoint(const Model::CreateClientVpnEndpointRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnEndpoint">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateClientVpnEndpointOutcomeCallable CreateClientVpnEndpointCallable(const Model::CreateClientVpnEndpointRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnEndpoint">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateClientVpnEndpointAsync(const Model::CreateClientVpnEndpointRequest& request, const CreateClientVpnEndpointResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnRoute">AWS
* API Reference</a></p>
*/
virtual Model::CreateClientVpnRouteOutcome CreateClientVpnRoute(const Model::CreateClientVpnRouteRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnRoute">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateClientVpnRouteOutcomeCallable CreateClientVpnRouteCallable(const Model::CreateClientVpnRouteRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnRoute">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateClientVpnRouteAsync(const Model::CreateClientVpnRouteRequest& request, const CreateClientVpnRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Provides information to AWS about your VPN customer gateway device. The
* customer gateway is the appliance at your end of the VPN connection. (The device
* on the AWS side of the VPN connection is the virtual private gateway.) You must
* provide the Internet-routable IP address of the customer gateway's external
* interface. The IP address must be static and can be behind a device performing
* network address translation (NAT).</p> <p>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 (in the 64512 - 65534 range).</p>
* <p>Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534,
* with the exception of 7224, which is reserved in the <code>us-east-1</code>
* Region, and 9059, which is reserved in the <code>eu-west-1</code> Region.</p>
* <p>For more information, see <a
* href="https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html">AWS
* Site-to-Site VPN</a> in the <i>AWS Site-to-Site VPN User Guide</i>.</p>
* <p>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.
* Identical requests return information about the existing customer gateway and do
* not create new customer gateways.</p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGateway">AWS
* API Reference</a></p>
*/
virtual Model::CreateCustomerGatewayOutcome CreateCustomerGateway(const Model::CreateCustomerGatewayRequest& request) const;
/**
* <p>Provides information to AWS about your VPN customer gateway device. The
* customer gateway is the appliance at your end of the VPN connection. (The device
* on the AWS side of the VPN connection is the virtual private gateway.) You must
* provide the Internet-routable IP address of the customer gateway's external
* interface. The IP address must be static and can be behind a device performing
* network address translation (NAT).</p> <p>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 (in the 64512 - 65534 range).</p>
* <p>Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534,
* with the exception of 7224, which is reserved in the <code>us-east-1</code>
* Region, and 9059, which is reserved in the <code>eu-west-1</code> Region.</p>
* <p>For more information, see <a
* href="https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html">AWS
* Site-to-Site VPN</a> in the <i>AWS Site-to-Site VPN User Guide</i>.</p>
* <p>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.
* Identical requests return information about the existing customer gateway and do
* not create new customer gateways.</p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGateway">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateCustomerGatewayOutcomeCallable CreateCustomerGatewayCallable(const Model::CreateCustomerGatewayRequest& request) const;
/**
* <p>Provides information to AWS about your VPN customer gateway device. The
* customer gateway is the appliance at your end of the VPN connection. (The device
* on the AWS side of the VPN connection is the virtual private gateway.) You must
* provide the Internet-routable IP address of the customer gateway's external
* interface. The IP address must be static and can be behind a device performing
* network address translation (NAT).</p> <p>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 (in the 64512 - 65534 range).</p>
* <p>Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534,
* with the exception of 7224, which is reserved in the <code>us-east-1</code>
* Region, and 9059, which is reserved in the <code>eu-west-1</code> Region.</p>
* <p>For more information, see <a
* href="https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html">AWS
* Site-to-Site VPN</a> in the <i>AWS Site-to-Site VPN User Guide</i>.</p>
* <p>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.
* Identical requests return information about the existing customer gateway and do
* not create new customer gateways.</p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGateway">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateCustomerGatewayAsync(const Model::CreateCustomerGatewayRequest& request, const CreateCustomerGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates a default subnet with a size <code>/20</code> 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 <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html#create-default-subnet">Creating
* a Default Subnet</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultSubnet">AWS
* API Reference</a></p>
*/
virtual Model::CreateDefaultSubnetOutcome CreateDefaultSubnet(const Model::CreateDefaultSubnetRequest& request) const;
/**
* <p>Creates a default subnet with a size <code>/20</code> 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 <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html#create-default-subnet">Creating
* a Default Subnet</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultSubnet">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateDefaultSubnetOutcomeCallable CreateDefaultSubnetCallable(const Model::CreateDefaultSubnetRequest& request) const;
/**
* <p>Creates a default subnet with a size <code>/20</code> 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 <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html#create-default-subnet">Creating
* a Default Subnet</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultSubnet">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateDefaultSubnetAsync(const Model::CreateDefaultSubnetRequest& request, const CreateDefaultSubnetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates a default VPC with a size <code>/16</code> IPv4 CIDR block and a
* default subnet in each Availability Zone. For more information about the
* components of a default VPC, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html">Default
* VPC and Default Subnets</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>. You cannot specify the components of the default VPC yourself.</p>
* <p>If you deleted your previous default VPC, you can create a default VPC. You
* cannot have more than one default VPC per Region.</p> <p>If your account
* supports EC2-Classic, you cannot use this action to create a default VPC in a
* Region that supports EC2-Classic. If you want a default VPC in a Region that
* supports EC2-Classic, see "I really want a default VPC for my existing EC2
* account. Is that possible?" in the <a
* href="http://aws.amazon.com/vpc/faqs/#Default_VPCs">Default VPCs
* FAQ</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpc">AWS
* API Reference</a></p>
*/
virtual Model::CreateDefaultVpcOutcome CreateDefaultVpc(const Model::CreateDefaultVpcRequest& request) const;
/**
* <p>Creates a default VPC with a size <code>/16</code> IPv4 CIDR block and a
* default subnet in each Availability Zone. For more information about the
* components of a default VPC, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html">Default
* VPC and Default Subnets</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>. You cannot specify the components of the default VPC yourself.</p>
* <p>If you deleted your previous default VPC, you can create a default VPC. You
* cannot have more than one default VPC per Region.</p> <p>If your account
* supports EC2-Classic, you cannot use this action to create a default VPC in a
* Region that supports EC2-Classic. If you want a default VPC in a Region that
* supports EC2-Classic, see "I really want a default VPC for my existing EC2
* account. Is that possible?" in the <a
* href="http://aws.amazon.com/vpc/faqs/#Default_VPCs">Default VPCs
* FAQ</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpc">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateDefaultVpcOutcomeCallable CreateDefaultVpcCallable(const Model::CreateDefaultVpcRequest& request) const;
/**
* <p>Creates a default VPC with a size <code>/16</code> IPv4 CIDR block and a
* default subnet in each Availability Zone. For more information about the
* components of a default VPC, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html">Default
* VPC and Default Subnets</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>. You cannot specify the components of the default VPC yourself.</p>
* <p>If you deleted your previous default VPC, you can create a default VPC. You
* cannot have more than one default VPC per Region.</p> <p>If your account
* supports EC2-Classic, you cannot use this action to create a default VPC in a
* Region that supports EC2-Classic. If you want a default VPC in a Region that
* supports EC2-Classic, see "I really want a default VPC for my existing EC2
* account. Is that possible?" in the <a
* href="http://aws.amazon.com/vpc/faqs/#Default_VPCs">Default VPCs
* FAQ</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpc">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateDefaultVpcAsync(const Model::CreateDefaultVpcRequest& request, const CreateDefaultVpcResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates a set of DHCP options for your VPC. After creating the set, you must
* associate it with the VPC, causing all existing and new instances that you
* launch in the VPC to use this set of DHCP options. The following are the
* individual DHCP options you can specify. For more information about the options,
* see <a href="http://www.ietf.org/rfc/rfc2132.txt">RFC 2132</a>.</p> <ul> <li>
* <p> <code>domain-name-servers</code> - The IP addresses of up to four domain
* name servers, or AmazonProvidedDNS. The default DHCP option set specifies
* AmazonProvidedDNS. If specifying more than one domain name server, specify the
* IP addresses in a single parameter, separated by commas. To have your instance
* receive a custom DNS hostname as specified in <code>domain-name</code>, you must
* set <code>domain-name-servers</code> to a custom DNS server.</p> </li> <li> <p>
* <code>domain-name</code> - If you're using AmazonProvidedDNS in
* <code>us-east-1</code>, specify <code>ec2.internal</code>. If you're using
* AmazonProvidedDNS in another Region, specify
* <code>region.compute.internal</code> (for example,
* <code>ap-northeast-1.compute.internal</code>). Otherwise, specify a domain name
* (for example, <code>ExampleCompany.com</code>). This value is used to complete
* unqualified DNS hostnames. <b>Important</b>: 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 options set is associated with a VPC that has
* instances with multiple operating systems, specify only one domain name.</p>
* </li> <li> <p> <code>ntp-servers</code> - The IP addresses of up to four Network
* Time Protocol (NTP) servers.</p> </li> <li> <p>
* <code>netbios-name-servers</code> - The IP addresses of up to four NetBIOS name
* servers.</p> </li> <li> <p> <code>netbios-node-type</code> - The NetBIOS node
* type (1, 2, 4, or 8). We recommend that you specify 2 (broadcast and multicast
* are not currently supported). For more information about these node types, see
* <a href="http://www.ietf.org/rfc/rfc2132.txt">RFC 2132</a>.</p> </li> </ul>
* <p>Your VPC automatically starts out with a set of DHCP options that includes
* only a DNS server that we provide (AmazonProvidedDNS). If you create a set of
* options, and if your VPC has an internet gateway, make sure to set the
* <code>domain-name-servers</code> option either to <code>AmazonProvidedDNS</code>
* or to a domain name server of your choice. For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html">DHCP
* Options Sets</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptions">AWS
* API Reference</a></p>
*/
virtual Model::CreateDhcpOptionsOutcome CreateDhcpOptions(const Model::CreateDhcpOptionsRequest& request) const;
/**
* <p>Creates a set of DHCP options for your VPC. After creating the set, you must
* associate it with the VPC, causing all existing and new instances that you
* launch in the VPC to use this set of DHCP options. The following are the
* individual DHCP options you can specify. For more information about the options,
* see <a href="http://www.ietf.org/rfc/rfc2132.txt">RFC 2132</a>.</p> <ul> <li>
* <p> <code>domain-name-servers</code> - The IP addresses of up to four domain
* name servers, or AmazonProvidedDNS. The default DHCP option set specifies
* AmazonProvidedDNS. If specifying more than one domain name server, specify the
* IP addresses in a single parameter, separated by commas. To have your instance
* receive a custom DNS hostname as specified in <code>domain-name</code>, you must
* set <code>domain-name-servers</code> to a custom DNS server.</p> </li> <li> <p>
* <code>domain-name</code> - If you're using AmazonProvidedDNS in
* <code>us-east-1</code>, specify <code>ec2.internal</code>. If you're using
* AmazonProvidedDNS in another Region, specify
* <code>region.compute.internal</code> (for example,
* <code>ap-northeast-1.compute.internal</code>). Otherwise, specify a domain name
* (for example, <code>ExampleCompany.com</code>). This value is used to complete
* unqualified DNS hostnames. <b>Important</b>: 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 options set is associated with a VPC that has
* instances with multiple operating systems, specify only one domain name.</p>
* </li> <li> <p> <code>ntp-servers</code> - The IP addresses of up to four Network
* Time Protocol (NTP) servers.</p> </li> <li> <p>
* <code>netbios-name-servers</code> - The IP addresses of up to four NetBIOS name
* servers.</p> </li> <li> <p> <code>netbios-node-type</code> - The NetBIOS node
* type (1, 2, 4, or 8). We recommend that you specify 2 (broadcast and multicast
* are not currently supported). For more information about these node types, see
* <a href="http://www.ietf.org/rfc/rfc2132.txt">RFC 2132</a>.</p> </li> </ul>
* <p>Your VPC automatically starts out with a set of DHCP options that includes
* only a DNS server that we provide (AmazonProvidedDNS). If you create a set of
* options, and if your VPC has an internet gateway, make sure to set the
* <code>domain-name-servers</code> option either to <code>AmazonProvidedDNS</code>
* or to a domain name server of your choice. For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html">DHCP
* Options Sets</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptions">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateDhcpOptionsOutcomeCallable CreateDhcpOptionsCallable(const Model::CreateDhcpOptionsRequest& request) const;
/**
* <p>Creates a set of DHCP options for your VPC. After creating the set, you must
* associate it with the VPC, causing all existing and new instances that you
* launch in the VPC to use this set of DHCP options. The following are the
* individual DHCP options you can specify. For more information about the options,
* see <a href="http://www.ietf.org/rfc/rfc2132.txt">RFC 2132</a>.</p> <ul> <li>
* <p> <code>domain-name-servers</code> - The IP addresses of up to four domain
* name servers, or AmazonProvidedDNS. The default DHCP option set specifies
* AmazonProvidedDNS. If specifying more than one domain name server, specify the
* IP addresses in a single parameter, separated by commas. To have your instance
* receive a custom DNS hostname as specified in <code>domain-name</code>, you must
* set <code>domain-name-servers</code> to a custom DNS server.</p> </li> <li> <p>
* <code>domain-name</code> - If you're using AmazonProvidedDNS in
* <code>us-east-1</code>, specify <code>ec2.internal</code>. If you're using
* AmazonProvidedDNS in another Region, specify
* <code>region.compute.internal</code> (for example,
* <code>ap-northeast-1.compute.internal</code>). Otherwise, specify a domain name
* (for example, <code>ExampleCompany.com</code>). This value is used to complete
* unqualified DNS hostnames. <b>Important</b>: 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 options set is associated with a VPC that has
* instances with multiple operating systems, specify only one domain name.</p>
* </li> <li> <p> <code>ntp-servers</code> - The IP addresses of up to four Network
* Time Protocol (NTP) servers.</p> </li> <li> <p>
* <code>netbios-name-servers</code> - The IP addresses of up to four NetBIOS name
* servers.</p> </li> <li> <p> <code>netbios-node-type</code> - The NetBIOS node
* type (1, 2, 4, or 8). We recommend that you specify 2 (broadcast and multicast
* are not currently supported). For more information about these node types, see
* <a href="http://www.ietf.org/rfc/rfc2132.txt">RFC 2132</a>.</p> </li> </ul>
* <p>Your VPC automatically starts out with a set of DHCP options that includes
* only a DNS server that we provide (AmazonProvidedDNS). If you create a set of
* options, and if your VPC has an internet gateway, make sure to set the
* <code>domain-name-servers</code> option either to <code>AmazonProvidedDNS</code>
* or to a domain name server of your choice. For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html">DHCP
* Options Sets</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptions">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateDhcpOptionsAsync(const Model::CreateDhcpOptionsRequest& request, const CreateDhcpOptionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>[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.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGateway">AWS
* API Reference</a></p>
*/
virtual Model::CreateEgressOnlyInternetGatewayOutcome CreateEgressOnlyInternetGateway(const Model::CreateEgressOnlyInternetGatewayRequest& request) const;
/**
* <p>[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.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGateway">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateEgressOnlyInternetGatewayOutcomeCallable CreateEgressOnlyInternetGatewayCallable(const Model::CreateEgressOnlyInternetGatewayRequest& request) const;
/**
* <p>[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.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGateway">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateEgressOnlyInternetGatewayAsync(const Model::CreateEgressOnlyInternetGatewayRequest& request, const CreateEgressOnlyInternetGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Launches an EC2 Fleet.</p> <p>You can create a single EC2 Fleet that includes
* multiple launch specifications that vary by instance type, AMI, Availability
* Zone, or subnet.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet.html">Launching
* an EC2 Fleet</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFleet">AWS API
* Reference</a></p>
*/
virtual Model::CreateFleetOutcome CreateFleet(const Model::CreateFleetRequest& request) const;
/**
* <p>Launches an EC2 Fleet.</p> <p>You can create a single EC2 Fleet that includes
* multiple launch specifications that vary by instance type, AMI, Availability
* Zone, or subnet.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet.html">Launching
* an EC2 Fleet</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFleet">AWS API
* Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateFleetOutcomeCallable CreateFleetCallable(const Model::CreateFleetRequest& request) const;
/**
* <p>Launches an EC2 Fleet.</p> <p>You can create a single EC2 Fleet that includes
* multiple launch specifications that vary by instance type, AMI, Availability
* Zone, or subnet.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet.html">Launching
* an EC2 Fleet</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFleet">AWS API
* Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateFleetAsync(const Model::CreateFleetRequest& request, const CreateFleetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates one or more flow logs to capture information about IP traffic for a
* specific network interface, subnet, or VPC. </p> <p>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 <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-log-records">Flow
* Log Records</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p>
* <p>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.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html">VPC Flow
* Logs</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogs">AWS
* API Reference</a></p>
*/
virtual Model::CreateFlowLogsOutcome CreateFlowLogs(const Model::CreateFlowLogsRequest& request) const;
/**
* <p>Creates one or more flow logs to capture information about IP traffic for a
* specific network interface, subnet, or VPC. </p> <p>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 <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-log-records">Flow
* Log Records</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p>
* <p>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.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html">VPC Flow
* Logs</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogs">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateFlowLogsOutcomeCallable CreateFlowLogsCallable(const Model::CreateFlowLogsRequest& request) const;
/**
* <p>Creates one or more flow logs to capture information about IP traffic for a
* specific network interface, subnet, or VPC. </p> <p>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 <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-log-records">Flow
* Log Records</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p>
* <p>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.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html">VPC Flow
* Logs</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogs">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateFlowLogsAsync(const Model::CreateFlowLogsRequest& request, const CreateFlowLogsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates an Amazon FPGA Image (AFI) from the specified design checkpoint
* (DCP).</p> <p>The create operation is asynchronous. To verify that the AFI is
* ready for use, check the output logs.</p> <p>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 <a
* href="https://github.com/aws/aws-fpga/">AWS FPGA Hardware Development
* Kit</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImage">AWS
* API Reference</a></p>
*/
virtual Model::CreateFpgaImageOutcome CreateFpgaImage(const Model::CreateFpgaImageRequest& request) const;
/**
* <p>Creates an Amazon FPGA Image (AFI) from the specified design checkpoint
* (DCP).</p> <p>The create operation is asynchronous. To verify that the AFI is
* ready for use, check the output logs.</p> <p>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 <a
* href="https://github.com/aws/aws-fpga/">AWS FPGA Hardware Development
* Kit</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImage">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateFpgaImageOutcomeCallable CreateFpgaImageCallable(const Model::CreateFpgaImageRequest& request) const;
/**
* <p>Creates an Amazon FPGA Image (AFI) from the specified design checkpoint
* (DCP).</p> <p>The create operation is asynchronous. To verify that the AFI is
* ready for use, check the output logs.</p> <p>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 <a
* href="https://github.com/aws/aws-fpga/">AWS FPGA Hardware Development
* Kit</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImage">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateFpgaImageAsync(const Model::CreateFpgaImageRequest& request, const CreateFpgaImageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that is
* either running or stopped.</p> <p>If you customized your instance with instance
* store volumes or 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.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html">Creating
* Amazon EBS-Backed Linux AMIs</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImage">AWS API
* Reference</a></p>
*/
virtual Model::CreateImageOutcome CreateImage(const Model::CreateImageRequest& request) const;
/**
* <p>Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that is
* either running or stopped.</p> <p>If you customized your instance with instance
* store volumes or 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.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html">Creating
* Amazon EBS-Backed Linux AMIs</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImage">AWS API
* Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateImageOutcomeCallable CreateImageCallable(const Model::CreateImageRequest& request) const;
/**
* <p>Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that is
* either running or stopped.</p> <p>If you customized your instance with instance
* store volumes or 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.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html">Creating
* Amazon EBS-Backed Linux AMIs</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImage">AWS API
* Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateImageAsync(const Model::CreateImageRequest& request, const CreateImageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Exports a running or stopped instance to an Amazon S3 bucket.</p> <p>For
* information about the supported operating systems, image formats, and known
* limitations for the types of instances you can export, see <a
* href="https://docs.aws.amazon.com/vm-import/latest/userguide/vmexport.html">Exporting
* an Instance as a VM Using VM Import/Export</a> in the <i>VM Import/Export User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTask">AWS
* API Reference</a></p>
*/
virtual Model::CreateInstanceExportTaskOutcome CreateInstanceExportTask(const Model::CreateInstanceExportTaskRequest& request) const;
/**
* <p>Exports a running or stopped instance to an Amazon S3 bucket.</p> <p>For
* information about the supported operating systems, image formats, and known
* limitations for the types of instances you can export, see <a
* href="https://docs.aws.amazon.com/vm-import/latest/userguide/vmexport.html">Exporting
* an Instance as a VM Using VM Import/Export</a> in the <i>VM Import/Export User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTask">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateInstanceExportTaskOutcomeCallable CreateInstanceExportTaskCallable(const Model::CreateInstanceExportTaskRequest& request) const;
/**
* <p>Exports a running or stopped instance to an Amazon S3 bucket.</p> <p>For
* information about the supported operating systems, image formats, and known
* limitations for the types of instances you can export, see <a
* href="https://docs.aws.amazon.com/vm-import/latest/userguide/vmexport.html">Exporting
* an Instance as a VM Using VM Import/Export</a> in the <i>VM Import/Export User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTask">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateInstanceExportTaskAsync(const Model::CreateInstanceExportTaskRequest& request, const CreateInstanceExportTaskResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates an internet gateway for use with a VPC. After creating the internet
* gateway, you attach it to a VPC using <a>AttachInternetGateway</a>.</p> <p>For
* more information about your VPC and internet gateway, see the <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/">Amazon Virtual Private
* Cloud User Guide</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGateway">AWS
* API Reference</a></p>
*/
virtual Model::CreateInternetGatewayOutcome CreateInternetGateway(const Model::CreateInternetGatewayRequest& request) const;
/**
* <p>Creates an internet gateway for use with a VPC. After creating the internet
* gateway, you attach it to a VPC using <a>AttachInternetGateway</a>.</p> <p>For
* more information about your VPC and internet gateway, see the <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/">Amazon Virtual Private
* Cloud User Guide</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGateway">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateInternetGatewayOutcomeCallable CreateInternetGatewayCallable(const Model::CreateInternetGatewayRequest& request) const;
/**
* <p>Creates an internet gateway for use with a VPC. After creating the internet
* gateway, you attach it to a VPC using <a>AttachInternetGateway</a>.</p> <p>For
* more information about your VPC and internet gateway, see the <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/">Amazon Virtual Private
* Cloud User Guide</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGateway">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateInternetGatewayAsync(const Model::CreateInternetGatewayRequest& request, const CreateInternetGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates a 2048-bit RSA key pair with the specified name. 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. If a
* key with the specified name already exists, Amazon EC2 returns an error.</p>
* <p>You can have up to five thousand key pairs per Region.</p> <p>The key pair
* returned to you is available only in the 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 <a>ImportKeyPair</a>.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html">Key
* Pairs</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateKeyPair">AWS
* API Reference</a></p>
*/
virtual Model::CreateKeyPairOutcome CreateKeyPair(const Model::CreateKeyPairRequest& request) const;
/**
* <p>Creates a 2048-bit RSA key pair with the specified name. 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. If a
* key with the specified name already exists, Amazon EC2 returns an error.</p>
* <p>You can have up to five thousand key pairs per Region.</p> <p>The key pair
* returned to you is available only in the 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 <a>ImportKeyPair</a>.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html">Key
* Pairs</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateKeyPair">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateKeyPairOutcomeCallable CreateKeyPairCallable(const Model::CreateKeyPairRequest& request) const;
/**
* <p>Creates a 2048-bit RSA key pair with the specified name. 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. If a
* key with the specified name already exists, Amazon EC2 returns an error.</p>
* <p>You can have up to five thousand key pairs per Region.</p> <p>The key pair
* returned to you is available only in the 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 <a>ImportKeyPair</a>.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html">Key
* Pairs</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateKeyPair">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateKeyPairAsync(const Model::CreateKeyPairRequest& request, const CreateKeyPairResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates a launch template. A launch template contains the parameters to
* launch an instance. When you launch an instance using <a>RunInstances</a>, you
* can specify a launch template instead of providing the launch parameters in the
* request. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html">Launching
* an instance from a launch template</a>in the <i>Amazon Elastic Compute Cloud
* User Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplate">AWS
* API Reference</a></p>
*/
virtual Model::CreateLaunchTemplateOutcome CreateLaunchTemplate(const Model::CreateLaunchTemplateRequest& request) const;
/**
* <p>Creates a launch template. A launch template contains the parameters to
* launch an instance. When you launch an instance using <a>RunInstances</a>, you
* can specify a launch template instead of providing the launch parameters in the
* request. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html">Launching
* an instance from a launch template</a>in the <i>Amazon Elastic Compute Cloud
* User Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplate">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateLaunchTemplateOutcomeCallable CreateLaunchTemplateCallable(const Model::CreateLaunchTemplateRequest& request) const;
/**
* <p>Creates a launch template. A launch template contains the parameters to
* launch an instance. When you launch an instance using <a>RunInstances</a>, you
* can specify a launch template instead of providing the launch parameters in the
* request. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html">Launching
* an instance from a launch template</a>in the <i>Amazon Elastic Compute Cloud
* User Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplate">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateLaunchTemplateAsync(const Model::CreateLaunchTemplateRequest& request, const CreateLaunchTemplateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates a new version for a launch template. You can specify an existing
* version of launch template from which to base the new version.</p> <p>Launch
* template versions are numbered in the order in which they are created. You
* cannot specify, change, or replace the numbering of launch template
* versions.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#manage-launch-template-versions">Managing
* launch template versions</a>in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplateVersion">AWS
* API Reference</a></p>
*/
virtual Model::CreateLaunchTemplateVersionOutcome CreateLaunchTemplateVersion(const Model::CreateLaunchTemplateVersionRequest& request) const;
/**
* <p>Creates a new version for a launch template. You can specify an existing
* version of launch template from which to base the new version.</p> <p>Launch
* template versions are numbered in the order in which they are created. You
* cannot specify, change, or replace the numbering of launch template
* versions.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#manage-launch-template-versions">Managing
* launch template versions</a>in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplateVersion">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateLaunchTemplateVersionOutcomeCallable CreateLaunchTemplateVersionCallable(const Model::CreateLaunchTemplateVersionRequest& request) const;
/**
* <p>Creates a new version for a launch template. You can specify an existing
* version of launch template from which to base the new version.</p> <p>Launch
* template versions are numbered in the order in which they are created. You
* cannot specify, change, or replace the numbering of launch template
* versions.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#manage-launch-template-versions">Managing
* launch template versions</a>in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplateVersion">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateLaunchTemplateVersionAsync(const Model::CreateLaunchTemplateVersionRequest& request, const CreateLaunchTemplateVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates a static route for the specified local gateway route
* table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLocalGatewayRoute">AWS
* API Reference</a></p>
*/
virtual Model::CreateLocalGatewayRouteOutcome CreateLocalGatewayRoute(const Model::CreateLocalGatewayRouteRequest& request) const;
/**
* <p>Creates a static route for the specified local gateway route
* table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLocalGatewayRoute">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateLocalGatewayRouteOutcomeCallable CreateLocalGatewayRouteCallable(const Model::CreateLocalGatewayRouteRequest& request) const;
/**
* <p>Creates a static route for the specified local gateway route
* table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLocalGatewayRoute">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateLocalGatewayRouteAsync(const Model::CreateLocalGatewayRouteRequest& request, const CreateLocalGatewayRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Associates the specified VPC with the specified local gateway route
* table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLocalGatewayRouteTableVpcAssociation">AWS
* API Reference</a></p>
*/
virtual Model::CreateLocalGatewayRouteTableVpcAssociationOutcome CreateLocalGatewayRouteTableVpcAssociation(const Model::CreateLocalGatewayRouteTableVpcAssociationRequest& request) const;
/**
* <p>Associates the specified VPC with the specified local gateway route
* table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLocalGatewayRouteTableVpcAssociation">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateLocalGatewayRouteTableVpcAssociationOutcomeCallable CreateLocalGatewayRouteTableVpcAssociationCallable(const Model::CreateLocalGatewayRouteTableVpcAssociationRequest& request) const;
/**
* <p>Associates the specified VPC with the specified local gateway route
* table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLocalGatewayRouteTableVpcAssociation">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateLocalGatewayRouteTableVpcAssociationAsync(const Model::CreateLocalGatewayRouteTableVpcAssociationRequest& request, const CreateLocalGatewayRouteTableVpcAssociationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates a managed prefix list. You can specify one or more entries for the
* prefix list. Each entry consists of a CIDR block and an optional
* description.</p> <p>You must specify the maximum number of entries for the
* prefix list. The maximum number of entries cannot be changed
* later.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateManagedPrefixList">AWS
* API Reference</a></p>
*/
virtual Model::CreateManagedPrefixListOutcome CreateManagedPrefixList(const Model::CreateManagedPrefixListRequest& request) const;
/**
* <p>Creates a managed prefix list. You can specify one or more entries for the
* prefix list. Each entry consists of a CIDR block and an optional
* description.</p> <p>You must specify the maximum number of entries for the
* prefix list. The maximum number of entries cannot be changed
* later.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateManagedPrefixList">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateManagedPrefixListOutcomeCallable CreateManagedPrefixListCallable(const Model::CreateManagedPrefixListRequest& request) const;
/**
* <p>Creates a managed prefix list. You can specify one or more entries for the
* prefix list. Each entry consists of a CIDR block and an optional
* description.</p> <p>You must specify the maximum number of entries for the
* prefix list. The maximum number of entries cannot be changed
* later.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateManagedPrefixList">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateManagedPrefixListAsync(const Model::CreateManagedPrefixListRequest& request, const CreateManagedPrefixListResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates a NAT gateway in the specified public subnet. This action creates a
* network interface in the specified subnet with a private IP address from the IP
* address range of the subnet. Internet-bound traffic from a private subnet can be
* routed to the NAT gateway, therefore enabling instances in the private subnet to
* connect to the internet. For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html">NAT
* Gateways</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGateway">AWS
* API Reference</a></p>
*/
virtual Model::CreateNatGatewayOutcome CreateNatGateway(const Model::CreateNatGatewayRequest& request) const;
/**
* <p>Creates a NAT gateway in the specified public subnet. This action creates a
* network interface in the specified subnet with a private IP address from the IP
* address range of the subnet. Internet-bound traffic from a private subnet can be
* routed to the NAT gateway, therefore enabling instances in the private subnet to
* connect to the internet. For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html">NAT
* Gateways</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGateway">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateNatGatewayOutcomeCallable CreateNatGatewayCallable(const Model::CreateNatGatewayRequest& request) const;
/**
* <p>Creates a NAT gateway in the specified public subnet. This action creates a
* network interface in the specified subnet with a private IP address from the IP
* address range of the subnet. Internet-bound traffic from a private subnet can be
* routed to the NAT gateway, therefore enabling instances in the private subnet to
* connect to the internet. For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html">NAT
* Gateways</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGateway">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateNatGatewayAsync(const Model::CreateNatGatewayRequest& request, const CreateNatGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p>
* <p>For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html">Network
* ACLs</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAcl">AWS
* API Reference</a></p>
*/
virtual Model::CreateNetworkAclOutcome CreateNetworkAcl(const Model::CreateNetworkAclRequest& request) const;
/**
* <p>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.</p>
* <p>For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html">Network
* ACLs</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAcl">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateNetworkAclOutcomeCallable CreateNetworkAclCallable(const Model::CreateNetworkAclRequest& request) const;
/**
* <p>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.</p>
* <p>For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html">Network
* ACLs</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAcl">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateNetworkAclAsync(const Model::CreateNetworkAclRequest& request, const CreateNetworkAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p> <p>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.</p> <p>After you add an entry, you can't modify it; you must either
* replace it, or create an entry and delete the old one.</p> <p>For more
* information about network ACLs, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html">Network
* ACLs</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntry">AWS
* API Reference</a></p>
*/
virtual Model::CreateNetworkAclEntryOutcome CreateNetworkAclEntry(const Model::CreateNetworkAclEntryRequest& request) const;
/**
* <p>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.</p> <p>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.</p> <p>After you add an entry, you can't modify it; you must either
* replace it, or create an entry and delete the old one.</p> <p>For more
* information about network ACLs, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html">Network
* ACLs</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntry">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateNetworkAclEntryOutcomeCallable CreateNetworkAclEntryCallable(const Model::CreateNetworkAclEntryRequest& request) const;
/**
* <p>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.</p> <p>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.</p> <p>After you add an entry, you can't modify it; you must either
* replace it, or create an entry and delete the old one.</p> <p>For more
* information about network ACLs, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html">Network
* ACLs</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntry">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateNetworkAclEntryAsync(const Model::CreateNetworkAclEntryRequest& request, const CreateNetworkAclEntryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates a network interface in the specified subnet.</p> <p>For more
* information about network interfaces, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html">Elastic
* Network Interfaces</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterface">AWS
* API Reference</a></p>
*/
virtual Model::CreateNetworkInterfaceOutcome CreateNetworkInterface(const Model::CreateNetworkInterfaceRequest& request) const;
/**
* <p>Creates a network interface in the specified subnet.</p> <p>For more
* information about network interfaces, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html">Elastic
* Network Interfaces</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterface">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateNetworkInterfaceOutcomeCallable CreateNetworkInterfaceCallable(const Model::CreateNetworkInterfaceRequest& request) const;
/**
* <p>Creates a network interface in the specified subnet.</p> <p>For more
* information about network interfaces, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html">Elastic
* Network Interfaces</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterface">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateNetworkInterfaceAsync(const Model::CreateNetworkInterfaceRequest& request, const CreateNetworkInterfaceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Grants an AWS-authorized account permission to attach the specified network
* interface to an instance in their account.</p> <p>You can grant permission to a
* single AWS account only, and only one account at a time.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermission">AWS
* API Reference</a></p>
*/
virtual Model::CreateNetworkInterfacePermissionOutcome CreateNetworkInterfacePermission(const Model::CreateNetworkInterfacePermissionRequest& request) const;
/**
* <p>Grants an AWS-authorized account permission to attach the specified network
* interface to an instance in their account.</p> <p>You can grant permission to a
* single AWS account only, and only one account at a time.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermission">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateNetworkInterfacePermissionOutcomeCallable CreateNetworkInterfacePermissionCallable(const Model::CreateNetworkInterfacePermissionRequest& request) const;
/**
* <p>Grants an AWS-authorized account permission to attach the specified network
* interface to an instance in their account.</p> <p>You can grant permission to a
* single AWS account only, and only one account at a time.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermission">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateNetworkInterfacePermissionAsync(const Model::CreateNetworkInterfacePermissionRequest& request, const CreateNetworkInterfacePermissionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates a placement group in which to launch instances. The strategy of the
* placement group determines how the instances are organized within the group.
* </p> <p>A <code>cluster</code> placement group is a logical grouping of
* instances within a single Availability Zone that benefit from low network
* latency, high network throughput. A <code>spread</code> placement group places
* instances on distinct hardware. A <code>partition</code> 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.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html">Placement
* groups</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroup">AWS
* API Reference</a></p>
*/
virtual Model::CreatePlacementGroupOutcome CreatePlacementGroup(const Model::CreatePlacementGroupRequest& request) const;
/**
* <p>Creates a placement group in which to launch instances. The strategy of the
* placement group determines how the instances are organized within the group.
* </p> <p>A <code>cluster</code> placement group is a logical grouping of
* instances within a single Availability Zone that benefit from low network
* latency, high network throughput. A <code>spread</code> placement group places
* instances on distinct hardware. A <code>partition</code> 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.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html">Placement
* groups</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroup">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreatePlacementGroupOutcomeCallable CreatePlacementGroupCallable(const Model::CreatePlacementGroupRequest& request) const;
/**
* <p>Creates a placement group in which to launch instances. The strategy of the
* placement group determines how the instances are organized within the group.
* </p> <p>A <code>cluster</code> placement group is a logical grouping of
* instances within a single Availability Zone that benefit from low network
* latency, high network throughput. A <code>spread</code> placement group places
* instances on distinct hardware. A <code>partition</code> 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.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html">Placement
* groups</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroup">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreatePlacementGroupAsync(const Model::CreatePlacementGroupRequest& request, const CreatePlacementGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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 <a>DescribeReservedInstances</a> operation.</p> <p>Only Standard
* Reserved Instances can be sold in the Reserved Instance Marketplace. Convertible
* Reserved Instances cannot be sold.</p> <p>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.</p> <p>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
* <a>DescribeReservedInstancesListings</a> operation.</p> <p>For more information,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html">Reserved
* Instance Marketplace</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListing">AWS
* API Reference</a></p>
*/
virtual Model::CreateReservedInstancesListingOutcome CreateReservedInstancesListing(const Model::CreateReservedInstancesListingRequest& request) const;
/**
* <p>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 <a>DescribeReservedInstances</a> operation.</p> <p>Only Standard
* Reserved Instances can be sold in the Reserved Instance Marketplace. Convertible
* Reserved Instances cannot be sold.</p> <p>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.</p> <p>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
* <a>DescribeReservedInstancesListings</a> operation.</p> <p>For more information,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html">Reserved
* Instance Marketplace</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListing">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateReservedInstancesListingOutcomeCallable CreateReservedInstancesListingCallable(const Model::CreateReservedInstancesListingRequest& request) const;
/**
* <p>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 <a>DescribeReservedInstances</a> operation.</p> <p>Only Standard
* Reserved Instances can be sold in the Reserved Instance Marketplace. Convertible
* Reserved Instances cannot be sold.</p> <p>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.</p> <p>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
* <a>DescribeReservedInstancesListings</a> operation.</p> <p>For more information,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html">Reserved
* Instance Marketplace</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListing">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateReservedInstancesListingAsync(const Model::CreateReservedInstancesListingRequest& request, const CreateReservedInstancesListingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates a route in a route table within a VPC.</p> <p>You must specify one of
* the following targets: internet gateway or virtual private gateway, NAT
* instance, NAT gateway, VPC peering connection, network interface, egress-only
* internet gateway, or transit gateway.</p> <p>When determining how to route
* traffic, we use the route with the most specific match. For example, traffic is
* destined for the IPv4 address <code>192.0.2.3</code>, and the route table
* includes the following two IPv4 routes:</p> <ul> <li> <p>
* <code>192.0.2.0/24</code> (goes to some target A)</p> </li> <li> <p>
* <code>192.0.2.0/28</code> (goes to some target B)</p> </li> </ul> <p>Both routes
* apply to the traffic destined for <code>192.0.2.3</code>. 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.</p>
* <p>For more information about route tables, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html">Route
* Tables</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRoute">AWS API
* Reference</a></p>
*/
virtual Model::CreateRouteOutcome CreateRoute(const Model::CreateRouteRequest& request) const;
/**
* <p>Creates a route in a route table within a VPC.</p> <p>You must specify one of
* the following targets: internet gateway or virtual private gateway, NAT
* instance, NAT gateway, VPC peering connection, network interface, egress-only
* internet gateway, or transit gateway.</p> <p>When determining how to route
* traffic, we use the route with the most specific match. For example, traffic is
* destined for the IPv4 address <code>192.0.2.3</code>, and the route table
* includes the following two IPv4 routes:</p> <ul> <li> <p>
* <code>192.0.2.0/24</code> (goes to some target A)</p> </li> <li> <p>
* <code>192.0.2.0/28</code> (goes to some target B)</p> </li> </ul> <p>Both routes
* apply to the traffic destined for <code>192.0.2.3</code>. 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.</p>
* <p>For more information about route tables, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html">Route
* Tables</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRoute">AWS API
* Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateRouteOutcomeCallable CreateRouteCallable(const Model::CreateRouteRequest& request) const;
/**
* <p>Creates a route in a route table within a VPC.</p> <p>You must specify one of
* the following targets: internet gateway or virtual private gateway, NAT
* instance, NAT gateway, VPC peering connection, network interface, egress-only
* internet gateway, or transit gateway.</p> <p>When determining how to route
* traffic, we use the route with the most specific match. For example, traffic is
* destined for the IPv4 address <code>192.0.2.3</code>, and the route table
* includes the following two IPv4 routes:</p> <ul> <li> <p>
* <code>192.0.2.0/24</code> (goes to some target A)</p> </li> <li> <p>
* <code>192.0.2.0/28</code> (goes to some target B)</p> </li> </ul> <p>Both routes
* apply to the traffic destined for <code>192.0.2.3</code>. 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.</p>
* <p>For more information about route tables, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html">Route
* Tables</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRoute">AWS API
* Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateRouteAsync(const Model::CreateRouteRequest& request, const CreateRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html">Route
* Tables</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTable">AWS
* API Reference</a></p>
*/
virtual Model::CreateRouteTableOutcome CreateRouteTable(const Model::CreateRouteTableRequest& request) const;
/**
* <p>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.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html">Route
* Tables</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTable">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateRouteTableOutcomeCallable CreateRouteTableCallable(const Model::CreateRouteTableRequest& request) const;
/**
* <p>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.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html">Route
* Tables</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTable">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateRouteTableAsync(const Model::CreateRouteTableRequest& request, const CreateRouteTableResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates a security group.</p> <p>A security group acts as a virtual firewall
* for your instance to control inbound and outbound traffic. For more information,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html">Amazon
* EC2 Security Groups</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>
* and <a
* href="https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html">Security
* Groups for Your VPC</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p> <p>When you create a security group, you specify a friendly name
* of your choice. You can have a security group for use in EC2-Classic with the
* same name as a security group for use in a VPC. However, you can't have two
* security groups for use in EC2-Classic with the same name or two security groups
* for use in a VPC with the same name.</p> <p>You have a default security group
* for use in EC2-Classic and 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.</p> <p>You can add or remove rules from your security groups using
* <a>AuthorizeSecurityGroupIngress</a>, <a>AuthorizeSecurityGroupEgress</a>,
* <a>RevokeSecurityGroupIngress</a>, and <a>RevokeSecurityGroupEgress</a>.</p>
* <p>For more information about VPC security group limits, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html">Amazon
* VPC Limits</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroup">AWS
* API Reference</a></p>
*/
virtual Model::CreateSecurityGroupOutcome CreateSecurityGroup(const Model::CreateSecurityGroupRequest& request) const;
/**
* <p>Creates a security group.</p> <p>A security group acts as a virtual firewall
* for your instance to control inbound and outbound traffic. For more information,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html">Amazon
* EC2 Security Groups</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>
* and <a
* href="https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html">Security
* Groups for Your VPC</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p> <p>When you create a security group, you specify a friendly name
* of your choice. You can have a security group for use in EC2-Classic with the
* same name as a security group for use in a VPC. However, you can't have two
* security groups for use in EC2-Classic with the same name or two security groups
* for use in a VPC with the same name.</p> <p>You have a default security group
* for use in EC2-Classic and 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.</p> <p>You can add or remove rules from your security groups using
* <a>AuthorizeSecurityGroupIngress</a>, <a>AuthorizeSecurityGroupEgress</a>,
* <a>RevokeSecurityGroupIngress</a>, and <a>RevokeSecurityGroupEgress</a>.</p>
* <p>For more information about VPC security group limits, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html">Amazon
* VPC Limits</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroup">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateSecurityGroupOutcomeCallable CreateSecurityGroupCallable(const Model::CreateSecurityGroupRequest& request) const;
/**
* <p>Creates a security group.</p> <p>A security group acts as a virtual firewall
* for your instance to control inbound and outbound traffic. For more information,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html">Amazon
* EC2 Security Groups</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>
* and <a
* href="https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html">Security
* Groups for Your VPC</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p> <p>When you create a security group, you specify a friendly name
* of your choice. You can have a security group for use in EC2-Classic with the
* same name as a security group for use in a VPC. However, you can't have two
* security groups for use in EC2-Classic with the same name or two security groups
* for use in a VPC with the same name.</p> <p>You have a default security group
* for use in EC2-Classic and 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.</p> <p>You can add or remove rules from your security groups using
* <a>AuthorizeSecurityGroupIngress</a>, <a>AuthorizeSecurityGroupEgress</a>,
* <a>RevokeSecurityGroupIngress</a>, and <a>RevokeSecurityGroupEgress</a>.</p>
* <p>For more information about VPC security group limits, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html">Amazon
* VPC Limits</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroup">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateSecurityGroupAsync(const Model::CreateSecurityGroupRequest& request, const CreateSecurityGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p> <p>When a snapshot is created, any AWS
* Marketplace product codes that are associated with the source volume are
* propagated to the snapshot.</p> <p>You can take a snapshot of an attached volume
* that is in use. However, snapshots only capture data that has been written to
* your EBS volume at the time the snapshot command is issued; this may 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 <code>pending</code>.</p> <p>To create a snapshot for EBS volumes that serve
* as root devices, you should stop the instance before taking the snapshot.</p>
* <p>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.</p> <p>You can tag your snapshots during creation. For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html">Tagging
* your Amazon EC2 resources</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html">Amazon
* Elastic Block Store</a> and <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html">Amazon
* EBS Encryption</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshot">AWS
* API Reference</a></p>
*/
virtual Model::CreateSnapshotOutcome CreateSnapshot(const Model::CreateSnapshotRequest& request) const;
/**
* <p>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.</p> <p>When a snapshot is created, any AWS
* Marketplace product codes that are associated with the source volume are
* propagated to the snapshot.</p> <p>You can take a snapshot of an attached volume
* that is in use. However, snapshots only capture data that has been written to
* your EBS volume at the time the snapshot command is issued; this may 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 <code>pending</code>.</p> <p>To create a snapshot for EBS volumes that serve
* as root devices, you should stop the instance before taking the snapshot.</p>
* <p>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.</p> <p>You can tag your snapshots during creation. For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html">Tagging
* your Amazon EC2 resources</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html">Amazon
* Elastic Block Store</a> and <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html">Amazon
* EBS Encryption</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshot">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateSnapshotOutcomeCallable CreateSnapshotCallable(const Model::CreateSnapshotRequest& request) const;
/**
* <p>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.</p> <p>When a snapshot is created, any AWS
* Marketplace product codes that are associated with the source volume are
* propagated to the snapshot.</p> <p>You can take a snapshot of an attached volume
* that is in use. However, snapshots only capture data that has been written to
* your EBS volume at the time the snapshot command is issued; this may 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 <code>pending</code>.</p> <p>To create a snapshot for EBS volumes that serve
* as root devices, you should stop the instance before taking the snapshot.</p>
* <p>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.</p> <p>You can tag your snapshots during creation. For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html">Tagging
* your Amazon EC2 resources</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html">Amazon
* Elastic Block Store</a> and <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html">Amazon
* EBS Encryption</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshot">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateSnapshotAsync(const Model::CreateSnapshotRequest& request, const CreateSnapshotResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates crash-consistent snapshots of multiple EBS volumes and stores the
* data in S3. Volumes are chosen by specifying an instance. Any attached volumes
* will produce one snapshot each that is crash-consistent across the instance.
* Boot volumes can be excluded by changing the parameters. </p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshots">AWS
* API Reference</a></p>
*/
virtual Model::CreateSnapshotsOutcome CreateSnapshots(const Model::CreateSnapshotsRequest& request) const;
/**
* <p>Creates crash-consistent snapshots of multiple EBS volumes and stores the
* data in S3. Volumes are chosen by specifying an instance. Any attached volumes
* will produce one snapshot each that is crash-consistent across the instance.
* Boot volumes can be excluded by changing the parameters. </p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshots">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateSnapshotsOutcomeCallable CreateSnapshotsCallable(const Model::CreateSnapshotsRequest& request) const;
/**
* <p>Creates crash-consistent snapshots of multiple EBS volumes and stores the
* data in S3. Volumes are chosen by specifying an instance. Any attached volumes
* will produce one snapshot each that is crash-consistent across the instance.
* Boot volumes can be excluded by changing the parameters. </p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshots">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateSnapshotsAsync(const Model::CreateSnapshotsRequest& request, const CreateSnapshotsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates a data feed for Spot Instances, enabling you to view Spot Instance
* usage logs. You can create one data feed per AWS account. For more information,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html">Spot
* Instance data feed</a> in the <i>Amazon EC2 User Guide for Linux
* Instances</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscription">AWS
* API Reference</a></p>
*/
virtual Model::CreateSpotDatafeedSubscriptionOutcome CreateSpotDatafeedSubscription(const Model::CreateSpotDatafeedSubscriptionRequest& request) const;
/**
* <p>Creates a data feed for Spot Instances, enabling you to view Spot Instance
* usage logs. You can create one data feed per AWS account. For more information,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html">Spot
* Instance data feed</a> in the <i>Amazon EC2 User Guide for Linux
* Instances</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscription">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateSpotDatafeedSubscriptionOutcomeCallable CreateSpotDatafeedSubscriptionCallable(const Model::CreateSpotDatafeedSubscriptionRequest& request) const;
/**
* <p>Creates a data feed for Spot Instances, enabling you to view Spot Instance
* usage logs. You can create one data feed per AWS account. For more information,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html">Spot
* Instance data feed</a> in the <i>Amazon EC2 User Guide for Linux
* Instances</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscription">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateSpotDatafeedSubscriptionAsync(const Model::CreateSpotDatafeedSubscriptionRequest& request, const CreateSpotDatafeedSubscriptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates a subnet in a specified VPC.</p> <p>You must specify an IPv4 CIDR
* block for the subnet. After you create a subnet, you can't change its CIDR
* block. The allowed block size is between a /16 netmask (65,536 IP addresses) and
* /28 netmask (16 IP addresses). The CIDR block must not overlap with the CIDR
* block of an existing subnet in the VPC.</p> <p>If you've associated an IPv6 CIDR
* block with your VPC, you can create a subnet with an IPv6 CIDR block that uses a
* /64 prefix length. </p> <p>AWS reserves both the first four and the
* last IPv4 address in each subnet's CIDR block. They're not available for
* use.</p> <p>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.</p> <p>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.</p> <p>For more information about subnets,
* see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html">Your
* VPC and Subnets</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnet">AWS
* API Reference</a></p>
*/
virtual Model::CreateSubnetOutcome CreateSubnet(const Model::CreateSubnetRequest& request) const;
/**
* <p>Creates a subnet in a specified VPC.</p> <p>You must specify an IPv4 CIDR
* block for the subnet. After you create a subnet, you can't change its CIDR
* block. The allowed block size is between a /16 netmask (65,536 IP addresses) and
* /28 netmask (16 IP addresses). The CIDR block must not overlap with the CIDR
* block of an existing subnet in the VPC.</p> <p>If you've associated an IPv6 CIDR
* block with your VPC, you can create a subnet with an IPv6 CIDR block that uses a
* /64 prefix length. </p> <p>AWS reserves both the first four and the
* last IPv4 address in each subnet's CIDR block. They're not available for
* use.</p> <p>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.</p> <p>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.</p> <p>For more information about subnets,
* see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html">Your
* VPC and Subnets</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnet">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateSubnetOutcomeCallable CreateSubnetCallable(const Model::CreateSubnetRequest& request) const;
/**
* <p>Creates a subnet in a specified VPC.</p> <p>You must specify an IPv4 CIDR
* block for the subnet. After you create a subnet, you can't change its CIDR
* block. The allowed block size is between a /16 netmask (65,536 IP addresses) and
* /28 netmask (16 IP addresses). The CIDR block must not overlap with the CIDR
* block of an existing subnet in the VPC.</p> <p>If you've associated an IPv6 CIDR
* block with your VPC, you can create a subnet with an IPv6 CIDR block that uses a
* /64 prefix length. </p> <p>AWS reserves both the first four and the
* last IPv4 address in each subnet's CIDR block. They're not available for
* use.</p> <p>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.</p> <p>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.</p> <p>For more information about subnets,
* see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html">Your
* VPC and Subnets</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnet">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateSubnetAsync(const Model::CreateSubnetRequest& request, const CreateSubnetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p> <p>For more information about tags, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html">Tagging
* Your Resources</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>. For
* more information about creating IAM policies that control users' access to
* resources based on tags, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-iam-actions-resources.html">Supported
* Resource-Level Permissions for Amazon EC2 API Actions</a> in the <i>Amazon
* Elastic Compute Cloud User Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTags">AWS API
* Reference</a></p>
*/
virtual Model::CreateTagsOutcome CreateTags(const Model::CreateTagsRequest& request) const;
/**
* <p>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.</p> <p>For more information about tags, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html">Tagging
* Your Resources</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>. For
* more information about creating IAM policies that control users' access to
* resources based on tags, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-iam-actions-resources.html">Supported
* Resource-Level Permissions for Amazon EC2 API Actions</a> in the <i>Amazon
* Elastic Compute Cloud User Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTags">AWS API
* Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateTagsOutcomeCallable CreateTagsCallable(const Model::CreateTagsRequest& request) const;
/**
* <p>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.</p> <p>For more information about tags, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html">Tagging
* Your Resources</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>. For
* more information about creating IAM policies that control users' access to
* resources based on tags, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-iam-actions-resources.html">Supported
* Resource-Level Permissions for Amazon EC2 API Actions</a> in the <i>Amazon
* Elastic Compute Cloud User Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTags">AWS API
* Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateTagsAsync(const Model::CreateTagsRequest& request, const CreateTagsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates a Traffic Mirror filter.</p> <p>A Traffic Mirror filter is a set of
* rules that defines the traffic to mirror.</p> <p>By default, no traffic is
* mirrored. To mirror traffic, use <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTrafficMirrorFilterRule.htm">CreateTrafficMirrorFilterRule</a>
* to add Traffic Mirror rules to the filter. The rules you add define what traffic
* gets mirrored. You can also use <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyTrafficMirrorFilterNetworkServices.html">ModifyTrafficMirrorFilterNetworkServices</a>
* to mirror supported network services.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorFilter">AWS
* API Reference</a></p>
*/
virtual Model::CreateTrafficMirrorFilterOutcome CreateTrafficMirrorFilter(const Model::CreateTrafficMirrorFilterRequest& request) const;
/**
* <p>Creates a Traffic Mirror filter.</p> <p>A Traffic Mirror filter is a set of
* rules that defines the traffic to mirror.</p> <p>By default, no traffic is
* mirrored. To mirror traffic, use <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTrafficMirrorFilterRule.htm">CreateTrafficMirrorFilterRule</a>
* to add Traffic Mirror rules to the filter. The rules you add define what traffic
* gets mirrored. You can also use <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyTrafficMirrorFilterNetworkServices.html">ModifyTrafficMirrorFilterNetworkServices</a>
* to mirror supported network services.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorFilter">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateTrafficMirrorFilterOutcomeCallable CreateTrafficMirrorFilterCallable(const Model::CreateTrafficMirrorFilterRequest& request) const;
/**
* <p>Creates a Traffic Mirror filter.</p> <p>A Traffic Mirror filter is a set of
* rules that defines the traffic to mirror.</p> <p>By default, no traffic is
* mirrored. To mirror traffic, use <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTrafficMirrorFilterRule.htm">CreateTrafficMirrorFilterRule</a>
* to add Traffic Mirror rules to the filter. The rules you add define what traffic
* gets mirrored. You can also use <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyTrafficMirrorFilterNetworkServices.html">ModifyTrafficMirrorFilterNetworkServices</a>
* to mirror supported network services.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorFilter">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateTrafficMirrorFilterAsync(const Model::CreateTrafficMirrorFilterRequest& request, const CreateTrafficMirrorFilterResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates a Traffic Mirror filter rule. </p> <p>A Traffic Mirror rule defines
* the Traffic Mirror source traffic to mirror.</p> <p>You need the Traffic Mirror
* filter ID when you create the rule.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorFilterRule">AWS
* API Reference</a></p>
*/
virtual Model::CreateTrafficMirrorFilterRuleOutcome CreateTrafficMirrorFilterRule(const Model::CreateTrafficMirrorFilterRuleRequest& request) const;
/**
* <p>Creates a Traffic Mirror filter rule. </p> <p>A Traffic Mirror rule defines
* the Traffic Mirror source traffic to mirror.</p> <p>You need the Traffic Mirror
* filter ID when you create the rule.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorFilterRule">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateTrafficMirrorFilterRuleOutcomeCallable CreateTrafficMirrorFilterRuleCallable(const Model::CreateTrafficMirrorFilterRuleRequest& request) const;
/**
* <p>Creates a Traffic Mirror filter rule. </p> <p>A Traffic Mirror rule defines
* the Traffic Mirror source traffic to mirror.</p> <p>You need the Traffic Mirror
* filter ID when you create the rule.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorFilterRule">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateTrafficMirrorFilterRuleAsync(const Model::CreateTrafficMirrorFilterRuleRequest& request, const CreateTrafficMirrorFilterRuleResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates a Traffic Mirror session.</p> <p>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.</p> <p>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. </p> <p>By
* default, no traffic is mirrored. Use <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTrafficMirrorFilter.htm">CreateTrafficMirrorFilter</a>
* to create filter rules that specify the traffic to mirror.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorSession">AWS
* API Reference</a></p>
*/
virtual Model::CreateTrafficMirrorSessionOutcome CreateTrafficMirrorSession(const Model::CreateTrafficMirrorSessionRequest& request) const;
/**
* <p>Creates a Traffic Mirror session.</p> <p>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.</p> <p>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. </p> <p>By
* default, no traffic is mirrored. Use <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTrafficMirrorFilter.htm">CreateTrafficMirrorFilter</a>
* to create filter rules that specify the traffic to mirror.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorSession">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateTrafficMirrorSessionOutcomeCallable CreateTrafficMirrorSessionCallable(const Model::CreateTrafficMirrorSessionRequest& request) const;
/**
* <p>Creates a Traffic Mirror session.</p> <p>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.</p> <p>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. </p> <p>By
* default, no traffic is mirrored. Use <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTrafficMirrorFilter.htm">CreateTrafficMirrorFilter</a>
* to create filter rules that specify the traffic to mirror.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorSession">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateTrafficMirrorSessionAsync(const Model::CreateTrafficMirrorSessionRequest& request, const CreateTrafficMirrorSessionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates a target for your Traffic Mirror session.</p> <p>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.</p> <p>A Traffic
* Mirror target can be a network interface, or a Network Load Balancer.</p> <p>To
* use the target in a Traffic Mirror session, use <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTrafficMirrorSession.htm">CreateTrafficMirrorSession</a>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorTarget">AWS
* API Reference</a></p>
*/
virtual Model::CreateTrafficMirrorTargetOutcome CreateTrafficMirrorTarget(const Model::CreateTrafficMirrorTargetRequest& request) const;
/**
* <p>Creates a target for your Traffic Mirror session.</p> <p>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.</p> <p>A Traffic
* Mirror target can be a network interface, or a Network Load Balancer.</p> <p>To
* use the target in a Traffic Mirror session, use <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTrafficMirrorSession.htm">CreateTrafficMirrorSession</a>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorTarget">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateTrafficMirrorTargetOutcomeCallable CreateTrafficMirrorTargetCallable(const Model::CreateTrafficMirrorTargetRequest& request) const;
/**
* <p>Creates a target for your Traffic Mirror session.</p> <p>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.</p> <p>A Traffic
* Mirror target can be a network interface, or a Network Load Balancer.</p> <p>To
* use the target in a Traffic Mirror session, use <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTrafficMirrorSession.htm">CreateTrafficMirrorSession</a>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorTarget">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateTrafficMirrorTargetAsync(const Model::CreateTrafficMirrorTargetRequest& request, const CreateTrafficMirrorTargetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates a transit gateway.</p> <p>You can use a transit gateway to
* interconnect your virtual private clouds (VPC) and on-premises networks. After
* the transit gateway enters the <code>available</code> state, you can attach your
* VPCs and VPN connections to the transit gateway.</p> <p>To attach your VPCs, use
* <a>CreateTransitGatewayVpcAttachment</a>.</p> <p>To attach a VPN connection, use
* <a>CreateCustomerGateway</a> to create a customer gateway and specify the ID of
* the customer gateway and the ID of the transit gateway in a call to
* <a>CreateVpnConnection</a>.</p> <p>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
* <a>CreateTransitGatewayRouteTable</a> 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
* <a>EnableTransitGatewayRouteTablePropagation</a> to propagate routes from a
* resource attachment to a transit gateway route table. If you disable automatic
* associations, you can use <a>AssociateTransitGatewayRouteTable</a> to associate
* a resource attachment with a transit gateway route table.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGateway">AWS
* API Reference</a></p>
*/
virtual Model::CreateTransitGatewayOutcome CreateTransitGateway(const Model::CreateTransitGatewayRequest& request) const;
/**
* <p>Creates a transit gateway.</p> <p>You can use a transit gateway to
* interconnect your virtual private clouds (VPC) and on-premises networks. After
* the transit gateway enters the <code>available</code> state, you can attach your
* VPCs and VPN connections to the transit gateway.</p> <p>To attach your VPCs, use
* <a>CreateTransitGatewayVpcAttachment</a>.</p> <p>To attach a VPN connection, use
* <a>CreateCustomerGateway</a> to create a customer gateway and specify the ID of
* the customer gateway and the ID of the transit gateway in a call to
* <a>CreateVpnConnection</a>.</p> <p>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
* <a>CreateTransitGatewayRouteTable</a> 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
* <a>EnableTransitGatewayRouteTablePropagation</a> to propagate routes from a
* resource attachment to a transit gateway route table. If you disable automatic
* associations, you can use <a>AssociateTransitGatewayRouteTable</a> to associate
* a resource attachment with a transit gateway route table.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGateway">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateTransitGatewayOutcomeCallable CreateTransitGatewayCallable(const Model::CreateTransitGatewayRequest& request) const;
/**
* <p>Creates a transit gateway.</p> <p>You can use a transit gateway to
* interconnect your virtual private clouds (VPC) and on-premises networks. After
* the transit gateway enters the <code>available</code> state, you can attach your
* VPCs and VPN connections to the transit gateway.</p> <p>To attach your VPCs, use
* <a>CreateTransitGatewayVpcAttachment</a>.</p> <p>To attach a VPN connection, use
* <a>CreateCustomerGateway</a> to create a customer gateway and specify the ID of
* the customer gateway and the ID of the transit gateway in a call to
* <a>CreateVpnConnection</a>.</p> <p>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
* <a>CreateTransitGatewayRouteTable</a> 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
* <a>EnableTransitGatewayRouteTablePropagation</a> to propagate routes from a
* resource attachment to a transit gateway route table. If you disable automatic
* associations, you can use <a>AssociateTransitGatewayRouteTable</a> to associate
* a resource attachment with a transit gateway route table.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGateway">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateTransitGatewayAsync(const Model::CreateTransitGatewayRequest& request, const CreateTransitGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates a multicast domain using the specified transit gateway.</p> <p>The
* transit gateway must be in the available state before you create a domain. Use
* <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGateways.html">DescribeTransitGateways</a>
* to see the state of transit gateway.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayMulticastDomain">AWS
* API Reference</a></p>
*/
virtual Model::CreateTransitGatewayMulticastDomainOutcome CreateTransitGatewayMulticastDomain(const Model::CreateTransitGatewayMulticastDomainRequest& request) const;
/**
* <p>Creates a multicast domain using the specified transit gateway.</p> <p>The
* transit gateway must be in the available state before you create a domain. Use
* <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGateways.html">DescribeTransitGateways</a>
* to see the state of transit gateway.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayMulticastDomain">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateTransitGatewayMulticastDomainOutcomeCallable CreateTransitGatewayMulticastDomainCallable(const Model::CreateTransitGatewayMulticastDomainRequest& request) const;
/**
* <p>Creates a multicast domain using the specified transit gateway.</p> <p>The
* transit gateway must be in the available state before you create a domain. Use
* <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGateways.html">DescribeTransitGateways</a>
* to see the state of transit gateway.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayMulticastDomain">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateTransitGatewayMulticastDomainAsync(const Model::CreateTransitGatewayMulticastDomainRequest& request, const CreateTransitGatewayMulticastDomainResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Requests a transit gateway peering attachment between the specified transit
* gateway (requester) and a peer transit gateway (accepter). The transit gateways
* must be in different Regions. The peer transit gateway can be in your account or
* a different AWS account. </p> <p>After you create the peering attachment, the
* owner of the accepter transit gateway must accept the attachment
* request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayPeeringAttachment">AWS
* API Reference</a></p>
*/
virtual Model::CreateTransitGatewayPeeringAttachmentOutcome CreateTransitGatewayPeeringAttachment(const Model::CreateTransitGatewayPeeringAttachmentRequest& request) const;
/**
* <p>Requests a transit gateway peering attachment between the specified transit
* gateway (requester) and a peer transit gateway (accepter). The transit gateways
* must be in different Regions. The peer transit gateway can be in your account or
* a different AWS account. </p> <p>After you create the peering attachment, the
* owner of the accepter transit gateway must accept the attachment
* request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayPeeringAttachment">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateTransitGatewayPeeringAttachmentOutcomeCallable CreateTransitGatewayPeeringAttachmentCallable(const Model::CreateTransitGatewayPeeringAttachmentRequest& request) const;
/**
* <p>Requests a transit gateway peering attachment between the specified transit
* gateway (requester) and a peer transit gateway (accepter). The transit gateways
* must be in different Regions. The peer transit gateway can be in your account or
* a different AWS account. </p> <p>After you create the peering attachment, the
* owner of the accepter transit gateway must accept the attachment
* request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayPeeringAttachment">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateTransitGatewayPeeringAttachmentAsync(const Model::CreateTransitGatewayPeeringAttachmentRequest& request, const CreateTransitGatewayPeeringAttachmentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates a reference (route) to a prefix list in a specified transit gateway
* route table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayPrefixListReference">AWS
* API Reference</a></p>
*/
virtual Model::CreateTransitGatewayPrefixListReferenceOutcome CreateTransitGatewayPrefixListReference(const Model::CreateTransitGatewayPrefixListReferenceRequest& request) const;
/**
* <p>Creates a reference (route) to a prefix list in a specified transit gateway
* route table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayPrefixListReference">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateTransitGatewayPrefixListReferenceOutcomeCallable CreateTransitGatewayPrefixListReferenceCallable(const Model::CreateTransitGatewayPrefixListReferenceRequest& request) const;
/**
* <p>Creates a reference (route) to a prefix list in a specified transit gateway
* route table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayPrefixListReference">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateTransitGatewayPrefixListReferenceAsync(const Model::CreateTransitGatewayPrefixListReferenceRequest& request, const CreateTransitGatewayPrefixListReferenceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates a static route for the specified transit gateway route
* table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRoute">AWS
* API Reference</a></p>
*/
virtual Model::CreateTransitGatewayRouteOutcome CreateTransitGatewayRoute(const Model::CreateTransitGatewayRouteRequest& request) const;
/**
* <p>Creates a static route for the specified transit gateway route
* table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRoute">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateTransitGatewayRouteOutcomeCallable CreateTransitGatewayRouteCallable(const Model::CreateTransitGatewayRouteRequest& request) const;
/**
* <p>Creates a static route for the specified transit gateway route
* table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRoute">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateTransitGatewayRouteAsync(const Model::CreateTransitGatewayRouteRequest& request, const CreateTransitGatewayRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates a route table for the specified transit gateway.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRouteTable">AWS
* API Reference</a></p>
*/
virtual Model::CreateTransitGatewayRouteTableOutcome CreateTransitGatewayRouteTable(const Model::CreateTransitGatewayRouteTableRequest& request) const;
/**
* <p>Creates a route table for the specified transit gateway.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRouteTable">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateTransitGatewayRouteTableOutcomeCallable CreateTransitGatewayRouteTableCallable(const Model::CreateTransitGatewayRouteTableRequest& request) const;
/**
* <p>Creates a route table for the specified transit gateway.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRouteTable">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateTransitGatewayRouteTableAsync(const Model::CreateTransitGatewayRouteTableRequest& request, const CreateTransitGatewayRouteTableResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Attaches the specified VPC to the specified transit gateway.</p> <p>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.</p> <p>To send VPC traffic to an attached transit
* gateway, add a route to the VPC route table using
* <a>CreateRoute</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayVpcAttachment">AWS
* API Reference</a></p>
*/
virtual Model::CreateTransitGatewayVpcAttachmentOutcome CreateTransitGatewayVpcAttachment(const Model::CreateTransitGatewayVpcAttachmentRequest& request) const;
/**
* <p>Attaches the specified VPC to the specified transit gateway.</p> <p>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.</p> <p>To send VPC traffic to an attached transit
* gateway, add a route to the VPC route table using
* <a>CreateRoute</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayVpcAttachment">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateTransitGatewayVpcAttachmentOutcomeCallable CreateTransitGatewayVpcAttachmentCallable(const Model::CreateTransitGatewayVpcAttachmentRequest& request) const;
/**
* <p>Attaches the specified VPC to the specified transit gateway.</p> <p>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.</p> <p>To send VPC traffic to an attached transit
* gateway, add a route to the VPC route table using
* <a>CreateRoute</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayVpcAttachment">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateTransitGatewayVpcAttachmentAsync(const Model::CreateTransitGatewayVpcAttachmentRequest& request, const CreateTransitGatewayVpcAttachmentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates an EBS volume that can be attached to an instance in the same
* Availability Zone. The volume is created in the regional endpoint that you send
* the HTTP request to. For more information see <a
* href="https://docs.aws.amazon.com/general/latest/gr/rande.html">Regions and
* Endpoints</a>.</p> <p>You can create a new empty volume or restore a volume from
* an EBS snapshot. Any AWS Marketplace product codes from the snapshot are
* propagated to the volume.</p> <p>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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html">Amazon
* EBS Encryption</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* <p>You can tag your volumes during creation. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html">Tagging
* your Amazon EC2 resources</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html">Creating
* an Amazon EBS volume</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolume">AWS
* API Reference</a></p>
*/
virtual Model::CreateVolumeOutcome CreateVolume(const Model::CreateVolumeRequest& request) const;
/**
* <p>Creates an EBS volume that can be attached to an instance in the same
* Availability Zone. The volume is created in the regional endpoint that you send
* the HTTP request to. For more information see <a
* href="https://docs.aws.amazon.com/general/latest/gr/rande.html">Regions and
* Endpoints</a>.</p> <p>You can create a new empty volume or restore a volume from
* an EBS snapshot. Any AWS Marketplace product codes from the snapshot are
* propagated to the volume.</p> <p>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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html">Amazon
* EBS Encryption</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* <p>You can tag your volumes during creation. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html">Tagging
* your Amazon EC2 resources</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html">Creating
* an Amazon EBS volume</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolume">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateVolumeOutcomeCallable CreateVolumeCallable(const Model::CreateVolumeRequest& request) const;
/**
* <p>Creates an EBS volume that can be attached to an instance in the same
* Availability Zone. The volume is created in the regional endpoint that you send
* the HTTP request to. For more information see <a
* href="https://docs.aws.amazon.com/general/latest/gr/rande.html">Regions and
* Endpoints</a>.</p> <p>You can create a new empty volume or restore a volume from
* an EBS snapshot. Any AWS Marketplace product codes from the snapshot are
* propagated to the volume.</p> <p>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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html">Amazon
* EBS Encryption</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* <p>You can tag your volumes during creation. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html">Tagging
* your Amazon EC2 resources</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html">Creating
* an Amazon EBS volume</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolume">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateVolumeAsync(const Model::CreateVolumeRequest& request, const CreateVolumeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates a VPC with the specified IPv4 CIDR block. The smallest VPC you can
* create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16
* netmask (65,536 IPv4 addresses). For more information about how large to make
* your VPC, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html">Your
* VPC and Subnets</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p>
* <p>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 (<a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html">BYOIP</a>).</p>
* <p>By default, each instance 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 <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html">DHCP
* Options Sets</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p>
* <p>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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html">Dedicated
* Instances</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpc">AWS API
* Reference</a></p>
*/
virtual Model::CreateVpcOutcome CreateVpc(const Model::CreateVpcRequest& request) const;
/**
* <p>Creates a VPC with the specified IPv4 CIDR block. The smallest VPC you can
* create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16
* netmask (65,536 IPv4 addresses). For more information about how large to make
* your VPC, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html">Your
* VPC and Subnets</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p>
* <p>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 (<a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html">BYOIP</a>).</p>
* <p>By default, each instance 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 <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html">DHCP
* Options Sets</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p>
* <p>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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html">Dedicated
* Instances</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpc">AWS API
* Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateVpcOutcomeCallable CreateVpcCallable(const Model::CreateVpcRequest& request) const;
/**
* <p>Creates a VPC with the specified IPv4 CIDR block. The smallest VPC you can
* create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16
* netmask (65,536 IPv4 addresses). For more information about how large to make
* your VPC, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html">Your
* VPC and Subnets</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p>
* <p>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 (<a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html">BYOIP</a>).</p>
* <p>By default, each instance 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 <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html">DHCP
* Options Sets</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p>
* <p>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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html">Dedicated
* Instances</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpc">AWS API
* Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateVpcAsync(const Model::CreateVpcRequest& request, const CreateVpcResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates a VPC endpoint for a specified service. An endpoint enables you to
* create a private connection between your VPC and the service. The service may be
* provided by AWS, an AWS Marketplace Partner, or another AWS account. For more
* information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html">VPC
* Endpoints</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p> <p>A
* <code>gateway</code> endpoint serves as a target for a route in your route table
* for traffic destined for the AWS service. You can specify an endpoint policy to
* attach to the endpoint, which will control access to the service from your VPC.
* You can also specify the VPC route tables that use the endpoint.</p> <p>An
* <code>interface</code> endpoint is a network interface in your subnet that
* serves as an endpoint for communicating with the specified service. You can
* specify the subnets in which to create an endpoint, and the security groups to
* associate with the endpoint network interface.</p> <p>Use
* <a>DescribeVpcEndpointServices</a> to get a list of supported
* services.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpoint">AWS
* API Reference</a></p>
*/
virtual Model::CreateVpcEndpointOutcome CreateVpcEndpoint(const Model::CreateVpcEndpointRequest& request) const;
/**
* <p>Creates a VPC endpoint for a specified service. An endpoint enables you to
* create a private connection between your VPC and the service. The service may be
* provided by AWS, an AWS Marketplace Partner, or another AWS account. For more
* information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html">VPC
* Endpoints</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p> <p>A
* <code>gateway</code> endpoint serves as a target for a route in your route table
* for traffic destined for the AWS service. You can specify an endpoint policy to
* attach to the endpoint, which will control access to the service from your VPC.
* You can also specify the VPC route tables that use the endpoint.</p> <p>An
* <code>interface</code> endpoint is a network interface in your subnet that
* serves as an endpoint for communicating with the specified service. You can
* specify the subnets in which to create an endpoint, and the security groups to
* associate with the endpoint network interface.</p> <p>Use
* <a>DescribeVpcEndpointServices</a> to get a list of supported
* services.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpoint">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateVpcEndpointOutcomeCallable CreateVpcEndpointCallable(const Model::CreateVpcEndpointRequest& request) const;
/**
* <p>Creates a VPC endpoint for a specified service. An endpoint enables you to
* create a private connection between your VPC and the service. The service may be
* provided by AWS, an AWS Marketplace Partner, or another AWS account. For more
* information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html">VPC
* Endpoints</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p> <p>A
* <code>gateway</code> endpoint serves as a target for a route in your route table
* for traffic destined for the AWS service. You can specify an endpoint policy to
* attach to the endpoint, which will control access to the service from your VPC.
* You can also specify the VPC route tables that use the endpoint.</p> <p>An
* <code>interface</code> endpoint is a network interface in your subnet that
* serves as an endpoint for communicating with the specified service. You can
* specify the subnets in which to create an endpoint, and the security groups to
* associate with the endpoint network interface.</p> <p>Use
* <a>DescribeVpcEndpointServices</a> to get a list of supported
* services.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpoint">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateVpcEndpointAsync(const Model::CreateVpcEndpointRequest& request, const CreateVpcEndpointResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html">Create a
* Topic</a> in the <i>Amazon Simple Notification Service Developer Guide</i>.</p>
* <p>You can create a connection notification for interface endpoints
* only.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointConnectionNotification">AWS
* API Reference</a></p>
*/
virtual Model::CreateVpcEndpointConnectionNotificationOutcome CreateVpcEndpointConnectionNotification(const Model::CreateVpcEndpointConnectionNotificationRequest& request) const;
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html">Create a
* Topic</a> in the <i>Amazon Simple Notification Service Developer Guide</i>.</p>
* <p>You can create a connection notification for interface endpoints
* only.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointConnectionNotification">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateVpcEndpointConnectionNotificationOutcomeCallable CreateVpcEndpointConnectionNotificationCallable(const Model::CreateVpcEndpointConnectionNotificationRequest& request) const;
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html">Create a
* Topic</a> in the <i>Amazon Simple Notification Service Developer Guide</i>.</p>
* <p>You can create a connection notification for interface endpoints
* only.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointConnectionNotification">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateVpcEndpointConnectionNotificationAsync(const Model::CreateVpcEndpointConnectionNotificationRequest& request, const CreateVpcEndpointConnectionNotificationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates a VPC endpoint service configuration to which service consumers (AWS
* accounts, IAM users, and IAM roles) can connect. Service consumers can create an
* interface VPC endpoint to connect to your service.</p> <p>To create an endpoint
* service configuration, you must first create a Network Load Balancer for your
* service. For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html">VPC
* Endpoint Services</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.
* </p> <p>If you set the private DNS name, you must prove that you own the private
* DNS domain name. For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-dns-validation.html">VPC
* Endpoint Service Private DNS Name Verification</a> in the <i>Amazon Virtual
* Private Cloud User Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointServiceConfiguration">AWS
* API Reference</a></p>
*/
virtual Model::CreateVpcEndpointServiceConfigurationOutcome CreateVpcEndpointServiceConfiguration(const Model::CreateVpcEndpointServiceConfigurationRequest& request) const;
/**
* <p>Creates a VPC endpoint service configuration to which service consumers (AWS
* accounts, IAM users, and IAM roles) can connect. Service consumers can create an
* interface VPC endpoint to connect to your service.</p> <p>To create an endpoint
* service configuration, you must first create a Network Load Balancer for your
* service. For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html">VPC
* Endpoint Services</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.
* </p> <p>If you set the private DNS name, you must prove that you own the private
* DNS domain name. For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-dns-validation.html">VPC
* Endpoint Service Private DNS Name Verification</a> in the <i>Amazon Virtual
* Private Cloud User Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointServiceConfiguration">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateVpcEndpointServiceConfigurationOutcomeCallable CreateVpcEndpointServiceConfigurationCallable(const Model::CreateVpcEndpointServiceConfigurationRequest& request) const;
/**
* <p>Creates a VPC endpoint service configuration to which service consumers (AWS
* accounts, IAM users, and IAM roles) can connect. Service consumers can create an
* interface VPC endpoint to connect to your service.</p> <p>To create an endpoint
* service configuration, you must first create a Network Load Balancer for your
* service. For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html">VPC
* Endpoint Services</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.
* </p> <p>If you set the private DNS name, you must prove that you own the private
* DNS domain name. For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-dns-validation.html">VPC
* Endpoint Service Private DNS Name Verification</a> in the <i>Amazon Virtual
* Private Cloud User Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointServiceConfiguration">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateVpcEndpointServiceConfigurationAsync(const Model::CreateVpcEndpointServiceConfigurationRequest& request, const CreateVpcEndpointServiceConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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 AWS account and can be in a different Region to the
* requester VPC. The requester VPC and accepter VPC cannot have overlapping CIDR
* blocks.</p> <p>Limitations and rules apply to a VPC peering connection.
* For more information, see the <a
* href="https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-basics.html#vpc-peering-limitations">limitations</a>
* section in the <i>VPC Peering Guide</i>.</p> <p>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.</p> <p>If you create a VPC peering connection request
* between VPCs with overlapping CIDR blocks, the VPC peering connection has a
* status of <code>failed</code>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnection">AWS
* API Reference</a></p>
*/
virtual Model::CreateVpcPeeringConnectionOutcome CreateVpcPeeringConnection(const Model::CreateVpcPeeringConnectionRequest& request) const;
/**
* <p>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 AWS account and can be in a different Region to the
* requester VPC. The requester VPC and accepter VPC cannot have overlapping CIDR
* blocks.</p> <p>Limitations and rules apply to a VPC peering connection.
* For more information, see the <a
* href="https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-basics.html#vpc-peering-limitations">limitations</a>
* section in the <i>VPC Peering Guide</i>.</p> <p>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.</p> <p>If you create a VPC peering connection request
* between VPCs with overlapping CIDR blocks, the VPC peering connection has a
* status of <code>failed</code>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnection">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateVpcPeeringConnectionOutcomeCallable CreateVpcPeeringConnectionCallable(const Model::CreateVpcPeeringConnectionRequest& request) const;
/**
* <p>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 AWS account and can be in a different Region to the
* requester VPC. The requester VPC and accepter VPC cannot have overlapping CIDR
* blocks.</p> <p>Limitations and rules apply to a VPC peering connection.
* For more information, see the <a
* href="https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-basics.html#vpc-peering-limitations">limitations</a>
* section in the <i>VPC Peering Guide</i>.</p> <p>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.</p> <p>If you create a VPC peering connection request
* between VPCs with overlapping CIDR blocks, the VPC peering connection has a
* status of <code>failed</code>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnection">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateVpcPeeringConnectionAsync(const Model::CreateVpcPeeringConnectionRequest& request, const CreateVpcPeeringConnectionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates a VPN connection between an existing virtual private gateway or
* transit gateway and a customer gateway. The supported connection type is
* <code>ipsec.1</code>.</p> <p>The response includes information that you need to
* give to your network administrator to configure your customer gateway.</p>
* <p>We strongly recommend that you use HTTPS when calling this
* operation because the response contains sensitive cryptographic information for
* configuring your customer gateway device.</p> <p>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.</p> <p>This is an idempotent operation. If you perform
* the operation more than once, Amazon EC2 doesn't return an error.</p> <p>For
* more information, see <a
* href="https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html">AWS
* Site-to-Site VPN</a> in the <i>AWS Site-to-Site VPN User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnection">AWS
* API Reference</a></p>
*/
virtual Model::CreateVpnConnectionOutcome CreateVpnConnection(const Model::CreateVpnConnectionRequest& request) const;
/**
* <p>Creates a VPN connection between an existing virtual private gateway or
* transit gateway and a customer gateway. The supported connection type is
* <code>ipsec.1</code>.</p> <p>The response includes information that you need to
* give to your network administrator to configure your customer gateway.</p>
* <p>We strongly recommend that you use HTTPS when calling this
* operation because the response contains sensitive cryptographic information for
* configuring your customer gateway device.</p> <p>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.</p> <p>This is an idempotent operation. If you perform
* the operation more than once, Amazon EC2 doesn't return an error.</p> <p>For
* more information, see <a
* href="https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html">AWS
* Site-to-Site VPN</a> in the <i>AWS Site-to-Site VPN User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnection">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateVpnConnectionOutcomeCallable CreateVpnConnectionCallable(const Model::CreateVpnConnectionRequest& request) const;
/**
* <p>Creates a VPN connection between an existing virtual private gateway or
* transit gateway and a customer gateway. The supported connection type is
* <code>ipsec.1</code>.</p> <p>The response includes information that you need to
* give to your network administrator to configure your customer gateway.</p>
* <p>We strongly recommend that you use HTTPS when calling this
* operation because the response contains sensitive cryptographic information for
* configuring your customer gateway device.</p> <p>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.</p> <p>This is an idempotent operation. If you perform
* the operation more than once, Amazon EC2 doesn't return an error.</p> <p>For
* more information, see <a
* href="https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html">AWS
* Site-to-Site VPN</a> in the <i>AWS Site-to-Site VPN User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnection">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateVpnConnectionAsync(const Model::CreateVpnConnectionRequest& request, const CreateVpnConnectionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html">AWS
* Site-to-Site VPN</a> in the <i>AWS Site-to-Site VPN User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRoute">AWS
* API Reference</a></p>
*/
virtual Model::CreateVpnConnectionRouteOutcome CreateVpnConnectionRoute(const Model::CreateVpnConnectionRouteRequest& request) const;
/**
* <p>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.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html">AWS
* Site-to-Site VPN</a> in the <i>AWS Site-to-Site VPN User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRoute">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateVpnConnectionRouteOutcomeCallable CreateVpnConnectionRouteCallable(const Model::CreateVpnConnectionRouteRequest& request) const;
/**
* <p>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.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html">AWS
* Site-to-Site VPN</a> in the <i>AWS Site-to-Site VPN User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRoute">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateVpnConnectionRouteAsync(const Model::CreateVpnConnectionRouteRequest& request, const CreateVpnConnectionRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html">AWS
* Site-to-Site VPN</a> in the <i>AWS Site-to-Site VPN User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGateway">AWS
* API Reference</a></p>
*/
virtual Model::CreateVpnGatewayOutcome CreateVpnGateway(const Model::CreateVpnGatewayRequest& request) const;
/**
* <p>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.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html">AWS
* Site-to-Site VPN</a> in the <i>AWS Site-to-Site VPN User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGateway">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateVpnGatewayOutcomeCallable CreateVpnGatewayCallable(const Model::CreateVpnGatewayRequest& request) const;
/**
* <p>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.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html">AWS
* Site-to-Site VPN</a> in the <i>AWS Site-to-Site VPN User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGateway">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateVpnGatewayAsync(const Model::CreateVpnGatewayRequest& request, const CreateVpnGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes a carrier gateway.</p> <p>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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DeleteRoute.html">DeleteRoute</a>.</p>
* <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCarrierGateway">AWS
* API Reference</a></p>
*/
virtual Model::DeleteCarrierGatewayOutcome DeleteCarrierGateway(const Model::DeleteCarrierGatewayRequest& request) const;
/**
* <p>Deletes a carrier gateway.</p> <p>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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DeleteRoute.html">DeleteRoute</a>.</p>
* <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCarrierGateway">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteCarrierGatewayOutcomeCallable DeleteCarrierGatewayCallable(const Model::DeleteCarrierGatewayRequest& request) const;
/**
* <p>Deletes a carrier gateway.</p> <p>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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DeleteRoute.html">DeleteRoute</a>.</p>
* <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCarrierGateway">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteCarrierGatewayAsync(const Model::DeleteCarrierGatewayRequest& request, const DeleteCarrierGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes the specified Client VPN endpoint. You must disassociate all target
* networks before you can delete a Client VPN endpoint.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnEndpoint">AWS
* API Reference</a></p>
*/
virtual Model::DeleteClientVpnEndpointOutcome DeleteClientVpnEndpoint(const Model::DeleteClientVpnEndpointRequest& request) const;
/**
* <p>Deletes the specified Client VPN endpoint. You must disassociate all target
* networks before you can delete a Client VPN endpoint.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnEndpoint">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteClientVpnEndpointOutcomeCallable DeleteClientVpnEndpointCallable(const Model::DeleteClientVpnEndpointRequest& request) const;
/**
* <p>Deletes the specified Client VPN endpoint. You must disassociate all target
* networks before you can delete a Client VPN endpoint.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnEndpoint">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteClientVpnEndpointAsync(const Model::DeleteClientVpnEndpointRequest& request, const DeleteClientVpnEndpointResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes a route from a Client VPN endpoint. You can only delete routes that
* you manually added using the <b>CreateClientVpnRoute</b> 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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnRoute">AWS
* API Reference</a></p>
*/
virtual Model::DeleteClientVpnRouteOutcome DeleteClientVpnRoute(const Model::DeleteClientVpnRouteRequest& request) const;
/**
* <p>Deletes a route from a Client VPN endpoint. You can only delete routes that
* you manually added using the <b>CreateClientVpnRoute</b> 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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnRoute">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteClientVpnRouteOutcomeCallable DeleteClientVpnRouteCallable(const Model::DeleteClientVpnRouteRequest& request) const;
/**
* <p>Deletes a route from a Client VPN endpoint. You can only delete routes that
* you manually added using the <b>CreateClientVpnRoute</b> 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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnRoute">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteClientVpnRouteAsync(const Model::DeleteClientVpnRouteRequest& request, const DeleteClientVpnRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes the specified customer gateway. You must delete the VPN connection
* before you can delete the customer gateway.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGateway">AWS
* API Reference</a></p>
*/
virtual Model::DeleteCustomerGatewayOutcome DeleteCustomerGateway(const Model::DeleteCustomerGatewayRequest& request) const;
/**
* <p>Deletes the specified customer gateway. You must delete the VPN connection
* before you can delete the customer gateway.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGateway">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteCustomerGatewayOutcomeCallable DeleteCustomerGatewayCallable(const Model::DeleteCustomerGatewayRequest& request) const;
/**
* <p>Deletes the specified customer gateway. You must delete the VPN connection
* before you can delete the customer gateway.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGateway">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteCustomerGatewayAsync(const Model::DeleteCustomerGatewayRequest& request, const DeleteCustomerGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptions">AWS
* API Reference</a></p>
*/
virtual Model::DeleteDhcpOptionsOutcome DeleteDhcpOptions(const Model::DeleteDhcpOptionsRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptions">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteDhcpOptionsOutcomeCallable DeleteDhcpOptionsCallable(const Model::DeleteDhcpOptionsRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptions">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteDhcpOptionsAsync(const Model::DeleteDhcpOptionsRequest& request, const DeleteDhcpOptionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes an egress-only internet gateway.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGateway">AWS
* API Reference</a></p>
*/
virtual Model::DeleteEgressOnlyInternetGatewayOutcome DeleteEgressOnlyInternetGateway(const Model::DeleteEgressOnlyInternetGatewayRequest& request) const;
/**
* <p>Deletes an egress-only internet gateway.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGateway">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteEgressOnlyInternetGatewayOutcomeCallable DeleteEgressOnlyInternetGatewayCallable(const Model::DeleteEgressOnlyInternetGatewayRequest& request) const;
/**
* <p>Deletes an egress-only internet gateway.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGateway">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteEgressOnlyInternetGatewayAsync(const Model::DeleteEgressOnlyInternetGatewayRequest& request, const DeleteEgressOnlyInternetGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes the specified EC2 Fleet.</p> <p>After you delete an EC2 Fleet, it
* launches no new instances. You must specify whether an EC2 Fleet should also
* terminate its instances. If you terminate the instances, the EC2 Fleet enters
* the <code>deleted_terminating</code> state. Otherwise, the EC2 Fleet enters the
* <code>deleted_running</code> state, and the instances continue to run until they
* are interrupted or you terminate them manually. </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFleets">AWS
* API Reference</a></p>
*/
virtual Model::DeleteFleetsOutcome DeleteFleets(const Model::DeleteFleetsRequest& request) const;
/**
* <p>Deletes the specified EC2 Fleet.</p> <p>After you delete an EC2 Fleet, it
* launches no new instances. You must specify whether an EC2 Fleet should also
* terminate its instances. If you terminate the instances, the EC2 Fleet enters
* the <code>deleted_terminating</code> state. Otherwise, the EC2 Fleet enters the
* <code>deleted_running</code> state, and the instances continue to run until they
* are interrupted or you terminate them manually. </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFleets">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteFleetsOutcomeCallable DeleteFleetsCallable(const Model::DeleteFleetsRequest& request) const;
/**
* <p>Deletes the specified EC2 Fleet.</p> <p>After you delete an EC2 Fleet, it
* launches no new instances. You must specify whether an EC2 Fleet should also
* terminate its instances. If you terminate the instances, the EC2 Fleet enters
* the <code>deleted_terminating</code> state. Otherwise, the EC2 Fleet enters the
* <code>deleted_running</code> state, and the instances continue to run until they
* are interrupted or you terminate them manually. </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFleets">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteFleetsAsync(const Model::DeleteFleetsRequest& request, const DeleteFleetsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes one or more flow logs.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogs">AWS
* API Reference</a></p>
*/
virtual Model::DeleteFlowLogsOutcome DeleteFlowLogs(const Model::DeleteFlowLogsRequest& request) const;
/**
* <p>Deletes one or more flow logs.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogs">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteFlowLogsOutcomeCallable DeleteFlowLogsCallable(const Model::DeleteFlowLogsRequest& request) const;
/**
* <p>Deletes one or more flow logs.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogs">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteFlowLogsAsync(const Model::DeleteFlowLogsRequest& request, const DeleteFlowLogsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes the specified Amazon FPGA Image (AFI).</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFpgaImage">AWS
* API Reference</a></p>
*/
virtual Model::DeleteFpgaImageOutcome DeleteFpgaImage(const Model::DeleteFpgaImageRequest& request) const;
/**
* <p>Deletes the specified Amazon FPGA Image (AFI).</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFpgaImage">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteFpgaImageOutcomeCallable DeleteFpgaImageCallable(const Model::DeleteFpgaImageRequest& request) const;
/**
* <p>Deletes the specified Amazon FPGA Image (AFI).</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFpgaImage">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteFpgaImageAsync(const Model::DeleteFpgaImageRequest& request, const DeleteFpgaImageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes the specified internet gateway. You must detach the internet gateway
* from the VPC before you can delete it.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGateway">AWS
* API Reference</a></p>
*/
virtual Model::DeleteInternetGatewayOutcome DeleteInternetGateway(const Model::DeleteInternetGatewayRequest& request) const;
/**
* <p>Deletes the specified internet gateway. You must detach the internet gateway
* from the VPC before you can delete it.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGateway">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteInternetGatewayOutcomeCallable DeleteInternetGatewayCallable(const Model::DeleteInternetGatewayRequest& request) const;
/**
* <p>Deletes the specified internet gateway. You must detach the internet gateway
* from the VPC before you can delete it.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGateway">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteInternetGatewayAsync(const Model::DeleteInternetGatewayRequest& request, const DeleteInternetGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes the specified key pair, by removing the public key from Amazon
* EC2.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPair">AWS
* API Reference</a></p>
*/
virtual Model::DeleteKeyPairOutcome DeleteKeyPair(const Model::DeleteKeyPairRequest& request) const;
/**
* <p>Deletes the specified key pair, by removing the public key from Amazon
* EC2.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPair">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteKeyPairOutcomeCallable DeleteKeyPairCallable(const Model::DeleteKeyPairRequest& request) const;
/**
* <p>Deletes the specified key pair, by removing the public key from Amazon
* EC2.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPair">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteKeyPairAsync(const Model::DeleteKeyPairRequest& request, const DeleteKeyPairResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes a launch template. Deleting a launch template deletes all of its
* versions.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplate">AWS
* API Reference</a></p>
*/
virtual Model::DeleteLaunchTemplateOutcome DeleteLaunchTemplate(const Model::DeleteLaunchTemplateRequest& request) const;
/**
* <p>Deletes a launch template. Deleting a launch template deletes all of its
* versions.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplate">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteLaunchTemplateOutcomeCallable DeleteLaunchTemplateCallable(const Model::DeleteLaunchTemplateRequest& request) const;
/**
* <p>Deletes a launch template. Deleting a launch template deletes all of its
* versions.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplate">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteLaunchTemplateAsync(const Model::DeleteLaunchTemplateRequest& request, const DeleteLaunchTemplateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes one or more versions of a launch template. You cannot 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
* <a>DeleteLaunchTemplate</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplateVersions">AWS
* API Reference</a></p>
*/
virtual Model::DeleteLaunchTemplateVersionsOutcome DeleteLaunchTemplateVersions(const Model::DeleteLaunchTemplateVersionsRequest& request) const;
/**
* <p>Deletes one or more versions of a launch template. You cannot 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
* <a>DeleteLaunchTemplate</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplateVersions">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteLaunchTemplateVersionsOutcomeCallable DeleteLaunchTemplateVersionsCallable(const Model::DeleteLaunchTemplateVersionsRequest& request) const;
/**
* <p>Deletes one or more versions of a launch template. You cannot 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
* <a>DeleteLaunchTemplate</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplateVersions">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteLaunchTemplateVersionsAsync(const Model::DeleteLaunchTemplateVersionsRequest& request, const DeleteLaunchTemplateVersionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes the specified route from the specified local gateway route
* table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLocalGatewayRoute">AWS
* API Reference</a></p>
*/
virtual Model::DeleteLocalGatewayRouteOutcome DeleteLocalGatewayRoute(const Model::DeleteLocalGatewayRouteRequest& request) const;
/**
* <p>Deletes the specified route from the specified local gateway route
* table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLocalGatewayRoute">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteLocalGatewayRouteOutcomeCallable DeleteLocalGatewayRouteCallable(const Model::DeleteLocalGatewayRouteRequest& request) const;
/**
* <p>Deletes the specified route from the specified local gateway route
* table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLocalGatewayRoute">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteLocalGatewayRouteAsync(const Model::DeleteLocalGatewayRouteRequest& request, const DeleteLocalGatewayRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes the specified association between a VPC and local gateway route
* table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLocalGatewayRouteTableVpcAssociation">AWS
* API Reference</a></p>
*/
virtual Model::DeleteLocalGatewayRouteTableVpcAssociationOutcome DeleteLocalGatewayRouteTableVpcAssociation(const Model::DeleteLocalGatewayRouteTableVpcAssociationRequest& request) const;
/**
* <p>Deletes the specified association between a VPC and local gateway route
* table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLocalGatewayRouteTableVpcAssociation">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteLocalGatewayRouteTableVpcAssociationOutcomeCallable DeleteLocalGatewayRouteTableVpcAssociationCallable(const Model::DeleteLocalGatewayRouteTableVpcAssociationRequest& request) const;
/**
* <p>Deletes the specified association between a VPC and local gateway route
* table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLocalGatewayRouteTableVpcAssociation">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteLocalGatewayRouteTableVpcAssociationAsync(const Model::DeleteLocalGatewayRouteTableVpcAssociationRequest& request, const DeleteLocalGatewayRouteTableVpcAssociationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes the specified managed prefix list. You must first remove all
* references to the prefix list in your resources.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteManagedPrefixList">AWS
* API Reference</a></p>
*/
virtual Model::DeleteManagedPrefixListOutcome DeleteManagedPrefixList(const Model::DeleteManagedPrefixListRequest& request) const;
/**
* <p>Deletes the specified managed prefix list. You must first remove all
* references to the prefix list in your resources.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteManagedPrefixList">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteManagedPrefixListOutcomeCallable DeleteManagedPrefixListCallable(const Model::DeleteManagedPrefixListRequest& request) const;
/**
* <p>Deletes the specified managed prefix list. You must first remove all
* references to the prefix list in your resources.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteManagedPrefixList">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteManagedPrefixListAsync(const Model::DeleteManagedPrefixListRequest& request, const DeleteManagedPrefixListResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes the specified NAT gateway. Deleting a 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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGateway">AWS
* API Reference</a></p>
*/
virtual Model::DeleteNatGatewayOutcome DeleteNatGateway(const Model::DeleteNatGatewayRequest& request) const;
/**
* <p>Deletes the specified NAT gateway. Deleting a 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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGateway">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteNatGatewayOutcomeCallable DeleteNatGatewayCallable(const Model::DeleteNatGatewayRequest& request) const;
/**
* <p>Deletes the specified NAT gateway. Deleting a 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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGateway">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteNatGatewayAsync(const Model::DeleteNatGatewayRequest& request, const DeleteNatGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAcl">AWS
* API Reference</a></p>
*/
virtual Model::DeleteNetworkAclOutcome DeleteNetworkAcl(const Model::DeleteNetworkAclRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAcl">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteNetworkAclOutcomeCallable DeleteNetworkAclCallable(const Model::DeleteNetworkAclRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAcl">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteNetworkAclAsync(const Model::DeleteNetworkAclRequest& request, const DeleteNetworkAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes the specified ingress or egress entry (rule) from the specified
* network ACL.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntry">AWS
* API Reference</a></p>
*/
virtual Model::DeleteNetworkAclEntryOutcome DeleteNetworkAclEntry(const Model::DeleteNetworkAclEntryRequest& request) const;
/**
* <p>Deletes the specified ingress or egress entry (rule) from the specified
* network ACL.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntry">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteNetworkAclEntryOutcomeCallable DeleteNetworkAclEntryCallable(const Model::DeleteNetworkAclEntryRequest& request) const;
/**
* <p>Deletes the specified ingress or egress entry (rule) from the specified
* network ACL.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntry">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteNetworkAclEntryAsync(const Model::DeleteNetworkAclEntryRequest& request, const DeleteNetworkAclEntryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes the specified network interface. You must detach the network
* interface before you can delete it.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterface">AWS
* API Reference</a></p>
*/
virtual Model::DeleteNetworkInterfaceOutcome DeleteNetworkInterface(const Model::DeleteNetworkInterfaceRequest& request) const;
/**
* <p>Deletes the specified network interface. You must detach the network
* interface before you can delete it.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterface">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteNetworkInterfaceOutcomeCallable DeleteNetworkInterfaceCallable(const Model::DeleteNetworkInterfaceRequest& request) const;
/**
* <p>Deletes the specified network interface. You must detach the network
* interface before you can delete it.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterface">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteNetworkInterfaceAsync(const Model::DeleteNetworkInterfaceRequest& request, const DeleteNetworkInterfaceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermission">AWS
* API Reference</a></p>
*/
virtual Model::DeleteNetworkInterfacePermissionOutcome DeleteNetworkInterfacePermission(const Model::DeleteNetworkInterfacePermissionRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermission">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteNetworkInterfacePermissionOutcomeCallable DeleteNetworkInterfacePermissionCallable(const Model::DeleteNetworkInterfacePermissionRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermission">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteNetworkInterfacePermissionAsync(const Model::DeleteNetworkInterfacePermissionRequest& request, const DeleteNetworkInterfacePermissionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html">Placement
* groups</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroup">AWS
* API Reference</a></p>
*/
virtual Model::DeletePlacementGroupOutcome DeletePlacementGroup(const Model::DeletePlacementGroupRequest& request) const;
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html">Placement
* groups</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroup">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeletePlacementGroupOutcomeCallable DeletePlacementGroupCallable(const Model::DeletePlacementGroupRequest& request) const;
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html">Placement
* groups</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroup">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeletePlacementGroupAsync(const Model::DeletePlacementGroupRequest& request, const DeletePlacementGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes the queued purchases for the specified Reserved
* Instances.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteQueuedReservedInstances">AWS
* API Reference</a></p>
*/
virtual Model::DeleteQueuedReservedInstancesOutcome DeleteQueuedReservedInstances(const Model::DeleteQueuedReservedInstancesRequest& request) const;
/**
* <p>Deletes the queued purchases for the specified Reserved
* Instances.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteQueuedReservedInstances">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteQueuedReservedInstancesOutcomeCallable DeleteQueuedReservedInstancesCallable(const Model::DeleteQueuedReservedInstancesRequest& request) const;
/**
* <p>Deletes the queued purchases for the specified Reserved
* Instances.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteQueuedReservedInstances">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteQueuedReservedInstancesAsync(const Model::DeleteQueuedReservedInstancesRequest& request, const DeleteQueuedReservedInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes the specified route from the specified route table.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRoute">AWS API
* Reference</a></p>
*/
virtual Model::DeleteRouteOutcome DeleteRoute(const Model::DeleteRouteRequest& request) const;
/**
* <p>Deletes the specified route from the specified route table.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRoute">AWS API
* Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteRouteOutcomeCallable DeleteRouteCallable(const Model::DeleteRouteRequest& request) const;
/**
* <p>Deletes the specified route from the specified route table.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRoute">AWS API
* Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteRouteAsync(const Model::DeleteRouteRequest& request, const DeleteRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTable">AWS
* API Reference</a></p>
*/
virtual Model::DeleteRouteTableOutcome DeleteRouteTable(const Model::DeleteRouteTableRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTable">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteRouteTableOutcomeCallable DeleteRouteTableCallable(const Model::DeleteRouteTableRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTable">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteRouteTableAsync(const Model::DeleteRouteTableRequest& request, const DeleteRouteTableResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes a security group.</p> <p>If you attempt to delete a security group
* that is associated with an instance, or is referenced by another security group,
* the operation fails with <code>InvalidGroup.InUse</code> in EC2-Classic or
* <code>DependencyViolation</code> in EC2-VPC.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroup">AWS
* API Reference</a></p>
*/
virtual Model::DeleteSecurityGroupOutcome DeleteSecurityGroup(const Model::DeleteSecurityGroupRequest& request) const;
/**
* <p>Deletes a security group.</p> <p>If you attempt to delete a security group
* that is associated with an instance, or is referenced by another security group,
* the operation fails with <code>InvalidGroup.InUse</code> in EC2-Classic or
* <code>DependencyViolation</code> in EC2-VPC.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroup">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteSecurityGroupOutcomeCallable DeleteSecurityGroupCallable(const Model::DeleteSecurityGroupRequest& request) const;
/**
* <p>Deletes a security group.</p> <p>If you attempt to delete a security group
* that is associated with an instance, or is referenced by another security group,
* the operation fails with <code>InvalidGroup.InUse</code> in EC2-Classic or
* <code>DependencyViolation</code> in EC2-VPC.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroup">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteSecurityGroupAsync(const Model::DeleteSecurityGroupRequest& request, const DeleteSecurityGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes the specified snapshot.</p> <p>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.</p> <p>You
* cannot delete a snapshot of the root device of an EBS volume used by a
* registered AMI. You must first de-register the AMI before you can delete the
* snapshot.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-snapshot.html">Deleting
* an Amazon EBS snapshot</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshot">AWS
* API Reference</a></p>
*/
virtual Model::DeleteSnapshotOutcome DeleteSnapshot(const Model::DeleteSnapshotRequest& request) const;
/**
* <p>Deletes the specified snapshot.</p> <p>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.</p> <p>You
* cannot delete a snapshot of the root device of an EBS volume used by a
* registered AMI. You must first de-register the AMI before you can delete the
* snapshot.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-snapshot.html">Deleting
* an Amazon EBS snapshot</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshot">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteSnapshotOutcomeCallable DeleteSnapshotCallable(const Model::DeleteSnapshotRequest& request) const;
/**
* <p>Deletes the specified snapshot.</p> <p>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.</p> <p>You
* cannot delete a snapshot of the root device of an EBS volume used by a
* registered AMI. You must first de-register the AMI before you can delete the
* snapshot.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-snapshot.html">Deleting
* an Amazon EBS snapshot</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshot">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteSnapshotAsync(const Model::DeleteSnapshotRequest& request, const DeleteSnapshotResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes the data feed for Spot Instances.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscription">AWS
* API Reference</a></p>
*/
virtual Model::DeleteSpotDatafeedSubscriptionOutcome DeleteSpotDatafeedSubscription(const Model::DeleteSpotDatafeedSubscriptionRequest& request) const;
/**
* <p>Deletes the data feed for Spot Instances.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscription">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteSpotDatafeedSubscriptionOutcomeCallable DeleteSpotDatafeedSubscriptionCallable(const Model::DeleteSpotDatafeedSubscriptionRequest& request) const;
/**
* <p>Deletes the data feed for Spot Instances.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscription">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteSpotDatafeedSubscriptionAsync(const Model::DeleteSpotDatafeedSubscriptionRequest& request, const DeleteSpotDatafeedSubscriptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes the specified subnet. You must terminate all running instances in the
* subnet before you can delete the subnet.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnet">AWS
* API Reference</a></p>
*/
virtual Model::DeleteSubnetOutcome DeleteSubnet(const Model::DeleteSubnetRequest& request) const;
/**
* <p>Deletes the specified subnet. You must terminate all running instances in the
* subnet before you can delete the subnet.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnet">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteSubnetOutcomeCallable DeleteSubnetCallable(const Model::DeleteSubnetRequest& request) const;
/**
* <p>Deletes the specified subnet. You must terminate all running instances in the
* subnet before you can delete the subnet.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnet">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteSubnetAsync(const Model::DeleteSubnetRequest& request, const DeleteSubnetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes the specified set of tags from the specified set of resources.</p>
* <p>To list the current tags, use <a>DescribeTags</a>. For more information about
* tags, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html">Tagging
* Your Resources</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTags">AWS API
* Reference</a></p>
*/
virtual Model::DeleteTagsOutcome DeleteTags(const Model::DeleteTagsRequest& request) const;
/**
* <p>Deletes the specified set of tags from the specified set of resources.</p>
* <p>To list the current tags, use <a>DescribeTags</a>. For more information about
* tags, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html">Tagging
* Your Resources</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTags">AWS API
* Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteTagsOutcomeCallable DeleteTagsCallable(const Model::DeleteTagsRequest& request) const;
/**
* <p>Deletes the specified set of tags from the specified set of resources.</p>
* <p>To list the current tags, use <a>DescribeTags</a>. For more information about
* tags, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html">Tagging
* Your Resources</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTags">AWS API
* Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteTagsAsync(const Model::DeleteTagsRequest& request, const DeleteTagsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes the specified Traffic Mirror filter.</p> <p>You cannot delete a
* Traffic Mirror filter that is in use by a Traffic Mirror session.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorFilter">AWS
* API Reference</a></p>
*/
virtual Model::DeleteTrafficMirrorFilterOutcome DeleteTrafficMirrorFilter(const Model::DeleteTrafficMirrorFilterRequest& request) const;
/**
* <p>Deletes the specified Traffic Mirror filter.</p> <p>You cannot delete a
* Traffic Mirror filter that is in use by a Traffic Mirror session.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorFilter">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteTrafficMirrorFilterOutcomeCallable DeleteTrafficMirrorFilterCallable(const Model::DeleteTrafficMirrorFilterRequest& request) const;
/**
* <p>Deletes the specified Traffic Mirror filter.</p> <p>You cannot delete a
* Traffic Mirror filter that is in use by a Traffic Mirror session.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorFilter">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteTrafficMirrorFilterAsync(const Model::DeleteTrafficMirrorFilterRequest& request, const DeleteTrafficMirrorFilterResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes the specified Traffic Mirror rule.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorFilterRule">AWS
* API Reference</a></p>
*/
virtual Model::DeleteTrafficMirrorFilterRuleOutcome DeleteTrafficMirrorFilterRule(const Model::DeleteTrafficMirrorFilterRuleRequest& request) const;
/**
* <p>Deletes the specified Traffic Mirror rule.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorFilterRule">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteTrafficMirrorFilterRuleOutcomeCallable DeleteTrafficMirrorFilterRuleCallable(const Model::DeleteTrafficMirrorFilterRuleRequest& request) const;
/**
* <p>Deletes the specified Traffic Mirror rule.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorFilterRule">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteTrafficMirrorFilterRuleAsync(const Model::DeleteTrafficMirrorFilterRuleRequest& request, const DeleteTrafficMirrorFilterRuleResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes the specified Traffic Mirror session.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorSession">AWS
* API Reference</a></p>
*/
virtual Model::DeleteTrafficMirrorSessionOutcome DeleteTrafficMirrorSession(const Model::DeleteTrafficMirrorSessionRequest& request) const;
/**
* <p>Deletes the specified Traffic Mirror session.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorSession">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteTrafficMirrorSessionOutcomeCallable DeleteTrafficMirrorSessionCallable(const Model::DeleteTrafficMirrorSessionRequest& request) const;
/**
* <p>Deletes the specified Traffic Mirror session.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorSession">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteTrafficMirrorSessionAsync(const Model::DeleteTrafficMirrorSessionRequest& request, const DeleteTrafficMirrorSessionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes the specified Traffic Mirror target.</p> <p>You cannot delete a
* Traffic Mirror target that is in use by a Traffic Mirror session.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorTarget">AWS
* API Reference</a></p>
*/
virtual Model::DeleteTrafficMirrorTargetOutcome DeleteTrafficMirrorTarget(const Model::DeleteTrafficMirrorTargetRequest& request) const;
/**
* <p>Deletes the specified Traffic Mirror target.</p> <p>You cannot delete a
* Traffic Mirror target that is in use by a Traffic Mirror session.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorTarget">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteTrafficMirrorTargetOutcomeCallable DeleteTrafficMirrorTargetCallable(const Model::DeleteTrafficMirrorTargetRequest& request) const;
/**
* <p>Deletes the specified Traffic Mirror target.</p> <p>You cannot delete a
* Traffic Mirror target that is in use by a Traffic Mirror session.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorTarget">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteTrafficMirrorTargetAsync(const Model::DeleteTrafficMirrorTargetRequest& request, const DeleteTrafficMirrorTargetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes the specified transit gateway.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGateway">AWS
* API Reference</a></p>
*/
virtual Model::DeleteTransitGatewayOutcome DeleteTransitGateway(const Model::DeleteTransitGatewayRequest& request) const;
/**
* <p>Deletes the specified transit gateway.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGateway">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteTransitGatewayOutcomeCallable DeleteTransitGatewayCallable(const Model::DeleteTransitGatewayRequest& request) const;
/**
* <p>Deletes the specified transit gateway.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGateway">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteTransitGatewayAsync(const Model::DeleteTransitGatewayRequest& request, const DeleteTransitGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes the specified transit gateway multicast domain.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayMulticastDomain">AWS
* API Reference</a></p>
*/
virtual Model::DeleteTransitGatewayMulticastDomainOutcome DeleteTransitGatewayMulticastDomain(const Model::DeleteTransitGatewayMulticastDomainRequest& request) const;
/**
* <p>Deletes the specified transit gateway multicast domain.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayMulticastDomain">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteTransitGatewayMulticastDomainOutcomeCallable DeleteTransitGatewayMulticastDomainCallable(const Model::DeleteTransitGatewayMulticastDomainRequest& request) const;
/**
* <p>Deletes the specified transit gateway multicast domain.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayMulticastDomain">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteTransitGatewayMulticastDomainAsync(const Model::DeleteTransitGatewayMulticastDomainRequest& request, const DeleteTransitGatewayMulticastDomainResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes a transit gateway peering attachment.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayPeeringAttachment">AWS
* API Reference</a></p>
*/
virtual Model::DeleteTransitGatewayPeeringAttachmentOutcome DeleteTransitGatewayPeeringAttachment(const Model::DeleteTransitGatewayPeeringAttachmentRequest& request) const;
/**
* <p>Deletes a transit gateway peering attachment.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayPeeringAttachment">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteTransitGatewayPeeringAttachmentOutcomeCallable DeleteTransitGatewayPeeringAttachmentCallable(const Model::DeleteTransitGatewayPeeringAttachmentRequest& request) const;
/**
* <p>Deletes a transit gateway peering attachment.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayPeeringAttachment">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteTransitGatewayPeeringAttachmentAsync(const Model::DeleteTransitGatewayPeeringAttachmentRequest& request, const DeleteTransitGatewayPeeringAttachmentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes a reference (route) to a prefix list in a specified transit gateway
* route table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayPrefixListReference">AWS
* API Reference</a></p>
*/
virtual Model::DeleteTransitGatewayPrefixListReferenceOutcome DeleteTransitGatewayPrefixListReference(const Model::DeleteTransitGatewayPrefixListReferenceRequest& request) const;
/**
* <p>Deletes a reference (route) to a prefix list in a specified transit gateway
* route table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayPrefixListReference">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteTransitGatewayPrefixListReferenceOutcomeCallable DeleteTransitGatewayPrefixListReferenceCallable(const Model::DeleteTransitGatewayPrefixListReferenceRequest& request) const;
/**
* <p>Deletes a reference (route) to a prefix list in a specified transit gateway
* route table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayPrefixListReference">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteTransitGatewayPrefixListReferenceAsync(const Model::DeleteTransitGatewayPrefixListReferenceRequest& request, const DeleteTransitGatewayPrefixListReferenceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes the specified route from the specified transit gateway route
* table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRoute">AWS
* API Reference</a></p>
*/
virtual Model::DeleteTransitGatewayRouteOutcome DeleteTransitGatewayRoute(const Model::DeleteTransitGatewayRouteRequest& request) const;
/**
* <p>Deletes the specified route from the specified transit gateway route
* table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRoute">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteTransitGatewayRouteOutcomeCallable DeleteTransitGatewayRouteCallable(const Model::DeleteTransitGatewayRouteRequest& request) const;
/**
* <p>Deletes the specified route from the specified transit gateway route
* table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRoute">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteTransitGatewayRouteAsync(const Model::DeleteTransitGatewayRouteRequest& request, const DeleteTransitGatewayRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes the specified transit gateway route table. You must disassociate the
* route table from any transit gateway route tables before you can delete
* it.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRouteTable">AWS
* API Reference</a></p>
*/
virtual Model::DeleteTransitGatewayRouteTableOutcome DeleteTransitGatewayRouteTable(const Model::DeleteTransitGatewayRouteTableRequest& request) const;
/**
* <p>Deletes the specified transit gateway route table. You must disassociate the
* route table from any transit gateway route tables before you can delete
* it.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRouteTable">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteTransitGatewayRouteTableOutcomeCallable DeleteTransitGatewayRouteTableCallable(const Model::DeleteTransitGatewayRouteTableRequest& request) const;
/**
* <p>Deletes the specified transit gateway route table. You must disassociate the
* route table from any transit gateway route tables before you can delete
* it.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRouteTable">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteTransitGatewayRouteTableAsync(const Model::DeleteTransitGatewayRouteTableRequest& request, const DeleteTransitGatewayRouteTableResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes the specified VPC attachment.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayVpcAttachment">AWS
* API Reference</a></p>
*/
virtual Model::DeleteTransitGatewayVpcAttachmentOutcome DeleteTransitGatewayVpcAttachment(const Model::DeleteTransitGatewayVpcAttachmentRequest& request) const;
/**
* <p>Deletes the specified VPC attachment.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayVpcAttachment">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteTransitGatewayVpcAttachmentOutcomeCallable DeleteTransitGatewayVpcAttachmentCallable(const Model::DeleteTransitGatewayVpcAttachmentRequest& request) const;
/**
* <p>Deletes the specified VPC attachment.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayVpcAttachment">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteTransitGatewayVpcAttachmentAsync(const Model::DeleteTransitGatewayVpcAttachmentRequest& request, const DeleteTransitGatewayVpcAttachmentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes the specified EBS volume. The volume must be in the
* <code>available</code> state (not attached to an instance).</p> <p>The volume
* can remain in the <code>deleting</code> state for several minutes.</p> <p>For
* more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-volume.html">Deleting
* an Amazon EBS volume</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolume">AWS
* API Reference</a></p>
*/
virtual Model::DeleteVolumeOutcome DeleteVolume(const Model::DeleteVolumeRequest& request) const;
/**
* <p>Deletes the specified EBS volume. The volume must be in the
* <code>available</code> state (not attached to an instance).</p> <p>The volume
* can remain in the <code>deleting</code> state for several minutes.</p> <p>For
* more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-volume.html">Deleting
* an Amazon EBS volume</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolume">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteVolumeOutcomeCallable DeleteVolumeCallable(const Model::DeleteVolumeRequest& request) const;
/**
* <p>Deletes the specified EBS volume. The volume must be in the
* <code>available</code> state (not attached to an instance).</p> <p>The volume
* can remain in the <code>deleting</code> state for several minutes.</p> <p>For
* more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-volume.html">Deleting
* an Amazon EBS volume</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolume">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteVolumeAsync(const Model::DeleteVolumeRequest& request, const DeleteVolumeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpc">AWS API
* Reference</a></p>
*/
virtual Model::DeleteVpcOutcome DeleteVpc(const Model::DeleteVpcRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpc">AWS API
* Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteVpcOutcomeCallable DeleteVpcCallable(const Model::DeleteVpcRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpc">AWS API
* Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteVpcAsync(const Model::DeleteVpcRequest& request, const DeleteVpcResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes one or more VPC endpoint connection notifications.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointConnectionNotifications">AWS
* API Reference</a></p>
*/
virtual Model::DeleteVpcEndpointConnectionNotificationsOutcome DeleteVpcEndpointConnectionNotifications(const Model::DeleteVpcEndpointConnectionNotificationsRequest& request) const;
/**
* <p>Deletes one or more VPC endpoint connection notifications.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointConnectionNotifications">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteVpcEndpointConnectionNotificationsOutcomeCallable DeleteVpcEndpointConnectionNotificationsCallable(const Model::DeleteVpcEndpointConnectionNotificationsRequest& request) const;
/**
* <p>Deletes one or more VPC endpoint connection notifications.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointConnectionNotifications">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteVpcEndpointConnectionNotificationsAsync(const Model::DeleteVpcEndpointConnectionNotificationsRequest& request, const DeleteVpcEndpointConnectionNotificationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes one or more VPC endpoint service configurations in your account.
* Before you delete the endpoint service configuration, you must reject any
* <code>Available</code> or <code>PendingAcceptance</code> interface endpoint
* connections that are attached to the service.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointServiceConfigurations">AWS
* API Reference</a></p>
*/
virtual Model::DeleteVpcEndpointServiceConfigurationsOutcome DeleteVpcEndpointServiceConfigurations(const Model::DeleteVpcEndpointServiceConfigurationsRequest& request) const;
/**
* <p>Deletes one or more VPC endpoint service configurations in your account.
* Before you delete the endpoint service configuration, you must reject any
* <code>Available</code> or <code>PendingAcceptance</code> interface endpoint
* connections that are attached to the service.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointServiceConfigurations">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteVpcEndpointServiceConfigurationsOutcomeCallable DeleteVpcEndpointServiceConfigurationsCallable(const Model::DeleteVpcEndpointServiceConfigurationsRequest& request) const;
/**
* <p>Deletes one or more VPC endpoint service configurations in your account.
* Before you delete the endpoint service configuration, you must reject any
* <code>Available</code> or <code>PendingAcceptance</code> interface endpoint
* connections that are attached to the service.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointServiceConfigurations">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteVpcEndpointServiceConfigurationsAsync(const Model::DeleteVpcEndpointServiceConfigurationsRequest& request, const DeleteVpcEndpointServiceConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes one or more specified VPC endpoints. Deleting a gateway endpoint also
* deletes the endpoint routes in the route tables that were associated with the
* endpoint. Deleting an interface endpoint deletes the endpoint network
* interfaces.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpoints">AWS
* API Reference</a></p>
*/
virtual Model::DeleteVpcEndpointsOutcome DeleteVpcEndpoints(const Model::DeleteVpcEndpointsRequest& request) const;
/**
* <p>Deletes one or more specified VPC endpoints. Deleting a gateway endpoint also
* deletes the endpoint routes in the route tables that were associated with the
* endpoint. Deleting an interface endpoint deletes the endpoint network
* interfaces.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpoints">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteVpcEndpointsOutcomeCallable DeleteVpcEndpointsCallable(const Model::DeleteVpcEndpointsRequest& request) const;
/**
* <p>Deletes one or more specified VPC endpoints. Deleting a gateway endpoint also
* deletes the endpoint routes in the route tables that were associated with the
* endpoint. Deleting an interface endpoint deletes the endpoint network
* interfaces.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpoints">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteVpcEndpointsAsync(const Model::DeleteVpcEndpointsRequest& request, const DeleteVpcEndpointsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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 <code>active</code> state. The owner of the requester VPC can delete a VPC
* peering connection in the <code>pending-acceptance</code> state. You cannot
* delete a VPC peering connection that's in the <code>failed</code>
* state.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnection">AWS
* API Reference</a></p>
*/
virtual Model::DeleteVpcPeeringConnectionOutcome DeleteVpcPeeringConnection(const Model::DeleteVpcPeeringConnectionRequest& request) const;
/**
* <p>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 <code>active</code> state. The owner of the requester VPC can delete a VPC
* peering connection in the <code>pending-acceptance</code> state. You cannot
* delete a VPC peering connection that's in the <code>failed</code>
* state.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnection">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteVpcPeeringConnectionOutcomeCallable DeleteVpcPeeringConnectionCallable(const Model::DeleteVpcPeeringConnectionRequest& request) const;
/**
* <p>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 <code>active</code> state. The owner of the requester VPC can delete a VPC
* peering connection in the <code>pending-acceptance</code> state. You cannot
* delete a VPC peering connection that's in the <code>failed</code>
* state.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnection">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteVpcPeeringConnectionAsync(const Model::DeleteVpcPeeringConnectionRequest& request, const DeleteVpcPeeringConnectionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes the specified VPN connection.</p> <p>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.</p> <p>For certificate-based authentication, delete all AWS Certificate
* Manager (ACM) private certificates used for the AWS-side tunnel endpoints for
* the VPN connection before deleting the VPN connection.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnection">AWS
* API Reference</a></p>
*/
virtual Model::DeleteVpnConnectionOutcome DeleteVpnConnection(const Model::DeleteVpnConnectionRequest& request) const;
/**
* <p>Deletes the specified VPN connection.</p> <p>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.</p> <p>For certificate-based authentication, delete all AWS Certificate
* Manager (ACM) private certificates used for the AWS-side tunnel endpoints for
* the VPN connection before deleting the VPN connection.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnection">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteVpnConnectionOutcomeCallable DeleteVpnConnectionCallable(const Model::DeleteVpnConnectionRequest& request) const;
/**
* <p>Deletes the specified VPN connection.</p> <p>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.</p> <p>For certificate-based authentication, delete all AWS Certificate
* Manager (ACM) private certificates used for the AWS-side tunnel endpoints for
* the VPN connection before deleting the VPN connection.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnection">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteVpnConnectionAsync(const Model::DeleteVpnConnectionRequest& request, const DeleteVpnConnectionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRoute">AWS
* API Reference</a></p>
*/
virtual Model::DeleteVpnConnectionRouteOutcome DeleteVpnConnectionRoute(const Model::DeleteVpnConnectionRouteRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRoute">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteVpnConnectionRouteOutcomeCallable DeleteVpnConnectionRouteCallable(const Model::DeleteVpnConnectionRouteRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRoute">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteVpnConnectionRouteAsync(const Model::DeleteVpnConnectionRouteRequest& request, const DeleteVpnConnectionRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGateway">AWS
* API Reference</a></p>
*/
virtual Model::DeleteVpnGatewayOutcome DeleteVpnGateway(const Model::DeleteVpnGatewayRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGateway">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteVpnGatewayOutcomeCallable DeleteVpnGatewayCallable(const Model::DeleteVpnGatewayRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGateway">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteVpnGatewayAsync(const Model::DeleteVpnGatewayRequest& request, const DeleteVpnGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Releases the specified address range that you provisioned for use with your
* AWS resources through bring your own IP addresses (BYOIP) and deletes the
* corresponding address pool.</p> <p>Before you can release an address range, you
* must stop advertising it using <a>WithdrawByoipCidr</a> and you must not have
* any IP addresses allocated from its address range.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeprovisionByoipCidr">AWS
* API Reference</a></p>
*/
virtual Model::DeprovisionByoipCidrOutcome DeprovisionByoipCidr(const Model::DeprovisionByoipCidrRequest& request) const;
/**
* <p>Releases the specified address range that you provisioned for use with your
* AWS resources through bring your own IP addresses (BYOIP) and deletes the
* corresponding address pool.</p> <p>Before you can release an address range, you
* must stop advertising it using <a>WithdrawByoipCidr</a> and you must not have
* any IP addresses allocated from its address range.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeprovisionByoipCidr">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeprovisionByoipCidrOutcomeCallable DeprovisionByoipCidrCallable(const Model::DeprovisionByoipCidrRequest& request) const;
/**
* <p>Releases the specified address range that you provisioned for use with your
* AWS resources through bring your own IP addresses (BYOIP) and deletes the
* corresponding address pool.</p> <p>Before you can release an address range, you
* must stop advertising it using <a>WithdrawByoipCidr</a> and you must not have
* any IP addresses allocated from its address range.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeprovisionByoipCidr">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeprovisionByoipCidrAsync(const Model::DeprovisionByoipCidrRequest& request, const DeprovisionByoipCidrResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deregisters the specified AMI. After you deregister an AMI, it can't be used
* to launch new instances; however, 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.</p> <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImage">AWS
* API Reference</a></p>
*/
virtual Model::DeregisterImageOutcome DeregisterImage(const Model::DeregisterImageRequest& request) const;
/**
* <p>Deregisters the specified AMI. After you deregister an AMI, it can't be used
* to launch new instances; however, 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.</p> <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImage">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeregisterImageOutcomeCallable DeregisterImageCallable(const Model::DeregisterImageRequest& request) const;
/**
* <p>Deregisters the specified AMI. After you deregister an AMI, it can't be used
* to launch new instances; however, 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.</p> <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImage">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeregisterImageAsync(const Model::DeregisterImageRequest& request, const DeregisterImageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deregisters tag keys to prevent tags that have the specified tag keys from
* being included in scheduled event notifications for resources in the
* Region.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterInstanceEventNotificationAttributes">AWS
* API Reference</a></p>
*/
virtual Model::DeregisterInstanceEventNotificationAttributesOutcome DeregisterInstanceEventNotificationAttributes(const Model::DeregisterInstanceEventNotificationAttributesRequest& request) const;
/**
* <p>Deregisters tag keys to prevent tags that have the specified tag keys from
* being included in scheduled event notifications for resources in the
* Region.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterInstanceEventNotificationAttributes">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeregisterInstanceEventNotificationAttributesOutcomeCallable DeregisterInstanceEventNotificationAttributesCallable(const Model::DeregisterInstanceEventNotificationAttributesRequest& request) const;
/**
* <p>Deregisters tag keys to prevent tags that have the specified tag keys from
* being included in scheduled event notifications for resources in the
* Region.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterInstanceEventNotificationAttributes">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeregisterInstanceEventNotificationAttributesAsync(const Model::DeregisterInstanceEventNotificationAttributesRequest& request, const DeregisterInstanceEventNotificationAttributesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deregisters the specified members (network interfaces) from the transit
* gateway multicast group.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterTransitGatewayMulticastGroupMembers">AWS
* API Reference</a></p>
*/
virtual Model::DeregisterTransitGatewayMulticastGroupMembersOutcome DeregisterTransitGatewayMulticastGroupMembers(const Model::DeregisterTransitGatewayMulticastGroupMembersRequest& request) const;
/**
* <p>Deregisters the specified members (network interfaces) from the transit
* gateway multicast group.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterTransitGatewayMulticastGroupMembers">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeregisterTransitGatewayMulticastGroupMembersOutcomeCallable DeregisterTransitGatewayMulticastGroupMembersCallable(const Model::DeregisterTransitGatewayMulticastGroupMembersRequest& request) const;
/**
* <p>Deregisters the specified members (network interfaces) from the transit
* gateway multicast group.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterTransitGatewayMulticastGroupMembers">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeregisterTransitGatewayMulticastGroupMembersAsync(const Model::DeregisterTransitGatewayMulticastGroupMembersRequest& request, const DeregisterTransitGatewayMulticastGroupMembersResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deregisters the specified sources (network interfaces) from the transit
* gateway multicast group.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterTransitGatewayMulticastGroupSources">AWS
* API Reference</a></p>
*/
virtual Model::DeregisterTransitGatewayMulticastGroupSourcesOutcome DeregisterTransitGatewayMulticastGroupSources(const Model::DeregisterTransitGatewayMulticastGroupSourcesRequest& request) const;
/**
* <p>Deregisters the specified sources (network interfaces) from the transit
* gateway multicast group.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterTransitGatewayMulticastGroupSources">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeregisterTransitGatewayMulticastGroupSourcesOutcomeCallable DeregisterTransitGatewayMulticastGroupSourcesCallable(const Model::DeregisterTransitGatewayMulticastGroupSourcesRequest& request) const;
/**
* <p>Deregisters the specified sources (network interfaces) from the transit
* gateway multicast group.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterTransitGatewayMulticastGroupSources">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeregisterTransitGatewayMulticastGroupSourcesAsync(const Model::DeregisterTransitGatewayMulticastGroupSourcesRequest& request, const DeregisterTransitGatewayMulticastGroupSourcesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes attributes of your AWS account. The following are the supported
* account attributes:</p> <ul> <li> <p> <code>supported-platforms</code>:
* Indicates whether your account can launch instances into EC2-Classic and
* EC2-VPC, or only into EC2-VPC.</p> </li> <li> <p> <code>default-vpc</code>: The
* ID of the default VPC for your account, or <code>none</code>.</p> </li> <li> <p>
* <code>max-instances</code>: 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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-on-demand-instances.html#ec2-on-demand-instances-limits">On-Demand
* Instance Limits</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* </li> <li> <p> <code>vpc-max-security-groups-per-interface</code>: The maximum
* number of security groups that you can assign to a network interface.</p> </li>
* <li> <p> <code>max-elastic-ips</code>: The maximum number of Elastic IP
* addresses that you can allocate for use with EC2-Classic. </p> </li> <li> <p>
* <code>vpc-max-elastic-ips</code>: The maximum number of Elastic IP addresses
* that you can allocate for use with EC2-VPC.</p> </li> </ul><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributes">AWS
* API Reference</a></p>
*/
virtual Model::DescribeAccountAttributesOutcome DescribeAccountAttributes(const Model::DescribeAccountAttributesRequest& request) const;
/**
* <p>Describes attributes of your AWS account. The following are the supported
* account attributes:</p> <ul> <li> <p> <code>supported-platforms</code>:
* Indicates whether your account can launch instances into EC2-Classic and
* EC2-VPC, or only into EC2-VPC.</p> </li> <li> <p> <code>default-vpc</code>: The
* ID of the default VPC for your account, or <code>none</code>.</p> </li> <li> <p>
* <code>max-instances</code>: 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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-on-demand-instances.html#ec2-on-demand-instances-limits">On-Demand
* Instance Limits</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* </li> <li> <p> <code>vpc-max-security-groups-per-interface</code>: The maximum
* number of security groups that you can assign to a network interface.</p> </li>
* <li> <p> <code>max-elastic-ips</code>: The maximum number of Elastic IP
* addresses that you can allocate for use with EC2-Classic. </p> </li> <li> <p>
* <code>vpc-max-elastic-ips</code>: The maximum number of Elastic IP addresses
* that you can allocate for use with EC2-VPC.</p> </li> </ul><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributes">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeAccountAttributesOutcomeCallable DescribeAccountAttributesCallable(const Model::DescribeAccountAttributesRequest& request) const;
/**
* <p>Describes attributes of your AWS account. The following are the supported
* account attributes:</p> <ul> <li> <p> <code>supported-platforms</code>:
* Indicates whether your account can launch instances into EC2-Classic and
* EC2-VPC, or only into EC2-VPC.</p> </li> <li> <p> <code>default-vpc</code>: The
* ID of the default VPC for your account, or <code>none</code>.</p> </li> <li> <p>
* <code>max-instances</code>: 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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-on-demand-instances.html#ec2-on-demand-instances-limits">On-Demand
* Instance Limits</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* </li> <li> <p> <code>vpc-max-security-groups-per-interface</code>: The maximum
* number of security groups that you can assign to a network interface.</p> </li>
* <li> <p> <code>max-elastic-ips</code>: The maximum number of Elastic IP
* addresses that you can allocate for use with EC2-Classic. </p> </li> <li> <p>
* <code>vpc-max-elastic-ips</code>: The maximum number of Elastic IP addresses
* that you can allocate for use with EC2-VPC.</p> </li> </ul><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributes">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeAccountAttributesAsync(const Model::DescribeAccountAttributesRequest& request, const DescribeAccountAttributesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the specified Elastic IP addresses or all of your Elastic IP
* addresses.</p> <p>An Elastic IP address is for use in either the EC2-Classic
* platform or in a VPC. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html">Elastic
* IP Addresses</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddresses">AWS
* API Reference</a></p>
*/
virtual Model::DescribeAddressesOutcome DescribeAddresses(const Model::DescribeAddressesRequest& request) const;
/**
* <p>Describes the specified Elastic IP addresses or all of your Elastic IP
* addresses.</p> <p>An Elastic IP address is for use in either the EC2-Classic
* platform or in a VPC. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html">Elastic
* IP Addresses</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddresses">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeAddressesOutcomeCallable DescribeAddressesCallable(const Model::DescribeAddressesRequest& request) const;
/**
* <p>Describes the specified Elastic IP addresses or all of your Elastic IP
* addresses.</p> <p>An Elastic IP address is for use in either the EC2-Classic
* platform or in a VPC. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html">Elastic
* IP Addresses</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddresses">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeAddressesAsync(const Model::DescribeAddressesRequest& request, const DescribeAddressesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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).</p>
* <p>This request only returns information about resource types that support
* longer IDs.</p> <p>The following resource types support longer IDs:
* <code>bundle</code> | <code>conversion-task</code> |
* <code>customer-gateway</code> | <code>dhcp-options</code> |
* <code>elastic-ip-allocation</code> | <code>elastic-ip-association</code> |
* <code>export-task</code> | <code>flow-log</code> | <code>image</code> |
* <code>import-task</code> | <code>instance</code> | <code>internet-gateway</code>
* | <code>network-acl</code> | <code>network-acl-association</code> |
* <code>network-interface</code> | <code>network-interface-attachment</code> |
* <code>prefix-list</code> | <code>reservation</code> | <code>route-table</code> |
* <code>route-table-association</code> | <code>security-group</code> |
* <code>snapshot</code> | <code>subnet</code> |
* <code>subnet-cidr-block-association</code> | <code>volume</code> |
* <code>vpc</code> | <code>vpc-cidr-block-association</code> |
* <code>vpc-endpoint</code> | <code>vpc-peering-connection</code> |
* <code>vpn-connection</code> | <code>vpn-gateway</code>.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAggregateIdFormat">AWS
* API Reference</a></p>
*/
virtual Model::DescribeAggregateIdFormatOutcome DescribeAggregateIdFormat(const Model::DescribeAggregateIdFormatRequest& request) const;
/**
* <p>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).</p>
* <p>This request only returns information about resource types that support
* longer IDs.</p> <p>The following resource types support longer IDs:
* <code>bundle</code> | <code>conversion-task</code> |
* <code>customer-gateway</code> | <code>dhcp-options</code> |
* <code>elastic-ip-allocation</code> | <code>elastic-ip-association</code> |
* <code>export-task</code> | <code>flow-log</code> | <code>image</code> |
* <code>import-task</code> | <code>instance</code> | <code>internet-gateway</code>
* | <code>network-acl</code> | <code>network-acl-association</code> |
* <code>network-interface</code> | <code>network-interface-attachment</code> |
* <code>prefix-list</code> | <code>reservation</code> | <code>route-table</code> |
* <code>route-table-association</code> | <code>security-group</code> |
* <code>snapshot</code> | <code>subnet</code> |
* <code>subnet-cidr-block-association</code> | <code>volume</code> |
* <code>vpc</code> | <code>vpc-cidr-block-association</code> |
* <code>vpc-endpoint</code> | <code>vpc-peering-connection</code> |
* <code>vpn-connection</code> | <code>vpn-gateway</code>.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAggregateIdFormat">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeAggregateIdFormatOutcomeCallable DescribeAggregateIdFormatCallable(const Model::DescribeAggregateIdFormatRequest& request) const;
/**
* <p>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).</p>
* <p>This request only returns information about resource types that support
* longer IDs.</p> <p>The following resource types support longer IDs:
* <code>bundle</code> | <code>conversion-task</code> |
* <code>customer-gateway</code> | <code>dhcp-options</code> |
* <code>elastic-ip-allocation</code> | <code>elastic-ip-association</code> |
* <code>export-task</code> | <code>flow-log</code> | <code>image</code> |
* <code>import-task</code> | <code>instance</code> | <code>internet-gateway</code>
* | <code>network-acl</code> | <code>network-acl-association</code> |
* <code>network-interface</code> | <code>network-interface-attachment</code> |
* <code>prefix-list</code> | <code>reservation</code> | <code>route-table</code> |
* <code>route-table-association</code> | <code>security-group</code> |
* <code>snapshot</code> | <code>subnet</code> |
* <code>subnet-cidr-block-association</code> | <code>volume</code> |
* <code>vpc</code> | <code>vpc-cidr-block-association</code> |
* <code>vpc-endpoint</code> | <code>vpc-peering-connection</code> |
* <code>vpn-connection</code> | <code>vpn-gateway</code>.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAggregateIdFormat">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeAggregateIdFormatAsync(const Model::DescribeAggregateIdFormatRequest& request, const DescribeAggregateIdFormatResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the Availability Zones, Local Zones, and Wavelength Zones that are
* available to you. If there is an event impacting a zone, you can use this
* request to view the state and any provided messages for that zone.</p> <p>For
* more information about Availability Zones, Local Zones, and Wavelength Zones,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html">Regions,
* Zones and Outposts</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZones">AWS
* API Reference</a></p>
*/
virtual Model::DescribeAvailabilityZonesOutcome DescribeAvailabilityZones(const Model::DescribeAvailabilityZonesRequest& request) const;
/**
* <p>Describes the Availability Zones, Local Zones, and Wavelength Zones that are
* available to you. If there is an event impacting a zone, you can use this
* request to view the state and any provided messages for that zone.</p> <p>For
* more information about Availability Zones, Local Zones, and Wavelength Zones,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html">Regions,
* Zones and Outposts</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZones">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeAvailabilityZonesOutcomeCallable DescribeAvailabilityZonesCallable(const Model::DescribeAvailabilityZonesRequest& request) const;
/**
* <p>Describes the Availability Zones, Local Zones, and Wavelength Zones that are
* available to you. If there is an event impacting a zone, you can use this
* request to view the state and any provided messages for that zone.</p> <p>For
* more information about Availability Zones, Local Zones, and Wavelength Zones,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html">Regions,
* Zones and Outposts</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZones">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeAvailabilityZonesAsync(const Model::DescribeAvailabilityZonesRequest& request, const DescribeAvailabilityZonesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the specified bundle tasks or all of your bundle tasks.</p>
* <p>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
* <code>RegisterImage</code> with the Amazon S3 bucket name and image manifest
* name you provided to the bundle task.</p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasks">AWS
* API Reference</a></p>
*/
virtual Model::DescribeBundleTasksOutcome DescribeBundleTasks(const Model::DescribeBundleTasksRequest& request) const;
/**
* <p>Describes the specified bundle tasks or all of your bundle tasks.</p>
* <p>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
* <code>RegisterImage</code> with the Amazon S3 bucket name and image manifest
* name you provided to the bundle task.</p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasks">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeBundleTasksOutcomeCallable DescribeBundleTasksCallable(const Model::DescribeBundleTasksRequest& request) const;
/**
* <p>Describes the specified bundle tasks or all of your bundle tasks.</p>
* <p>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
* <code>RegisterImage</code> with the Amazon S3 bucket name and image manifest
* name you provided to the bundle task.</p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasks">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeBundleTasksAsync(const Model::DescribeBundleTasksRequest& request, const DescribeBundleTasksResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the IP address ranges that were specified in calls to
* <a>ProvisionByoipCidr</a>.</p> <p>To describe the address pools that were
* created when you provisioned the address ranges, use
* <a>DescribePublicIpv4Pools</a> or <a>DescribeIpv6Pools</a>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeByoipCidrs">AWS
* API Reference</a></p>
*/
virtual Model::DescribeByoipCidrsOutcome DescribeByoipCidrs(const Model::DescribeByoipCidrsRequest& request) const;
/**
* <p>Describes the IP address ranges that were specified in calls to
* <a>ProvisionByoipCidr</a>.</p> <p>To describe the address pools that were
* created when you provisioned the address ranges, use
* <a>DescribePublicIpv4Pools</a> or <a>DescribeIpv6Pools</a>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeByoipCidrs">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeByoipCidrsOutcomeCallable DescribeByoipCidrsCallable(const Model::DescribeByoipCidrsRequest& request) const;
/**
* <p>Describes the IP address ranges that were specified in calls to
* <a>ProvisionByoipCidr</a>.</p> <p>To describe the address pools that were
* created when you provisioned the address ranges, use
* <a>DescribePublicIpv4Pools</a> or <a>DescribeIpv6Pools</a>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeByoipCidrs">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeByoipCidrsAsync(const Model::DescribeByoipCidrsRequest& request, const DescribeByoipCidrsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes one or more of your Capacity Reservations. The results describe
* only the Capacity Reservations in the AWS Region that you're currently
* using.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCapacityReservations">AWS
* API Reference</a></p>
*/
virtual Model::DescribeCapacityReservationsOutcome DescribeCapacityReservations(const Model::DescribeCapacityReservationsRequest& request) const;
/**
* <p>Describes one or more of your Capacity Reservations. The results describe
* only the Capacity Reservations in the AWS Region that you're currently
* using.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCapacityReservations">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeCapacityReservationsOutcomeCallable DescribeCapacityReservationsCallable(const Model::DescribeCapacityReservationsRequest& request) const;
/**
* <p>Describes one or more of your Capacity Reservations. The results describe
* only the Capacity Reservations in the AWS Region that you're currently
* using.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCapacityReservations">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeCapacityReservationsAsync(const Model::DescribeCapacityReservationsRequest& request, const DescribeCapacityReservationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes one or more of your carrier gateways.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCarrierGateways">AWS
* API Reference</a></p>
*/
virtual Model::DescribeCarrierGatewaysOutcome DescribeCarrierGateways(const Model::DescribeCarrierGatewaysRequest& request) const;
/**
* <p>Describes one or more of your carrier gateways.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCarrierGateways">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeCarrierGatewaysOutcomeCallable DescribeCarrierGatewaysCallable(const Model::DescribeCarrierGatewaysRequest& request) const;
/**
* <p>Describes one or more of your carrier gateways.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCarrierGateways">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeCarrierGatewaysAsync(const Model::DescribeCarrierGatewaysRequest& request, const DescribeCarrierGatewaysResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes one or more of 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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstances">AWS
* API Reference</a></p>
*/
virtual Model::DescribeClassicLinkInstancesOutcome DescribeClassicLinkInstances(const Model::DescribeClassicLinkInstancesRequest& request) const;
/**
* <p>Describes one or more of 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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstances">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeClassicLinkInstancesOutcomeCallable DescribeClassicLinkInstancesCallable(const Model::DescribeClassicLinkInstancesRequest& request) const;
/**
* <p>Describes one or more of 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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstances">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeClassicLinkInstancesAsync(const Model::DescribeClassicLinkInstancesRequest& request, const DescribeClassicLinkInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the authorization rules for a specified Client VPN
* endpoint.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnAuthorizationRules">AWS
* API Reference</a></p>
*/
virtual Model::DescribeClientVpnAuthorizationRulesOutcome DescribeClientVpnAuthorizationRules(const Model::DescribeClientVpnAuthorizationRulesRequest& request) const;
/**
* <p>Describes the authorization rules for a specified Client VPN
* endpoint.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnAuthorizationRules">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeClientVpnAuthorizationRulesOutcomeCallable DescribeClientVpnAuthorizationRulesCallable(const Model::DescribeClientVpnAuthorizationRulesRequest& request) const;
/**
* <p>Describes the authorization rules for a specified Client VPN
* endpoint.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnAuthorizationRules">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeClientVpnAuthorizationRulesAsync(const Model::DescribeClientVpnAuthorizationRulesRequest& request, const DescribeClientVpnAuthorizationRulesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes active client connections and connections that have been terminated
* within the last 60 minutes for the specified Client VPN endpoint.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnConnections">AWS
* API Reference</a></p>
*/
virtual Model::DescribeClientVpnConnectionsOutcome DescribeClientVpnConnections(const Model::DescribeClientVpnConnectionsRequest& request) const;
/**
* <p>Describes active client connections and connections that have been terminated
* within the last 60 minutes for the specified Client VPN endpoint.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnConnections">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeClientVpnConnectionsOutcomeCallable DescribeClientVpnConnectionsCallable(const Model::DescribeClientVpnConnectionsRequest& request) const;
/**
* <p>Describes active client connections and connections that have been terminated
* within the last 60 minutes for the specified Client VPN endpoint.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnConnections">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeClientVpnConnectionsAsync(const Model::DescribeClientVpnConnectionsRequest& request, const DescribeClientVpnConnectionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes one or more Client VPN endpoints in the account.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnEndpoints">AWS
* API Reference</a></p>
*/
virtual Model::DescribeClientVpnEndpointsOutcome DescribeClientVpnEndpoints(const Model::DescribeClientVpnEndpointsRequest& request) const;
/**
* <p>Describes one or more Client VPN endpoints in the account.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnEndpoints">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeClientVpnEndpointsOutcomeCallable DescribeClientVpnEndpointsCallable(const Model::DescribeClientVpnEndpointsRequest& request) const;
/**
* <p>Describes one or more Client VPN endpoints in the account.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnEndpoints">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeClientVpnEndpointsAsync(const Model::DescribeClientVpnEndpointsRequest& request, const DescribeClientVpnEndpointsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the routes for the specified Client VPN endpoint.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnRoutes">AWS
* API Reference</a></p>
*/
virtual Model::DescribeClientVpnRoutesOutcome DescribeClientVpnRoutes(const Model::DescribeClientVpnRoutesRequest& request) const;
/**
* <p>Describes the routes for the specified Client VPN endpoint.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnRoutes">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeClientVpnRoutesOutcomeCallable DescribeClientVpnRoutesCallable(const Model::DescribeClientVpnRoutesRequest& request) const;
/**
* <p>Describes the routes for the specified Client VPN endpoint.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnRoutes">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeClientVpnRoutesAsync(const Model::DescribeClientVpnRoutesRequest& request, const DescribeClientVpnRoutesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the target networks associated with the specified Client VPN
* endpoint.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnTargetNetworks">AWS
* API Reference</a></p>
*/
virtual Model::DescribeClientVpnTargetNetworksOutcome DescribeClientVpnTargetNetworks(const Model::DescribeClientVpnTargetNetworksRequest& request) const;
/**
* <p>Describes the target networks associated with the specified Client VPN
* endpoint.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnTargetNetworks">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeClientVpnTargetNetworksOutcomeCallable DescribeClientVpnTargetNetworksCallable(const Model::DescribeClientVpnTargetNetworksRequest& request) const;
/**
* <p>Describes the target networks associated with the specified Client VPN
* endpoint.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnTargetNetworks">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeClientVpnTargetNetworksAsync(const Model::DescribeClientVpnTargetNetworksRequest& request, const DescribeClientVpnTargetNetworksResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the specified customer-owned address pools or all of your
* customer-owned address pools.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCoipPools">AWS
* API Reference</a></p>
*/
virtual Model::DescribeCoipPoolsOutcome DescribeCoipPools(const Model::DescribeCoipPoolsRequest& request) const;
/**
* <p>Describes the specified customer-owned address pools or all of your
* customer-owned address pools.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCoipPools">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeCoipPoolsOutcomeCallable DescribeCoipPoolsCallable(const Model::DescribeCoipPoolsRequest& request) const;
/**
* <p>Describes the specified customer-owned address pools or all of your
* customer-owned address pools.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCoipPools">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeCoipPoolsAsync(const Model::DescribeCoipPoolsRequest& request, const DescribeCoipPoolsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the specified conversion tasks or all your conversion tasks. For
* more information, see the <a
* href="https://docs.aws.amazon.com/vm-import/latest/userguide/">VM Import/Export
* User Guide</a>.</p> <p>For information about the import manifest referenced by
* this API action, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html">VM
* Import Manifest</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasks">AWS
* API Reference</a></p>
*/
virtual Model::DescribeConversionTasksOutcome DescribeConversionTasks(const Model::DescribeConversionTasksRequest& request) const;
/**
* <p>Describes the specified conversion tasks or all your conversion tasks. For
* more information, see the <a
* href="https://docs.aws.amazon.com/vm-import/latest/userguide/">VM Import/Export
* User Guide</a>.</p> <p>For information about the import manifest referenced by
* this API action, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html">VM
* Import Manifest</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasks">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeConversionTasksOutcomeCallable DescribeConversionTasksCallable(const Model::DescribeConversionTasksRequest& request) const;
/**
* <p>Describes the specified conversion tasks or all your conversion tasks. For
* more information, see the <a
* href="https://docs.aws.amazon.com/vm-import/latest/userguide/">VM Import/Export
* User Guide</a>.</p> <p>For information about the import manifest referenced by
* this API action, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html">VM
* Import Manifest</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasks">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeConversionTasksAsync(const Model::DescribeConversionTasksRequest& request, const DescribeConversionTasksResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes one or more of your VPN customer gateways.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html">AWS
* Site-to-Site VPN</a> in the <i>AWS Site-to-Site VPN User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGateways">AWS
* API Reference</a></p>
*/
virtual Model::DescribeCustomerGatewaysOutcome DescribeCustomerGateways(const Model::DescribeCustomerGatewaysRequest& request) const;
/**
* <p>Describes one or more of your VPN customer gateways.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html">AWS
* Site-to-Site VPN</a> in the <i>AWS Site-to-Site VPN User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGateways">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeCustomerGatewaysOutcomeCallable DescribeCustomerGatewaysCallable(const Model::DescribeCustomerGatewaysRequest& request) const;
/**
* <p>Describes one or more of your VPN customer gateways.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html">AWS
* Site-to-Site VPN</a> in the <i>AWS Site-to-Site VPN User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGateways">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeCustomerGatewaysAsync(const Model::DescribeCustomerGatewaysRequest& request, const DescribeCustomerGatewaysResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes one or more of your DHCP options sets.</p> <p>For more information,
* see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html">DHCP
* Options Sets</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptions">AWS
* API Reference</a></p>
*/
virtual Model::DescribeDhcpOptionsOutcome DescribeDhcpOptions(const Model::DescribeDhcpOptionsRequest& request) const;
/**
* <p>Describes one or more of your DHCP options sets.</p> <p>For more information,
* see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html">DHCP
* Options Sets</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptions">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeDhcpOptionsOutcomeCallable DescribeDhcpOptionsCallable(const Model::DescribeDhcpOptionsRequest& request) const;
/**
* <p>Describes one or more of your DHCP options sets.</p> <p>For more information,
* see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html">DHCP
* Options Sets</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptions">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeDhcpOptionsAsync(const Model::DescribeDhcpOptionsRequest& request, const DescribeDhcpOptionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes one or more of your egress-only internet gateways.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGateways">AWS
* API Reference</a></p>
*/
virtual Model::DescribeEgressOnlyInternetGatewaysOutcome DescribeEgressOnlyInternetGateways(const Model::DescribeEgressOnlyInternetGatewaysRequest& request) const;
/**
* <p>Describes one or more of your egress-only internet gateways.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGateways">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeEgressOnlyInternetGatewaysOutcomeCallable DescribeEgressOnlyInternetGatewaysCallable(const Model::DescribeEgressOnlyInternetGatewaysRequest& request) const;
/**
* <p>Describes one or more of your egress-only internet gateways.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGateways">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeEgressOnlyInternetGatewaysAsync(const Model::DescribeEgressOnlyInternetGatewaysRequest& request, const DescribeEgressOnlyInternetGatewaysResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the Elastic Graphics accelerator associated with your instances.
* For more information about Elastic Graphics, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html">Amazon
* Elastic Graphics</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpus">AWS
* API Reference</a></p>
*/
virtual Model::DescribeElasticGpusOutcome DescribeElasticGpus(const Model::DescribeElasticGpusRequest& request) const;
/**
* <p>Describes the Elastic Graphics accelerator associated with your instances.
* For more information about Elastic Graphics, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html">Amazon
* Elastic Graphics</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpus">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeElasticGpusOutcomeCallable DescribeElasticGpusCallable(const Model::DescribeElasticGpusRequest& request) const;
/**
* <p>Describes the Elastic Graphics accelerator associated with your instances.
* For more information about Elastic Graphics, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html">Amazon
* Elastic Graphics</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpus">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeElasticGpusAsync(const Model::DescribeElasticGpusRequest& request, const DescribeElasticGpusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the specified export image tasks or all of your export image
* tasks.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportImageTasks">AWS
* API Reference</a></p>
*/
virtual Model::DescribeExportImageTasksOutcome DescribeExportImageTasks(const Model::DescribeExportImageTasksRequest& request) const;
/**
* <p>Describes the specified export image tasks or all of your export image
* tasks.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportImageTasks">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeExportImageTasksOutcomeCallable DescribeExportImageTasksCallable(const Model::DescribeExportImageTasksRequest& request) const;
/**
* <p>Describes the specified export image tasks or all of your export image
* tasks.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportImageTasks">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeExportImageTasksAsync(const Model::DescribeExportImageTasksRequest& request, const DescribeExportImageTasksResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the specified export instance tasks or all of your export instance
* tasks.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasks">AWS
* API Reference</a></p>
*/
virtual Model::DescribeExportTasksOutcome DescribeExportTasks(const Model::DescribeExportTasksRequest& request) const;
/**
* <p>Describes the specified export instance tasks or all of your export instance
* tasks.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasks">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeExportTasksOutcomeCallable DescribeExportTasksCallable(const Model::DescribeExportTasksRequest& request) const;
/**
* <p>Describes the specified export instance tasks or all of your export instance
* tasks.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasks">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeExportTasksAsync(const Model::DescribeExportTasksRequest& request, const DescribeExportTasksResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the state of fast snapshot restores for your
* snapshots.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFastSnapshotRestores">AWS
* API Reference</a></p>
*/
virtual Model::DescribeFastSnapshotRestoresOutcome DescribeFastSnapshotRestores(const Model::DescribeFastSnapshotRestoresRequest& request) const;
/**
* <p>Describes the state of fast snapshot restores for your
* snapshots.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFastSnapshotRestores">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeFastSnapshotRestoresOutcomeCallable DescribeFastSnapshotRestoresCallable(const Model::DescribeFastSnapshotRestoresRequest& request) const;
/**
* <p>Describes the state of fast snapshot restores for your
* snapshots.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFastSnapshotRestores">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeFastSnapshotRestoresAsync(const Model::DescribeFastSnapshotRestoresRequest& request, const DescribeFastSnapshotRestoresResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the events for the specified EC2 Fleet during the specified
* time.</p> <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetHistory">AWS
* API Reference</a></p>
*/
virtual Model::DescribeFleetHistoryOutcome DescribeFleetHistory(const Model::DescribeFleetHistoryRequest& request) const;
/**
* <p>Describes the events for the specified EC2 Fleet during the specified
* time.</p> <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetHistory">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeFleetHistoryOutcomeCallable DescribeFleetHistoryCallable(const Model::DescribeFleetHistoryRequest& request) const;
/**
* <p>Describes the events for the specified EC2 Fleet during the specified
* time.</p> <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetHistory">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeFleetHistoryAsync(const Model::DescribeFleetHistoryRequest& request, const DescribeFleetHistoryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the running instances for the specified EC2 Fleet.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetInstances">AWS
* API Reference</a></p>
*/
virtual Model::DescribeFleetInstancesOutcome DescribeFleetInstances(const Model::DescribeFleetInstancesRequest& request) const;
/**
* <p>Describes the running instances for the specified EC2 Fleet.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetInstances">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeFleetInstancesOutcomeCallable DescribeFleetInstancesCallable(const Model::DescribeFleetInstancesRequest& request) const;
/**
* <p>Describes the running instances for the specified EC2 Fleet.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetInstances">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeFleetInstancesAsync(const Model::DescribeFleetInstancesRequest& request, const DescribeFleetInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the specified EC2 Fleets or all of your EC2 Fleets.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleets">AWS
* API Reference</a></p>
*/
virtual Model::DescribeFleetsOutcome DescribeFleets(const Model::DescribeFleetsRequest& request) const;
/**
* <p>Describes the specified EC2 Fleets or all of your EC2 Fleets.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleets">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeFleetsOutcomeCallable DescribeFleetsCallable(const Model::DescribeFleetsRequest& request) const;
/**
* <p>Describes the specified EC2 Fleets or all of your EC2 Fleets.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleets">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeFleetsAsync(const Model::DescribeFleetsRequest& request, const DescribeFleetsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes one or more flow logs. To view the information in your flow logs
* (the log streams for the network interfaces), you must use the CloudWatch Logs
* console or the CloudWatch Logs API.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogs">AWS
* API Reference</a></p>
*/
virtual Model::DescribeFlowLogsOutcome DescribeFlowLogs(const Model::DescribeFlowLogsRequest& request) const;
/**
* <p>Describes one or more flow logs. To view the information in your flow logs
* (the log streams for the network interfaces), you must use the CloudWatch Logs
* console or the CloudWatch Logs API.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogs">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeFlowLogsOutcomeCallable DescribeFlowLogsCallable(const Model::DescribeFlowLogsRequest& request) const;
/**
* <p>Describes one or more flow logs. To view the information in your flow logs
* (the log streams for the network interfaces), you must use the CloudWatch Logs
* console or the CloudWatch Logs API.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogs">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeFlowLogsAsync(const Model::DescribeFlowLogsRequest& request, const DescribeFlowLogsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the specified attribute of the specified Amazon FPGA Image
* (AFI).</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImageAttribute">AWS
* API Reference</a></p>
*/
virtual Model::DescribeFpgaImageAttributeOutcome DescribeFpgaImageAttribute(const Model::DescribeFpgaImageAttributeRequest& request) const;
/**
* <p>Describes the specified attribute of the specified Amazon FPGA Image
* (AFI).</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImageAttribute">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeFpgaImageAttributeOutcomeCallable DescribeFpgaImageAttributeCallable(const Model::DescribeFpgaImageAttributeRequest& request) const;
/**
* <p>Describes the specified attribute of the specified Amazon FPGA Image
* (AFI).</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImageAttribute">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeFpgaImageAttributeAsync(const Model::DescribeFpgaImageAttributeRequest& request, const DescribeFpgaImageAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the Amazon FPGA Images (AFIs) available to you. These include
* public AFIs, private AFIs that you own, and AFIs owned by other AWS accounts for
* which you have load permissions.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImages">AWS
* API Reference</a></p>
*/
virtual Model::DescribeFpgaImagesOutcome DescribeFpgaImages(const Model::DescribeFpgaImagesRequest& request) const;
/**
* <p>Describes the Amazon FPGA Images (AFIs) available to you. These include
* public AFIs, private AFIs that you own, and AFIs owned by other AWS accounts for
* which you have load permissions.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImages">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeFpgaImagesOutcomeCallable DescribeFpgaImagesCallable(const Model::DescribeFpgaImagesRequest& request) const;
/**
* <p>Describes the Amazon FPGA Images (AFIs) available to you. These include
* public AFIs, private AFIs that you own, and AFIs owned by other AWS accounts for
* which you have load permissions.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImages">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeFpgaImagesAsync(const Model::DescribeFpgaImagesRequest& request, const DescribeFpgaImagesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the Dedicated Host reservations that are available to purchase.</p>
* <p>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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html">Dedicated
* Hosts Overview</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.
* </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferings">AWS
* API Reference</a></p>
*/
virtual Model::DescribeHostReservationOfferingsOutcome DescribeHostReservationOfferings(const Model::DescribeHostReservationOfferingsRequest& request) const;
/**
* <p>Describes the Dedicated Host reservations that are available to purchase.</p>
* <p>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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html">Dedicated
* Hosts Overview</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.
* </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferings">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeHostReservationOfferingsOutcomeCallable DescribeHostReservationOfferingsCallable(const Model::DescribeHostReservationOfferingsRequest& request) const;
/**
* <p>Describes the Dedicated Host reservations that are available to purchase.</p>
* <p>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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html">Dedicated
* Hosts Overview</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.
* </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferings">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeHostReservationOfferingsAsync(const Model::DescribeHostReservationOfferingsRequest& request, const DescribeHostReservationOfferingsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes reservations that are associated with Dedicated Hosts in your
* account.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservations">AWS
* API Reference</a></p>
*/
virtual Model::DescribeHostReservationsOutcome DescribeHostReservations(const Model::DescribeHostReservationsRequest& request) const;
/**
* <p>Describes reservations that are associated with Dedicated Hosts in your
* account.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservations">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeHostReservationsOutcomeCallable DescribeHostReservationsCallable(const Model::DescribeHostReservationsRequest& request) const;
/**
* <p>Describes reservations that are associated with Dedicated Hosts in your
* account.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservations">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeHostReservationsAsync(const Model::DescribeHostReservationsRequest& request, const DescribeHostReservationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the specified Dedicated Hosts or all your Dedicated Hosts.</p>
* <p>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
* <code>released</code>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHosts">AWS
* API Reference</a></p>
*/
virtual Model::DescribeHostsOutcome DescribeHosts(const Model::DescribeHostsRequest& request) const;
/**
* <p>Describes the specified Dedicated Hosts or all your Dedicated Hosts.</p>
* <p>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
* <code>released</code>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHosts">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeHostsOutcomeCallable DescribeHostsCallable(const Model::DescribeHostsRequest& request) const;
/**
* <p>Describes the specified Dedicated Hosts or all your Dedicated Hosts.</p>
* <p>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
* <code>released</code>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHosts">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeHostsAsync(const Model::DescribeHostsRequest& request, const DescribeHostsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes your IAM instance profile associations.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociations">AWS
* API Reference</a></p>
*/
virtual Model::DescribeIamInstanceProfileAssociationsOutcome DescribeIamInstanceProfileAssociations(const Model::DescribeIamInstanceProfileAssociationsRequest& request) const;
/**
* <p>Describes your IAM instance profile associations.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociations">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeIamInstanceProfileAssociationsOutcomeCallable DescribeIamInstanceProfileAssociationsCallable(const Model::DescribeIamInstanceProfileAssociationsRequest& request) const;
/**
* <p>Describes your IAM instance profile associations.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociations">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeIamInstanceProfileAssociationsAsync(const Model::DescribeIamInstanceProfileAssociationsRequest& request, const DescribeIamInstanceProfileAssociationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p> <p>The
* following resource types support longer IDs: <code>bundle</code> |
* <code>conversion-task</code> | <code>customer-gateway</code> |
* <code>dhcp-options</code> | <code>elastic-ip-allocation</code> |
* <code>elastic-ip-association</code> | <code>export-task</code> |
* <code>flow-log</code> | <code>image</code> | <code>import-task</code> |
* <code>instance</code> | <code>internet-gateway</code> | <code>network-acl</code>
* | <code>network-acl-association</code> | <code>network-interface</code> |
* <code>network-interface-attachment</code> | <code>prefix-list</code> |
* <code>reservation</code> | <code>route-table</code> |
* <code>route-table-association</code> | <code>security-group</code> |
* <code>snapshot</code> | <code>subnet</code> |
* <code>subnet-cidr-block-association</code> | <code>volume</code> |
* <code>vpc</code> | <code>vpc-cidr-block-association</code> |
* <code>vpc-endpoint</code> | <code>vpc-peering-connection</code> |
* <code>vpn-connection</code> | <code>vpn-gateway</code>. </p> <p>These settings
* apply to the IAM user who makes the request; they do not apply to the entire AWS
* account. By default, an IAM user defaults to the same settings as the root user,
* unless they explicitly override the settings by running the
* <a>ModifyIdFormat</a> 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 <code>Describe</code> command for the resource
* type.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormat">AWS
* API Reference</a></p>
*/
virtual Model::DescribeIdFormatOutcome DescribeIdFormat(const Model::DescribeIdFormatRequest& request) const;
/**
* <p>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.</p> <p>The
* following resource types support longer IDs: <code>bundle</code> |
* <code>conversion-task</code> | <code>customer-gateway</code> |
* <code>dhcp-options</code> | <code>elastic-ip-allocation</code> |
* <code>elastic-ip-association</code> | <code>export-task</code> |
* <code>flow-log</code> | <code>image</code> | <code>import-task</code> |
* <code>instance</code> | <code>internet-gateway</code> | <code>network-acl</code>
* | <code>network-acl-association</code> | <code>network-interface</code> |
* <code>network-interface-attachment</code> | <code>prefix-list</code> |
* <code>reservation</code> | <code>route-table</code> |
* <code>route-table-association</code> | <code>security-group</code> |
* <code>snapshot</code> | <code>subnet</code> |
* <code>subnet-cidr-block-association</code> | <code>volume</code> |
* <code>vpc</code> | <code>vpc-cidr-block-association</code> |
* <code>vpc-endpoint</code> | <code>vpc-peering-connection</code> |
* <code>vpn-connection</code> | <code>vpn-gateway</code>. </p> <p>These settings
* apply to the IAM user who makes the request; they do not apply to the entire AWS
* account. By default, an IAM user defaults to the same settings as the root user,
* unless they explicitly override the settings by running the
* <a>ModifyIdFormat</a> 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 <code>Describe</code> command for the resource
* type.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormat">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeIdFormatOutcomeCallable DescribeIdFormatCallable(const Model::DescribeIdFormatRequest& request) const;
/**
* <p>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.</p> <p>The
* following resource types support longer IDs: <code>bundle</code> |
* <code>conversion-task</code> | <code>customer-gateway</code> |
* <code>dhcp-options</code> | <code>elastic-ip-allocation</code> |
* <code>elastic-ip-association</code> | <code>export-task</code> |
* <code>flow-log</code> | <code>image</code> | <code>import-task</code> |
* <code>instance</code> | <code>internet-gateway</code> | <code>network-acl</code>
* | <code>network-acl-association</code> | <code>network-interface</code> |
* <code>network-interface-attachment</code> | <code>prefix-list</code> |
* <code>reservation</code> | <code>route-table</code> |
* <code>route-table-association</code> | <code>security-group</code> |
* <code>snapshot</code> | <code>subnet</code> |
* <code>subnet-cidr-block-association</code> | <code>volume</code> |
* <code>vpc</code> | <code>vpc-cidr-block-association</code> |
* <code>vpc-endpoint</code> | <code>vpc-peering-connection</code> |
* <code>vpn-connection</code> | <code>vpn-gateway</code>. </p> <p>These settings
* apply to the IAM user who makes the request; they do not apply to the entire AWS
* account. By default, an IAM user defaults to the same settings as the root user,
* unless they explicitly override the settings by running the
* <a>ModifyIdFormat</a> 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 <code>Describe</code> command for the resource
* type.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormat">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeIdFormatAsync(const Model::DescribeIdFormatRequest& request, const DescribeIdFormatResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html">Resource
* IDs</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>. </p> <p>The
* following resource types support longer IDs: <code>bundle</code> |
* <code>conversion-task</code> | <code>customer-gateway</code> |
* <code>dhcp-options</code> | <code>elastic-ip-allocation</code> |
* <code>elastic-ip-association</code> | <code>export-task</code> |
* <code>flow-log</code> | <code>image</code> | <code>import-task</code> |
* <code>instance</code> | <code>internet-gateway</code> | <code>network-acl</code>
* | <code>network-acl-association</code> | <code>network-interface</code> |
* <code>network-interface-attachment</code> | <code>prefix-list</code> |
* <code>reservation</code> | <code>route-table</code> |
* <code>route-table-association</code> | <code>security-group</code> |
* <code>snapshot</code> | <code>subnet</code> |
* <code>subnet-cidr-block-association</code> | <code>volume</code> |
* <code>vpc</code> | <code>vpc-cidr-block-association</code> |
* <code>vpc-endpoint</code> | <code>vpc-peering-connection</code> |
* <code>vpn-connection</code> | <code>vpn-gateway</code>. </p> <p>These settings
* apply to the principal specified in the request. They do not apply to the
* principal that makes the request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormat">AWS
* API Reference</a></p>
*/
virtual Model::DescribeIdentityIdFormatOutcome DescribeIdentityIdFormat(const Model::DescribeIdentityIdFormatRequest& request) const;
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html">Resource
* IDs</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>. </p> <p>The
* following resource types support longer IDs: <code>bundle</code> |
* <code>conversion-task</code> | <code>customer-gateway</code> |
* <code>dhcp-options</code> | <code>elastic-ip-allocation</code> |
* <code>elastic-ip-association</code> | <code>export-task</code> |
* <code>flow-log</code> | <code>image</code> | <code>import-task</code> |
* <code>instance</code> | <code>internet-gateway</code> | <code>network-acl</code>
* | <code>network-acl-association</code> | <code>network-interface</code> |
* <code>network-interface-attachment</code> | <code>prefix-list</code> |
* <code>reservation</code> | <code>route-table</code> |
* <code>route-table-association</code> | <code>security-group</code> |
* <code>snapshot</code> | <code>subnet</code> |
* <code>subnet-cidr-block-association</code> | <code>volume</code> |
* <code>vpc</code> | <code>vpc-cidr-block-association</code> |
* <code>vpc-endpoint</code> | <code>vpc-peering-connection</code> |
* <code>vpn-connection</code> | <code>vpn-gateway</code>. </p> <p>These settings
* apply to the principal specified in the request. They do not apply to the
* principal that makes the request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormat">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeIdentityIdFormatOutcomeCallable DescribeIdentityIdFormatCallable(const Model::DescribeIdentityIdFormatRequest& request) const;
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html">Resource
* IDs</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>. </p> <p>The
* following resource types support longer IDs: <code>bundle</code> |
* <code>conversion-task</code> | <code>customer-gateway</code> |
* <code>dhcp-options</code> | <code>elastic-ip-allocation</code> |
* <code>elastic-ip-association</code> | <code>export-task</code> |
* <code>flow-log</code> | <code>image</code> | <code>import-task</code> |
* <code>instance</code> | <code>internet-gateway</code> | <code>network-acl</code>
* | <code>network-acl-association</code> | <code>network-interface</code> |
* <code>network-interface-attachment</code> | <code>prefix-list</code> |
* <code>reservation</code> | <code>route-table</code> |
* <code>route-table-association</code> | <code>security-group</code> |
* <code>snapshot</code> | <code>subnet</code> |
* <code>subnet-cidr-block-association</code> | <code>volume</code> |
* <code>vpc</code> | <code>vpc-cidr-block-association</code> |
* <code>vpc-endpoint</code> | <code>vpc-peering-connection</code> |
* <code>vpn-connection</code> | <code>vpn-gateway</code>. </p> <p>These settings
* apply to the principal specified in the request. They do not apply to the
* principal that makes the request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormat">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeIdentityIdFormatAsync(const Model::DescribeIdentityIdFormatRequest& request, const DescribeIdentityIdFormatResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the specified attribute of the specified AMI. You can specify only
* one attribute at a time.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageAttribute">AWS
* API Reference</a></p>
*/
virtual Model::DescribeImageAttributeOutcome DescribeImageAttribute(const Model::DescribeImageAttributeRequest& request) const;
/**
* <p>Describes the specified attribute of the specified AMI. You can specify only
* one attribute at a time.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageAttribute">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeImageAttributeOutcomeCallable DescribeImageAttributeCallable(const Model::DescribeImageAttributeRequest& request) const;
/**
* <p>Describes the specified attribute of the specified AMI. You can specify only
* one attribute at a time.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageAttribute">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeImageAttributeAsync(const Model::DescribeImageAttributeRequest& request, const DescribeImageAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the specified images (AMIs, AKIs, and ARIs) available to you or all
* of the images available to you.</p> <p>The images available to you include
* public images, private images that you own, and private images owned by other
* AWS accounts for which you have explicit launch permissions.</p> <p>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 results in an error indicating that
* the AMI ID cannot be found.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImages">AWS
* API Reference</a></p>
*/
virtual Model::DescribeImagesOutcome DescribeImages(const Model::DescribeImagesRequest& request) const;
/**
* <p>Describes the specified images (AMIs, AKIs, and ARIs) available to you or all
* of the images available to you.</p> <p>The images available to you include
* public images, private images that you own, and private images owned by other
* AWS accounts for which you have explicit launch permissions.</p> <p>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 results in an error indicating that
* the AMI ID cannot be found.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImages">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeImagesOutcomeCallable DescribeImagesCallable(const Model::DescribeImagesRequest& request) const;
/**
* <p>Describes the specified images (AMIs, AKIs, and ARIs) available to you or all
* of the images available to you.</p> <p>The images available to you include
* public images, private images that you own, and private images owned by other
* AWS accounts for which you have explicit launch permissions.</p> <p>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 results in an error indicating that
* the AMI ID cannot be found.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImages">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeImagesAsync(const Model::DescribeImagesRequest& request, const DescribeImagesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Displays details about an import virtual machine or import snapshot tasks
* that are already created.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasks">AWS
* API Reference</a></p>
*/
virtual Model::DescribeImportImageTasksOutcome DescribeImportImageTasks(const Model::DescribeImportImageTasksRequest& request) const;
/**
* <p>Displays details about an import virtual machine or import snapshot tasks
* that are already created.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasks">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeImportImageTasksOutcomeCallable DescribeImportImageTasksCallable(const Model::DescribeImportImageTasksRequest& request) const;
/**
* <p>Displays details about an import virtual machine or import snapshot tasks
* that are already created.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasks">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeImportImageTasksAsync(const Model::DescribeImportImageTasksRequest& request, const DescribeImportImageTasksResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes your import snapshot tasks.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasks">AWS
* API Reference</a></p>
*/
virtual Model::DescribeImportSnapshotTasksOutcome DescribeImportSnapshotTasks(const Model::DescribeImportSnapshotTasksRequest& request) const;
/**
* <p>Describes your import snapshot tasks.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasks">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeImportSnapshotTasksOutcomeCallable DescribeImportSnapshotTasksCallable(const Model::DescribeImportSnapshotTasksRequest& request) const;
/**
* <p>Describes your import snapshot tasks.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasks">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeImportSnapshotTasksAsync(const Model::DescribeImportSnapshotTasksRequest& request, const DescribeImportSnapshotTasksResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the specified attribute of the specified instance. You can specify
* only one attribute at a time. Valid attribute values are:
* <code>instanceType</code> | <code>kernel</code> | <code>ramdisk</code> |
* <code>userData</code> | <code>disableApiTermination</code> |
* <code>instanceInitiatedShutdownBehavior</code> | <code>rootDeviceName</code> |
* <code>blockDeviceMapping</code> | <code>productCodes</code> |
* <code>sourceDestCheck</code> | <code>groupSet</code> | <code>ebsOptimized</code>
* | <code>sriovNetSupport</code> </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceAttribute">AWS
* API Reference</a></p>
*/
virtual Model::DescribeInstanceAttributeOutcome DescribeInstanceAttribute(const Model::DescribeInstanceAttributeRequest& request) const;
/**
* <p>Describes the specified attribute of the specified instance. You can specify
* only one attribute at a time. Valid attribute values are:
* <code>instanceType</code> | <code>kernel</code> | <code>ramdisk</code> |
* <code>userData</code> | <code>disableApiTermination</code> |
* <code>instanceInitiatedShutdownBehavior</code> | <code>rootDeviceName</code> |
* <code>blockDeviceMapping</code> | <code>productCodes</code> |
* <code>sourceDestCheck</code> | <code>groupSet</code> | <code>ebsOptimized</code>
* | <code>sriovNetSupport</code> </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceAttribute">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeInstanceAttributeOutcomeCallable DescribeInstanceAttributeCallable(const Model::DescribeInstanceAttributeRequest& request) const;
/**
* <p>Describes the specified attribute of the specified instance. You can specify
* only one attribute at a time. Valid attribute values are:
* <code>instanceType</code> | <code>kernel</code> | <code>ramdisk</code> |
* <code>userData</code> | <code>disableApiTermination</code> |
* <code>instanceInitiatedShutdownBehavior</code> | <code>rootDeviceName</code> |
* <code>blockDeviceMapping</code> | <code>productCodes</code> |
* <code>sourceDestCheck</code> | <code>groupSet</code> | <code>ebsOptimized</code>
* | <code>sriovNetSupport</code> </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceAttribute">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeInstanceAttributeAsync(const Model::DescribeInstanceAttributeRequest& request, const DescribeInstanceAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the credit option for CPU usage of the specified burstable
* performance instances. The credit options are <code>standard</code> and
* <code>unlimited</code>.</p> <p>If you do not specify an instance ID, Amazon EC2
* returns burstable performance instances with the <code>unlimited</code> credit
* option, as well as instances that were previously configured as T2, T3, and T3a
* with the <code>unlimited</code> credit option. For example, if you resize a T2
* instance, while it is configured as <code>unlimited</code>, to an M4 instance,
* Amazon EC2 returns the M4 instance.</p> <p>If you specify one or more instance
* IDs, Amazon EC2 returns the credit option (<code>standard</code> or
* <code>unlimited</code>) 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.</p> <p>Recently terminated instances might appear in the
* returned results. This interval is usually less than one hour.</p> <p>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.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html">Burstable
* performance instances</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceCreditSpecifications">AWS
* API Reference</a></p>
*/
virtual Model::DescribeInstanceCreditSpecificationsOutcome DescribeInstanceCreditSpecifications(const Model::DescribeInstanceCreditSpecificationsRequest& request) const;
/**
* <p>Describes the credit option for CPU usage of the specified burstable
* performance instances. The credit options are <code>standard</code> and
* <code>unlimited</code>.</p> <p>If you do not specify an instance ID, Amazon EC2
* returns burstable performance instances with the <code>unlimited</code> credit
* option, as well as instances that were previously configured as T2, T3, and T3a
* with the <code>unlimited</code> credit option. For example, if you resize a T2
* instance, while it is configured as <code>unlimited</code>, to an M4 instance,
* Amazon EC2 returns the M4 instance.</p> <p>If you specify one or more instance
* IDs, Amazon EC2 returns the credit option (<code>standard</code> or
* <code>unlimited</code>) 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.</p> <p>Recently terminated instances might appear in the
* returned results. This interval is usually less than one hour.</p> <p>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.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html">Burstable
* performance instances</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceCreditSpecifications">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeInstanceCreditSpecificationsOutcomeCallable DescribeInstanceCreditSpecificationsCallable(const Model::DescribeInstanceCreditSpecificationsRequest& request) const;
/**
* <p>Describes the credit option for CPU usage of the specified burstable
* performance instances. The credit options are <code>standard</code> and
* <code>unlimited</code>.</p> <p>If you do not specify an instance ID, Amazon EC2
* returns burstable performance instances with the <code>unlimited</code> credit
* option, as well as instances that were previously configured as T2, T3, and T3a
* with the <code>unlimited</code> credit option. For example, if you resize a T2
* instance, while it is configured as <code>unlimited</code>, to an M4 instance,
* Amazon EC2 returns the M4 instance.</p> <p>If you specify one or more instance
* IDs, Amazon EC2 returns the credit option (<code>standard</code> or
* <code>unlimited</code>) 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.</p> <p>Recently terminated instances might appear in the
* returned results. This interval is usually less than one hour.</p> <p>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.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html">Burstable
* performance instances</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceCreditSpecifications">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeInstanceCreditSpecificationsAsync(const Model::DescribeInstanceCreditSpecificationsRequest& request, const DescribeInstanceCreditSpecificationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the tag keys that are registered to appear in scheduled event
* notifications for resources in the current Region.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceEventNotificationAttributes">AWS
* API Reference</a></p>
*/
virtual Model::DescribeInstanceEventNotificationAttributesOutcome DescribeInstanceEventNotificationAttributes(const Model::DescribeInstanceEventNotificationAttributesRequest& request) const;
/**
* <p>Describes the tag keys that are registered to appear in scheduled event
* notifications for resources in the current Region.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceEventNotificationAttributes">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeInstanceEventNotificationAttributesOutcomeCallable DescribeInstanceEventNotificationAttributesCallable(const Model::DescribeInstanceEventNotificationAttributesRequest& request) const;
/**
* <p>Describes the tag keys that are registered to appear in scheduled event
* notifications for resources in the current Region.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceEventNotificationAttributes">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeInstanceEventNotificationAttributesAsync(const Model::DescribeInstanceEventNotificationAttributesRequest& request, const DescribeInstanceEventNotificationAttributesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p> <p>Instance status includes the
* following components:</p> <ul> <li> <p> <b>Status checks</b> - Amazon EC2
* performs status checks on running EC2 instances to identify hardware and
* software issues. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html">Status
* checks for your instances</a> and <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstances.html">Troubleshooting
* instances with failed status checks</a> in the <i>Amazon Elastic Compute Cloud
* User Guide</i>.</p> </li> <li> <p> <b>Scheduled events</b> - 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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html">Scheduled
* events for your instances</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p> </li> <li> <p> <b>Instance state</b> - You can manage your
* instances from the moment you launch them through their termination. For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html">Instance
* lifecycle</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> </li>
* </ul><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatus">AWS
* API Reference</a></p>
*/
virtual Model::DescribeInstanceStatusOutcome DescribeInstanceStatus(const Model::DescribeInstanceStatusRequest& request) const;
/**
* <p>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.</p> <p>Instance status includes the
* following components:</p> <ul> <li> <p> <b>Status checks</b> - Amazon EC2
* performs status checks on running EC2 instances to identify hardware and
* software issues. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html">Status
* checks for your instances</a> and <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstances.html">Troubleshooting
* instances with failed status checks</a> in the <i>Amazon Elastic Compute Cloud
* User Guide</i>.</p> </li> <li> <p> <b>Scheduled events</b> - 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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html">Scheduled
* events for your instances</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p> </li> <li> <p> <b>Instance state</b> - You can manage your
* instances from the moment you launch them through their termination. For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html">Instance
* lifecycle</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> </li>
* </ul><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatus">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeInstanceStatusOutcomeCallable DescribeInstanceStatusCallable(const Model::DescribeInstanceStatusRequest& request) const;
/**
* <p>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.</p> <p>Instance status includes the
* following components:</p> <ul> <li> <p> <b>Status checks</b> - Amazon EC2
* performs status checks on running EC2 instances to identify hardware and
* software issues. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html">Status
* checks for your instances</a> and <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstances.html">Troubleshooting
* instances with failed status checks</a> in the <i>Amazon Elastic Compute Cloud
* User Guide</i>.</p> </li> <li> <p> <b>Scheduled events</b> - 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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html">Scheduled
* events for your instances</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p> </li> <li> <p> <b>Instance state</b> - You can manage your
* instances from the moment you launch them through their termination. For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html">Instance
* lifecycle</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> </li>
* </ul><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatus">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeInstanceStatusAsync(const Model::DescribeInstanceStatusRequest& request, const DescribeInstanceStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Returns a list of all instance types offered. The results can be filtered by
* location (Region or Availability Zone). If no location is specified, the
* instance types offered in the current Region are returned.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceTypeOfferings">AWS
* API Reference</a></p>
*/
virtual Model::DescribeInstanceTypeOfferingsOutcome DescribeInstanceTypeOfferings(const Model::DescribeInstanceTypeOfferingsRequest& request) const;
/**
* <p>Returns a list of all instance types offered. The results can be filtered by
* location (Region or Availability Zone). If no location is specified, the
* instance types offered in the current Region are returned.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceTypeOfferings">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeInstanceTypeOfferingsOutcomeCallable DescribeInstanceTypeOfferingsCallable(const Model::DescribeInstanceTypeOfferingsRequest& request) const;
/**
* <p>Returns a list of all instance types offered. The results can be filtered by
* location (Region or Availability Zone). If no location is specified, the
* instance types offered in the current Region are returned.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceTypeOfferings">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeInstanceTypeOfferingsAsync(const Model::DescribeInstanceTypeOfferingsRequest& request, const DescribeInstanceTypeOfferingsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the details of the instance types that are offered in a location.
* The results can be filtered by the attributes of the instance
* types.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceTypes">AWS
* API Reference</a></p>
*/
virtual Model::DescribeInstanceTypesOutcome DescribeInstanceTypes(const Model::DescribeInstanceTypesRequest& request) const;
/**
* <p>Describes the details of the instance types that are offered in a location.
* The results can be filtered by the attributes of the instance
* types.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceTypes">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeInstanceTypesOutcomeCallable DescribeInstanceTypesCallable(const Model::DescribeInstanceTypesRequest& request) const;
/**
* <p>Describes the details of the instance types that are offered in a location.
* The results can be filtered by the attributes of the instance
* types.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceTypes">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeInstanceTypesAsync(const Model::DescribeInstanceTypesRequest& request, const DescribeInstanceTypesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the specified instances or all instances.</p> <p>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.</p> <p>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.</p> <p>Recently terminated instances might appear
* in the returned results. This interval is usually less than one hour.</p> <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstances">AWS
* API Reference</a></p>
*/
virtual Model::DescribeInstancesOutcome DescribeInstances(const Model::DescribeInstancesRequest& request) const;
/**
* <p>Describes the specified instances or all instances.</p> <p>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.</p> <p>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.</p> <p>Recently terminated instances might appear
* in the returned results. This interval is usually less than one hour.</p> <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstances">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeInstancesOutcomeCallable DescribeInstancesCallable(const Model::DescribeInstancesRequest& request) const;
/**
* <p>Describes the specified instances or all instances.</p> <p>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.</p> <p>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.</p> <p>Recently terminated instances might appear
* in the returned results. This interval is usually less than one hour.</p> <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstances">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeInstancesAsync(const Model::DescribeInstancesRequest& request, const DescribeInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes one or more of your internet gateways.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGateways">AWS
* API Reference</a></p>
*/
virtual Model::DescribeInternetGatewaysOutcome DescribeInternetGateways(const Model::DescribeInternetGatewaysRequest& request) const;
/**
* <p>Describes one or more of your internet gateways.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGateways">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeInternetGatewaysOutcomeCallable DescribeInternetGatewaysCallable(const Model::DescribeInternetGatewaysRequest& request) const;
/**
* <p>Describes one or more of your internet gateways.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGateways">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeInternetGatewaysAsync(const Model::DescribeInternetGatewaysRequest& request, const DescribeInternetGatewaysResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes your IPv6 address pools.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIpv6Pools">AWS
* API Reference</a></p>
*/
virtual Model::DescribeIpv6PoolsOutcome DescribeIpv6Pools(const Model::DescribeIpv6PoolsRequest& request) const;
/**
* <p>Describes your IPv6 address pools.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIpv6Pools">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeIpv6PoolsOutcomeCallable DescribeIpv6PoolsCallable(const Model::DescribeIpv6PoolsRequest& request) const;
/**
* <p>Describes your IPv6 address pools.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIpv6Pools">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeIpv6PoolsAsync(const Model::DescribeIpv6PoolsRequest& request, const DescribeIpv6PoolsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the specified key pairs or all of your key pairs.</p> <p>For more
* information about key pairs, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html">Key
* Pairs</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairs">AWS
* API Reference</a></p>
*/
virtual Model::DescribeKeyPairsOutcome DescribeKeyPairs(const Model::DescribeKeyPairsRequest& request) const;
/**
* <p>Describes the specified key pairs or all of your key pairs.</p> <p>For more
* information about key pairs, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html">Key
* Pairs</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairs">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeKeyPairsOutcomeCallable DescribeKeyPairsCallable(const Model::DescribeKeyPairsRequest& request) const;
/**
* <p>Describes the specified key pairs or all of your key pairs.</p> <p>For more
* information about key pairs, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html">Key
* Pairs</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairs">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeKeyPairsAsync(const Model::DescribeKeyPairsRequest& request, const DescribeKeyPairsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplateVersions">AWS
* API Reference</a></p>
*/
virtual Model::DescribeLaunchTemplateVersionsOutcome DescribeLaunchTemplateVersions(const Model::DescribeLaunchTemplateVersionsRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplateVersions">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeLaunchTemplateVersionsOutcomeCallable DescribeLaunchTemplateVersionsCallable(const Model::DescribeLaunchTemplateVersionsRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplateVersions">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeLaunchTemplateVersionsAsync(const Model::DescribeLaunchTemplateVersionsRequest& request, const DescribeLaunchTemplateVersionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes one or more launch templates.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplates">AWS
* API Reference</a></p>
*/
virtual Model::DescribeLaunchTemplatesOutcome DescribeLaunchTemplates(const Model::DescribeLaunchTemplatesRequest& request) const;
/**
* <p>Describes one or more launch templates.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplates">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeLaunchTemplatesOutcomeCallable DescribeLaunchTemplatesCallable(const Model::DescribeLaunchTemplatesRequest& request) const;
/**
* <p>Describes one or more launch templates.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplates">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeLaunchTemplatesAsync(const Model::DescribeLaunchTemplatesRequest& request, const DescribeLaunchTemplatesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the associations between virtual interface groups and local gateway
* route tables.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations">AWS
* API Reference</a></p>
*/
virtual Model::DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutcome DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations(const Model::DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest& request) const;
/**
* <p>Describes the associations between virtual interface groups and local gateway
* route tables.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutcomeCallable DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsCallable(const Model::DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest& request) const;
/**
* <p>Describes the associations between virtual interface groups and local gateway
* route tables.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsAsync(const Model::DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest& request, const DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the specified associations between VPCs and local gateway route
* tables.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTableVpcAssociations">AWS
* API Reference</a></p>
*/
virtual Model::DescribeLocalGatewayRouteTableVpcAssociationsOutcome DescribeLocalGatewayRouteTableVpcAssociations(const Model::DescribeLocalGatewayRouteTableVpcAssociationsRequest& request) const;
/**
* <p>Describes the specified associations between VPCs and local gateway route
* tables.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTableVpcAssociations">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeLocalGatewayRouteTableVpcAssociationsOutcomeCallable DescribeLocalGatewayRouteTableVpcAssociationsCallable(const Model::DescribeLocalGatewayRouteTableVpcAssociationsRequest& request) const;
/**
* <p>Describes the specified associations between VPCs and local gateway route
* tables.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTableVpcAssociations">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeLocalGatewayRouteTableVpcAssociationsAsync(const Model::DescribeLocalGatewayRouteTableVpcAssociationsRequest& request, const DescribeLocalGatewayRouteTableVpcAssociationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes one or more local gateway route tables. By default, all local
* gateway route tables are described. Alternatively, you can filter the
* results.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTables">AWS
* API Reference</a></p>
*/
virtual Model::DescribeLocalGatewayRouteTablesOutcome DescribeLocalGatewayRouteTables(const Model::DescribeLocalGatewayRouteTablesRequest& request) const;
/**
* <p>Describes one or more local gateway route tables. By default, all local
* gateway route tables are described. Alternatively, you can filter the
* results.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTables">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeLocalGatewayRouteTablesOutcomeCallable DescribeLocalGatewayRouteTablesCallable(const Model::DescribeLocalGatewayRouteTablesRequest& request) const;
/**
* <p>Describes one or more local gateway route tables. By default, all local
* gateway route tables are described. Alternatively, you can filter the
* results.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTables">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeLocalGatewayRouteTablesAsync(const Model::DescribeLocalGatewayRouteTablesRequest& request, const DescribeLocalGatewayRouteTablesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the specified local gateway virtual interface groups.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayVirtualInterfaceGroups">AWS
* API Reference</a></p>
*/
virtual Model::DescribeLocalGatewayVirtualInterfaceGroupsOutcome DescribeLocalGatewayVirtualInterfaceGroups(const Model::DescribeLocalGatewayVirtualInterfaceGroupsRequest& request) const;
/**
* <p>Describes the specified local gateway virtual interface groups.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayVirtualInterfaceGroups">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeLocalGatewayVirtualInterfaceGroupsOutcomeCallable DescribeLocalGatewayVirtualInterfaceGroupsCallable(const Model::DescribeLocalGatewayVirtualInterfaceGroupsRequest& request) const;
/**
* <p>Describes the specified local gateway virtual interface groups.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayVirtualInterfaceGroups">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeLocalGatewayVirtualInterfaceGroupsAsync(const Model::DescribeLocalGatewayVirtualInterfaceGroupsRequest& request, const DescribeLocalGatewayVirtualInterfaceGroupsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the specified local gateway virtual interfaces.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayVirtualInterfaces">AWS
* API Reference</a></p>
*/
virtual Model::DescribeLocalGatewayVirtualInterfacesOutcome DescribeLocalGatewayVirtualInterfaces(const Model::DescribeLocalGatewayVirtualInterfacesRequest& request) const;
/**
* <p>Describes the specified local gateway virtual interfaces.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayVirtualInterfaces">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeLocalGatewayVirtualInterfacesOutcomeCallable DescribeLocalGatewayVirtualInterfacesCallable(const Model::DescribeLocalGatewayVirtualInterfacesRequest& request) const;
/**
* <p>Describes the specified local gateway virtual interfaces.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayVirtualInterfaces">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeLocalGatewayVirtualInterfacesAsync(const Model::DescribeLocalGatewayVirtualInterfacesRequest& request, const DescribeLocalGatewayVirtualInterfacesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes one or more local gateways. By default, all local gateways are
* described. Alternatively, you can filter the results.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGateways">AWS
* API Reference</a></p>
*/
virtual Model::DescribeLocalGatewaysOutcome DescribeLocalGateways(const Model::DescribeLocalGatewaysRequest& request) const;
/**
* <p>Describes one or more local gateways. By default, all local gateways are
* described. Alternatively, you can filter the results.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGateways">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeLocalGatewaysOutcomeCallable DescribeLocalGatewaysCallable(const Model::DescribeLocalGatewaysRequest& request) const;
/**
* <p>Describes one or more local gateways. By default, all local gateways are
* described. Alternatively, you can filter the results.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGateways">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeLocalGatewaysAsync(const Model::DescribeLocalGatewaysRequest& request, const DescribeLocalGatewaysResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes your managed prefix lists and any AWS-managed prefix lists.</p>
* <p>To view the entries for your prefix list, use
* <a>GetManagedPrefixListEntries</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeManagedPrefixLists">AWS
* API Reference</a></p>
*/
virtual Model::DescribeManagedPrefixListsOutcome DescribeManagedPrefixLists(const Model::DescribeManagedPrefixListsRequest& request) const;
/**
* <p>Describes your managed prefix lists and any AWS-managed prefix lists.</p>
* <p>To view the entries for your prefix list, use
* <a>GetManagedPrefixListEntries</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeManagedPrefixLists">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeManagedPrefixListsOutcomeCallable DescribeManagedPrefixListsCallable(const Model::DescribeManagedPrefixListsRequest& request) const;
/**
* <p>Describes your managed prefix lists and any AWS-managed prefix lists.</p>
* <p>To view the entries for your prefix list, use
* <a>GetManagedPrefixListEntries</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeManagedPrefixLists">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeManagedPrefixListsAsync(const Model::DescribeManagedPrefixListsRequest& request, const DescribeManagedPrefixListsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes your Elastic IP addresses that are being moved to the EC2-VPC
* platform, or that are being restored to the EC2-Classic platform. This request
* does not return information about any other Elastic IP addresses in your
* account.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddresses">AWS
* API Reference</a></p>
*/
virtual Model::DescribeMovingAddressesOutcome DescribeMovingAddresses(const Model::DescribeMovingAddressesRequest& request) const;
/**
* <p>Describes your Elastic IP addresses that are being moved to the EC2-VPC
* platform, or that are being restored to the EC2-Classic platform. This request
* does not return information about any other Elastic IP addresses in your
* account.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddresses">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeMovingAddressesOutcomeCallable DescribeMovingAddressesCallable(const Model::DescribeMovingAddressesRequest& request) const;
/**
* <p>Describes your Elastic IP addresses that are being moved to the EC2-VPC
* platform, or that are being restored to the EC2-Classic platform. This request
* does not return information about any other Elastic IP addresses in your
* account.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddresses">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeMovingAddressesAsync(const Model::DescribeMovingAddressesRequest& request, const DescribeMovingAddressesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes one or more of your NAT gateways.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGateways">AWS
* API Reference</a></p>
*/
virtual Model::DescribeNatGatewaysOutcome DescribeNatGateways(const Model::DescribeNatGatewaysRequest& request) const;
/**
* <p>Describes one or more of your NAT gateways.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGateways">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeNatGatewaysOutcomeCallable DescribeNatGatewaysCallable(const Model::DescribeNatGatewaysRequest& request) const;
/**
* <p>Describes one or more of your NAT gateways.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGateways">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeNatGatewaysAsync(const Model::DescribeNatGatewaysRequest& request, const DescribeNatGatewaysResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes one or more of your network ACLs.</p> <p>For more information, see
* <a href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html">Network
* ACLs</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAcls">AWS
* API Reference</a></p>
*/
virtual Model::DescribeNetworkAclsOutcome DescribeNetworkAcls(const Model::DescribeNetworkAclsRequest& request) const;
/**
* <p>Describes one or more of your network ACLs.</p> <p>For more information, see
* <a href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html">Network
* ACLs</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAcls">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeNetworkAclsOutcomeCallable DescribeNetworkAclsCallable(const Model::DescribeNetworkAclsRequest& request) const;
/**
* <p>Describes one or more of your network ACLs.</p> <p>For more information, see
* <a href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html">Network
* ACLs</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAcls">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeNetworkAclsAsync(const Model::DescribeNetworkAclsRequest& request, const DescribeNetworkAclsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes a network interface attribute. You can specify only one attribute
* at a time.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttribute">AWS
* API Reference</a></p>
*/
virtual Model::DescribeNetworkInterfaceAttributeOutcome DescribeNetworkInterfaceAttribute(const Model::DescribeNetworkInterfaceAttributeRequest& request) const;
/**
* <p>Describes a network interface attribute. You can specify only one attribute
* at a time.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttribute">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeNetworkInterfaceAttributeOutcomeCallable DescribeNetworkInterfaceAttributeCallable(const Model::DescribeNetworkInterfaceAttributeRequest& request) const;
/**
* <p>Describes a network interface attribute. You can specify only one attribute
* at a time.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttribute">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeNetworkInterfaceAttributeAsync(const Model::DescribeNetworkInterfaceAttributeRequest& request, const DescribeNetworkInterfaceAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the permissions for your network interfaces. </p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissions">AWS
* API Reference</a></p>
*/
virtual Model::DescribeNetworkInterfacePermissionsOutcome DescribeNetworkInterfacePermissions(const Model::DescribeNetworkInterfacePermissionsRequest& request) const;
/**
* <p>Describes the permissions for your network interfaces. </p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissions">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeNetworkInterfacePermissionsOutcomeCallable DescribeNetworkInterfacePermissionsCallable(const Model::DescribeNetworkInterfacePermissionsRequest& request) const;
/**
* <p>Describes the permissions for your network interfaces. </p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissions">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeNetworkInterfacePermissionsAsync(const Model::DescribeNetworkInterfacePermissionsRequest& request, const DescribeNetworkInterfacePermissionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes one or more of your network interfaces.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaces">AWS
* API Reference</a></p>
*/
virtual Model::DescribeNetworkInterfacesOutcome DescribeNetworkInterfaces(const Model::DescribeNetworkInterfacesRequest& request) const;
/**
* <p>Describes one or more of your network interfaces.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaces">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeNetworkInterfacesOutcomeCallable DescribeNetworkInterfacesCallable(const Model::DescribeNetworkInterfacesRequest& request) const;
/**
* <p>Describes one or more of your network interfaces.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaces">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeNetworkInterfacesAsync(const Model::DescribeNetworkInterfacesRequest& request, const DescribeNetworkInterfacesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the specified placement groups or all of your placement groups. For
* more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html">Placement
* groups</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroups">AWS
* API Reference</a></p>
*/
virtual Model::DescribePlacementGroupsOutcome DescribePlacementGroups(const Model::DescribePlacementGroupsRequest& request) const;
/**
* <p>Describes the specified placement groups or all of your placement groups. For
* more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html">Placement
* groups</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroups">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribePlacementGroupsOutcomeCallable DescribePlacementGroupsCallable(const Model::DescribePlacementGroupsRequest& request) const;
/**
* <p>Describes the specified placement groups or all of your placement groups. For
* more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html">Placement
* groups</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroups">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribePlacementGroupsAsync(const Model::DescribePlacementGroupsRequest& request, const DescribePlacementGroupsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes available AWS 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.</p> <p>We recommend that you use <a>DescribeManagedPrefixLists</a>
* instead.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixLists">AWS
* API Reference</a></p>
*/
virtual Model::DescribePrefixListsOutcome DescribePrefixLists(const Model::DescribePrefixListsRequest& request) const;
/**
* <p>Describes available AWS 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.</p> <p>We recommend that you use <a>DescribeManagedPrefixLists</a>
* instead.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixLists">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribePrefixListsOutcomeCallable DescribePrefixListsCallable(const Model::DescribePrefixListsRequest& request) const;
/**
* <p>Describes available AWS 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.</p> <p>We recommend that you use <a>DescribeManagedPrefixLists</a>
* instead.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixLists">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribePrefixListsAsync(const Model::DescribePrefixListsRequest& request, const DescribePrefixListsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.
* </p> <p>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.</p> <p>The following resource types support longer IDs:
* <code>bundle</code> | <code>conversion-task</code> |
* <code>customer-gateway</code> | <code>dhcp-options</code> |
* <code>elastic-ip-allocation</code> | <code>elastic-ip-association</code> |
* <code>export-task</code> | <code>flow-log</code> | <code>image</code> |
* <code>import-task</code> | <code>instance</code> | <code>internet-gateway</code>
* | <code>network-acl</code> | <code>network-acl-association</code> |
* <code>network-interface</code> | <code>network-interface-attachment</code> |
* <code>prefix-list</code> | <code>reservation</code> | <code>route-table</code> |
* <code>route-table-association</code> | <code>security-group</code> |
* <code>snapshot</code> | <code>subnet</code> |
* <code>subnet-cidr-block-association</code> | <code>volume</code> |
* <code>vpc</code> | <code>vpc-cidr-block-association</code> |
* <code>vpc-endpoint</code> | <code>vpc-peering-connection</code> |
* <code>vpn-connection</code> | <code>vpn-gateway</code>. </p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrincipalIdFormat">AWS
* API Reference</a></p>
*/
virtual Model::DescribePrincipalIdFormatOutcome DescribePrincipalIdFormat(const Model::DescribePrincipalIdFormatRequest& request) const;
/**
* <p>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.
* </p> <p>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.</p> <p>The following resource types support longer IDs:
* <code>bundle</code> | <code>conversion-task</code> |
* <code>customer-gateway</code> | <code>dhcp-options</code> |
* <code>elastic-ip-allocation</code> | <code>elastic-ip-association</code> |
* <code>export-task</code> | <code>flow-log</code> | <code>image</code> |
* <code>import-task</code> | <code>instance</code> | <code>internet-gateway</code>
* | <code>network-acl</code> | <code>network-acl-association</code> |
* <code>network-interface</code> | <code>network-interface-attachment</code> |
* <code>prefix-list</code> | <code>reservation</code> | <code>route-table</code> |
* <code>route-table-association</code> | <code>security-group</code> |
* <code>snapshot</code> | <code>subnet</code> |
* <code>subnet-cidr-block-association</code> | <code>volume</code> |
* <code>vpc</code> | <code>vpc-cidr-block-association</code> |
* <code>vpc-endpoint</code> | <code>vpc-peering-connection</code> |
* <code>vpn-connection</code> | <code>vpn-gateway</code>. </p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrincipalIdFormat">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribePrincipalIdFormatOutcomeCallable DescribePrincipalIdFormatCallable(const Model::DescribePrincipalIdFormatRequest& request) const;
/**
* <p>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.
* </p> <p>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.</p> <p>The following resource types support longer IDs:
* <code>bundle</code> | <code>conversion-task</code> |
* <code>customer-gateway</code> | <code>dhcp-options</code> |
* <code>elastic-ip-allocation</code> | <code>elastic-ip-association</code> |
* <code>export-task</code> | <code>flow-log</code> | <code>image</code> |
* <code>import-task</code> | <code>instance</code> | <code>internet-gateway</code>
* | <code>network-acl</code> | <code>network-acl-association</code> |
* <code>network-interface</code> | <code>network-interface-attachment</code> |
* <code>prefix-list</code> | <code>reservation</code> | <code>route-table</code> |
* <code>route-table-association</code> | <code>security-group</code> |
* <code>snapshot</code> | <code>subnet</code> |
* <code>subnet-cidr-block-association</code> | <code>volume</code> |
* <code>vpc</code> | <code>vpc-cidr-block-association</code> |
* <code>vpc-endpoint</code> | <code>vpc-peering-connection</code> |
* <code>vpn-connection</code> | <code>vpn-gateway</code>. </p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrincipalIdFormat">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribePrincipalIdFormatAsync(const Model::DescribePrincipalIdFormatRequest& request, const DescribePrincipalIdFormatResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the specified IPv4 address pools.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePublicIpv4Pools">AWS
* API Reference</a></p>
*/
virtual Model::DescribePublicIpv4PoolsOutcome DescribePublicIpv4Pools(const Model::DescribePublicIpv4PoolsRequest& request) const;
/**
* <p>Describes the specified IPv4 address pools.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePublicIpv4Pools">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribePublicIpv4PoolsOutcomeCallable DescribePublicIpv4PoolsCallable(const Model::DescribePublicIpv4PoolsRequest& request) const;
/**
* <p>Describes the specified IPv4 address pools.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePublicIpv4Pools">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribePublicIpv4PoolsAsync(const Model::DescribePublicIpv4PoolsRequest& request, const DescribePublicIpv4PoolsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the Regions that are enabled for your account, or all Regions.</p>
* <p>For a list of the Regions supported by Amazon EC2, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region">
* Regions and Endpoints</a>.</p> <p>For information about enabling and disabling
* Regions for your account, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/rande-manage.html">Managing
* AWS Regions</a> in the <i>AWS General Reference</i>.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegions">AWS
* API Reference</a></p>
*/
virtual Model::DescribeRegionsOutcome DescribeRegions(const Model::DescribeRegionsRequest& request) const;
/**
* <p>Describes the Regions that are enabled for your account, or all Regions.</p>
* <p>For a list of the Regions supported by Amazon EC2, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region">
* Regions and Endpoints</a>.</p> <p>For information about enabling and disabling
* Regions for your account, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/rande-manage.html">Managing
* AWS Regions</a> in the <i>AWS General Reference</i>.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegions">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeRegionsOutcomeCallable DescribeRegionsCallable(const Model::DescribeRegionsRequest& request) const;
/**
* <p>Describes the Regions that are enabled for your account, or all Regions.</p>
* <p>For a list of the Regions supported by Amazon EC2, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region">
* Regions and Endpoints</a>.</p> <p>For information about enabling and disabling
* Regions for your account, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/rande-manage.html">Managing
* AWS Regions</a> in the <i>AWS General Reference</i>.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegions">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeRegionsAsync(const Model::DescribeRegionsRequest& request, const DescribeRegionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes one or more of the Reserved Instances that you purchased.</p>
* <p>For more information about Reserved Instances, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html">Reserved
* Instances</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstances">AWS
* API Reference</a></p>
*/
virtual Model::DescribeReservedInstancesOutcome DescribeReservedInstances(const Model::DescribeReservedInstancesRequest& request) const;
/**
* <p>Describes one or more of the Reserved Instances that you purchased.</p>
* <p>For more information about Reserved Instances, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html">Reserved
* Instances</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstances">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeReservedInstancesOutcomeCallable DescribeReservedInstancesCallable(const Model::DescribeReservedInstancesRequest& request) const;
/**
* <p>Describes one or more of the Reserved Instances that you purchased.</p>
* <p>For more information about Reserved Instances, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html">Reserved
* Instances</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstances">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeReservedInstancesAsync(const Model::DescribeReservedInstancesRequest& request, const DescribeReservedInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes your account's Reserved Instance listings in the Reserved Instance
* Marketplace.</p> <p>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.</p>
* <p>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.</p> <p>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.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html">Reserved
* Instance Marketplace</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListings">AWS
* API Reference</a></p>
*/
virtual Model::DescribeReservedInstancesListingsOutcome DescribeReservedInstancesListings(const Model::DescribeReservedInstancesListingsRequest& request) const;
/**
* <p>Describes your account's Reserved Instance listings in the Reserved Instance
* Marketplace.</p> <p>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.</p>
* <p>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.</p> <p>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.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html">Reserved
* Instance Marketplace</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListings">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeReservedInstancesListingsOutcomeCallable DescribeReservedInstancesListingsCallable(const Model::DescribeReservedInstancesListingsRequest& request) const;
/**
* <p>Describes your account's Reserved Instance listings in the Reserved Instance
* Marketplace.</p> <p>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.</p>
* <p>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.</p> <p>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.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html">Reserved
* Instance Marketplace</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListings">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeReservedInstancesListingsAsync(const Model::DescribeReservedInstancesListingsRequest& request, const DescribeReservedInstancesListingsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html">Modifying
* Reserved Instances</a> in the Amazon Elastic Compute Cloud User
* Guide.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModifications">AWS
* API Reference</a></p>
*/
virtual Model::DescribeReservedInstancesModificationsOutcome DescribeReservedInstancesModifications(const Model::DescribeReservedInstancesModificationsRequest& request) const;
/**
* <p>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.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html">Modifying
* Reserved Instances</a> in the Amazon Elastic Compute Cloud User
* Guide.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModifications">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeReservedInstancesModificationsOutcomeCallable DescribeReservedInstancesModificationsCallable(const Model::DescribeReservedInstancesModificationsRequest& request) const;
/**
* <p>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.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html">Modifying
* Reserved Instances</a> in the Amazon Elastic Compute Cloud User
* Guide.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModifications">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeReservedInstancesModificationsAsync(const Model::DescribeReservedInstancesModificationsRequest& request, const DescribeReservedInstancesModificationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p> <p>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.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html">Reserved
* Instance Marketplace</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferings">AWS
* API Reference</a></p>
*/
virtual Model::DescribeReservedInstancesOfferingsOutcome DescribeReservedInstancesOfferings(const Model::DescribeReservedInstancesOfferingsRequest& request) const;
/**
* <p>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.</p> <p>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.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html">Reserved
* Instance Marketplace</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferings">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeReservedInstancesOfferingsOutcomeCallable DescribeReservedInstancesOfferingsCallable(const Model::DescribeReservedInstancesOfferingsRequest& request) const;
/**
* <p>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.</p> <p>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.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html">Reserved
* Instance Marketplace</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferings">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeReservedInstancesOfferingsAsync(const Model::DescribeReservedInstancesOfferingsRequest& request, const DescribeReservedInstancesOfferingsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes one or more of your route tables.</p> <p>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.</p> <p>For
* more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html">Route
* Tables</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTables">AWS
* API Reference</a></p>
*/
virtual Model::DescribeRouteTablesOutcome DescribeRouteTables(const Model::DescribeRouteTablesRequest& request) const;
/**
* <p>Describes one or more of your route tables.</p> <p>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.</p> <p>For
* more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html">Route
* Tables</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTables">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeRouteTablesOutcomeCallable DescribeRouteTablesCallable(const Model::DescribeRouteTablesRequest& request) const;
/**
* <p>Describes one or more of your route tables.</p> <p>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.</p> <p>For
* more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html">Route
* Tables</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTables">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeRouteTablesAsync(const Model::DescribeRouteTablesRequest& request, const DescribeRouteTablesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Finds available schedules that meet the specified criteria.</p> <p>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.</p> <p>After you find a schedule that
* meets your needs, call <a>PurchaseScheduledInstances</a> to purchase Scheduled
* Instances with that schedule.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailability">AWS
* API Reference</a></p>
*/
virtual Model::DescribeScheduledInstanceAvailabilityOutcome DescribeScheduledInstanceAvailability(const Model::DescribeScheduledInstanceAvailabilityRequest& request) const;
/**
* <p>Finds available schedules that meet the specified criteria.</p> <p>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.</p> <p>After you find a schedule that
* meets your needs, call <a>PurchaseScheduledInstances</a> to purchase Scheduled
* Instances with that schedule.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailability">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeScheduledInstanceAvailabilityOutcomeCallable DescribeScheduledInstanceAvailabilityCallable(const Model::DescribeScheduledInstanceAvailabilityRequest& request) const;
/**
* <p>Finds available schedules that meet the specified criteria.</p> <p>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.</p> <p>After you find a schedule that
* meets your needs, call <a>PurchaseScheduledInstances</a> to purchase Scheduled
* Instances with that schedule.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailability">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeScheduledInstanceAvailabilityAsync(const Model::DescribeScheduledInstanceAvailabilityRequest& request, const DescribeScheduledInstanceAvailabilityResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the specified Scheduled Instances or all your Scheduled
* Instances.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstances">AWS
* API Reference</a></p>
*/
virtual Model::DescribeScheduledInstancesOutcome DescribeScheduledInstances(const Model::DescribeScheduledInstancesRequest& request) const;
/**
* <p>Describes the specified Scheduled Instances or all your Scheduled
* Instances.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstances">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeScheduledInstancesOutcomeCallable DescribeScheduledInstancesCallable(const Model::DescribeScheduledInstancesRequest& request) const;
/**
* <p>Describes the specified Scheduled Instances or all your Scheduled
* Instances.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstances">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeScheduledInstancesAsync(const Model::DescribeScheduledInstancesRequest& request, const DescribeScheduledInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>[VPC only] Describes the VPCs on the other side of a VPC peering connection
* that are referencing the security groups you've specified in this
* request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferences">AWS
* API Reference</a></p>
*/
virtual Model::DescribeSecurityGroupReferencesOutcome DescribeSecurityGroupReferences(const Model::DescribeSecurityGroupReferencesRequest& request) const;
/**
* <p>[VPC only] Describes the VPCs on the other side of a VPC peering connection
* that are referencing the security groups you've specified in this
* request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferences">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeSecurityGroupReferencesOutcomeCallable DescribeSecurityGroupReferencesCallable(const Model::DescribeSecurityGroupReferencesRequest& request) const;
/**
* <p>[VPC only] Describes the VPCs on the other side of a VPC peering connection
* that are referencing the security groups you've specified in this
* request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferences">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeSecurityGroupReferencesAsync(const Model::DescribeSecurityGroupReferencesRequest& request, const DescribeSecurityGroupReferencesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the specified security groups or all of your security groups.</p>
* <p>A security group is for use with instances either in the EC2-Classic platform
* or in a specific VPC. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html">Amazon
* EC2 Security Groups</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>
* and <a
* href="https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html">Security
* Groups for Your VPC</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroups">AWS
* API Reference</a></p>
*/
virtual Model::DescribeSecurityGroupsOutcome DescribeSecurityGroups(const Model::DescribeSecurityGroupsRequest& request) const;
/**
* <p>Describes the specified security groups or all of your security groups.</p>
* <p>A security group is for use with instances either in the EC2-Classic platform
* or in a specific VPC. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html">Amazon
* EC2 Security Groups</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>
* and <a
* href="https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html">Security
* Groups for Your VPC</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroups">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeSecurityGroupsOutcomeCallable DescribeSecurityGroupsCallable(const Model::DescribeSecurityGroupsRequest& request) const;
/**
* <p>Describes the specified security groups or all of your security groups.</p>
* <p>A security group is for use with instances either in the EC2-Classic platform
* or in a specific VPC. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html">Amazon
* EC2 Security Groups</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>
* and <a
* href="https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html">Security
* Groups for Your VPC</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroups">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeSecurityGroupsAsync(const Model::DescribeSecurityGroupsRequest& request, const DescribeSecurityGroupsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the specified attribute of the specified snapshot. You can specify
* only one attribute at a time.</p> <p>For more information about EBS snapshots,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html">Amazon
* EBS Snapshots</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttribute">AWS
* API Reference</a></p>
*/
virtual Model::DescribeSnapshotAttributeOutcome DescribeSnapshotAttribute(const Model::DescribeSnapshotAttributeRequest& request) const;
/**
* <p>Describes the specified attribute of the specified snapshot. You can specify
* only one attribute at a time.</p> <p>For more information about EBS snapshots,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html">Amazon
* EBS Snapshots</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttribute">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeSnapshotAttributeOutcomeCallable DescribeSnapshotAttributeCallable(const Model::DescribeSnapshotAttributeRequest& request) const;
/**
* <p>Describes the specified attribute of the specified snapshot. You can specify
* only one attribute at a time.</p> <p>For more information about EBS snapshots,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html">Amazon
* EBS Snapshots</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttribute">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeSnapshotAttributeAsync(const Model::DescribeSnapshotAttributeRequest& request, const DescribeSnapshotAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the specified EBS snapshots available to you or all of the EBS
* snapshots available to you.</p> <p>The snapshots available to you include public
* snapshots, private snapshots that you own, and private snapshots owned by other
* AWS accounts for which you have explicit create volume permissions.</p> <p>The
* create volume permissions fall into the following categories:</p> <ul> <li> <p>
* <i>public</i>: The owner of the snapshot granted create volume permissions for
* the snapshot to the <code>all</code> group. All AWS accounts have create volume
* permissions for these snapshots.</p> </li> <li> <p> <i>explicit</i>: The owner
* of the snapshot granted create volume permissions to a specific AWS account.</p>
* </li> <li> <p> <i>implicit</i>: An AWS account has implicit create volume
* permissions for all snapshots it owns.</p> </li> </ul> <p>The list of snapshots
* returned can be filtered by specifying snapshot IDs, snapshot owners, or AWS
* accounts with create volume permissions. If no options are specified, Amazon EC2
* returns all snapshots for which you have create volume permissions.</p> <p>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.</p> <p>If you specify one or more snapshot owners using
* the <code>OwnerIds</code> option, only snapshots from the specified owners and
* for which you have access are returned. The results can include the AWS account
* IDs of the specified owners, <code>amazon</code> for snapshots owned by Amazon,
* or <code>self</code> for snapshots that you own.</p> <p>If you specify a list of
* restorable users, only snapshots with create snapshot permissions for those
* users are returned. You can specify AWS account IDs (if you own the snapshots),
* <code>self</code> for snapshots for which you own or have explicit permissions,
* or <code>all</code> for public snapshots.</p> <p>If you are describing a long
* list of snapshots, we recommend that you paginate the output to make the list
* more manageable. The <code>MaxResults</code> parameter sets the maximum number
* of results returned in a single page. If the list of results exceeds your
* <code>MaxResults</code> value, then that number of results is returned along
* with a <code>NextToken</code> value that can be passed to a subsequent
* <code>DescribeSnapshots</code> request to retrieve the remaining results.</p>
* <p>To get the state of fast snapshot restores for a snapshot, use
* <a>DescribeFastSnapshotRestores</a>.</p> <p>For more information about EBS
* snapshots, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html">Amazon
* EBS Snapshots</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshots">AWS
* API Reference</a></p>
*/
virtual Model::DescribeSnapshotsOutcome DescribeSnapshots(const Model::DescribeSnapshotsRequest& request) const;
/**
* <p>Describes the specified EBS snapshots available to you or all of the EBS
* snapshots available to you.</p> <p>The snapshots available to you include public
* snapshots, private snapshots that you own, and private snapshots owned by other
* AWS accounts for which you have explicit create volume permissions.</p> <p>The
* create volume permissions fall into the following categories:</p> <ul> <li> <p>
* <i>public</i>: The owner of the snapshot granted create volume permissions for
* the snapshot to the <code>all</code> group. All AWS accounts have create volume
* permissions for these snapshots.</p> </li> <li> <p> <i>explicit</i>: The owner
* of the snapshot granted create volume permissions to a specific AWS account.</p>
* </li> <li> <p> <i>implicit</i>: An AWS account has implicit create volume
* permissions for all snapshots it owns.</p> </li> </ul> <p>The list of snapshots
* returned can be filtered by specifying snapshot IDs, snapshot owners, or AWS
* accounts with create volume permissions. If no options are specified, Amazon EC2
* returns all snapshots for which you have create volume permissions.</p> <p>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.</p> <p>If you specify one or more snapshot owners using
* the <code>OwnerIds</code> option, only snapshots from the specified owners and
* for which you have access are returned. The results can include the AWS account
* IDs of the specified owners, <code>amazon</code> for snapshots owned by Amazon,
* or <code>self</code> for snapshots that you own.</p> <p>If you specify a list of
* restorable users, only snapshots with create snapshot permissions for those
* users are returned. You can specify AWS account IDs (if you own the snapshots),
* <code>self</code> for snapshots for which you own or have explicit permissions,
* or <code>all</code> for public snapshots.</p> <p>If you are describing a long
* list of snapshots, we recommend that you paginate the output to make the list
* more manageable. The <code>MaxResults</code> parameter sets the maximum number
* of results returned in a single page. If the list of results exceeds your
* <code>MaxResults</code> value, then that number of results is returned along
* with a <code>NextToken</code> value that can be passed to a subsequent
* <code>DescribeSnapshots</code> request to retrieve the remaining results.</p>
* <p>To get the state of fast snapshot restores for a snapshot, use
* <a>DescribeFastSnapshotRestores</a>.</p> <p>For more information about EBS
* snapshots, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html">Amazon
* EBS Snapshots</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshots">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeSnapshotsOutcomeCallable DescribeSnapshotsCallable(const Model::DescribeSnapshotsRequest& request) const;
/**
* <p>Describes the specified EBS snapshots available to you or all of the EBS
* snapshots available to you.</p> <p>The snapshots available to you include public
* snapshots, private snapshots that you own, and private snapshots owned by other
* AWS accounts for which you have explicit create volume permissions.</p> <p>The
* create volume permissions fall into the following categories:</p> <ul> <li> <p>
* <i>public</i>: The owner of the snapshot granted create volume permissions for
* the snapshot to the <code>all</code> group. All AWS accounts have create volume
* permissions for these snapshots.</p> </li> <li> <p> <i>explicit</i>: The owner
* of the snapshot granted create volume permissions to a specific AWS account.</p>
* </li> <li> <p> <i>implicit</i>: An AWS account has implicit create volume
* permissions for all snapshots it owns.</p> </li> </ul> <p>The list of snapshots
* returned can be filtered by specifying snapshot IDs, snapshot owners, or AWS
* accounts with create volume permissions. If no options are specified, Amazon EC2
* returns all snapshots for which you have create volume permissions.</p> <p>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.</p> <p>If you specify one or more snapshot owners using
* the <code>OwnerIds</code> option, only snapshots from the specified owners and
* for which you have access are returned. The results can include the AWS account
* IDs of the specified owners, <code>amazon</code> for snapshots owned by Amazon,
* or <code>self</code> for snapshots that you own.</p> <p>If you specify a list of
* restorable users, only snapshots with create snapshot permissions for those
* users are returned. You can specify AWS account IDs (if you own the snapshots),
* <code>self</code> for snapshots for which you own or have explicit permissions,
* or <code>all</code> for public snapshots.</p> <p>If you are describing a long
* list of snapshots, we recommend that you paginate the output to make the list
* more manageable. The <code>MaxResults</code> parameter sets the maximum number
* of results returned in a single page. If the list of results exceeds your
* <code>MaxResults</code> value, then that number of results is returned along
* with a <code>NextToken</code> value that can be passed to a subsequent
* <code>DescribeSnapshots</code> request to retrieve the remaining results.</p>
* <p>To get the state of fast snapshot restores for a snapshot, use
* <a>DescribeFastSnapshotRestores</a>.</p> <p>For more information about EBS
* snapshots, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html">Amazon
* EBS Snapshots</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshots">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeSnapshotsAsync(const Model::DescribeSnapshotsRequest& request, const DescribeSnapshotsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the data feed for Spot Instances. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html">Spot
* Instance data feed</a> in the <i>Amazon EC2 User Guide for Linux
* Instances</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscription">AWS
* API Reference</a></p>
*/
virtual Model::DescribeSpotDatafeedSubscriptionOutcome DescribeSpotDatafeedSubscription(const Model::DescribeSpotDatafeedSubscriptionRequest& request) const;
/**
* <p>Describes the data feed for Spot Instances. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html">Spot
* Instance data feed</a> in the <i>Amazon EC2 User Guide for Linux
* Instances</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscription">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeSpotDatafeedSubscriptionOutcomeCallable DescribeSpotDatafeedSubscriptionCallable(const Model::DescribeSpotDatafeedSubscriptionRequest& request) const;
/**
* <p>Describes the data feed for Spot Instances. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html">Spot
* Instance data feed</a> in the <i>Amazon EC2 User Guide for Linux
* Instances</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscription">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeSpotDatafeedSubscriptionAsync(const Model::DescribeSpotDatafeedSubscriptionRequest& request, const DescribeSpotDatafeedSubscriptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the running instances for the specified Spot Fleet.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstances">AWS
* API Reference</a></p>
*/
virtual Model::DescribeSpotFleetInstancesOutcome DescribeSpotFleetInstances(const Model::DescribeSpotFleetInstancesRequest& request) const;
/**
* <p>Describes the running instances for the specified Spot Fleet.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstances">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeSpotFleetInstancesOutcomeCallable DescribeSpotFleetInstancesCallable(const Model::DescribeSpotFleetInstancesRequest& request) const;
/**
* <p>Describes the running instances for the specified Spot Fleet.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstances">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeSpotFleetInstancesAsync(const Model::DescribeSpotFleetInstancesRequest& request, const DescribeSpotFleetInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the events for the specified Spot Fleet request during the
* specified time.</p> <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistory">AWS
* API Reference</a></p>
*/
virtual Model::DescribeSpotFleetRequestHistoryOutcome DescribeSpotFleetRequestHistory(const Model::DescribeSpotFleetRequestHistoryRequest& request) const;
/**
* <p>Describes the events for the specified Spot Fleet request during the
* specified time.</p> <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistory">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeSpotFleetRequestHistoryOutcomeCallable DescribeSpotFleetRequestHistoryCallable(const Model::DescribeSpotFleetRequestHistoryRequest& request) const;
/**
* <p>Describes the events for the specified Spot Fleet request during the
* specified time.</p> <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistory">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeSpotFleetRequestHistoryAsync(const Model::DescribeSpotFleetRequestHistoryRequest& request, const DescribeSpotFleetRequestHistoryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes your Spot Fleet requests.</p> <p>Spot Fleet requests are deleted 48
* hours after they are canceled and their instances are terminated.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequests">AWS
* API Reference</a></p>
*/
virtual Model::DescribeSpotFleetRequestsOutcome DescribeSpotFleetRequests(const Model::DescribeSpotFleetRequestsRequest& request) const;
/**
* <p>Describes your Spot Fleet requests.</p> <p>Spot Fleet requests are deleted 48
* hours after they are canceled and their instances are terminated.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequests">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeSpotFleetRequestsOutcomeCallable DescribeSpotFleetRequestsCallable(const Model::DescribeSpotFleetRequestsRequest& request) const;
/**
* <p>Describes your Spot Fleet requests.</p> <p>Spot Fleet requests are deleted 48
* hours after they are canceled and their instances are terminated.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequests">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeSpotFleetRequestsAsync(const Model::DescribeSpotFleetRequestsRequest& request, const DescribeSpotFleetRequestsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the specified Spot Instance requests.</p> <p>You can use
* <code>DescribeSpotInstanceRequests</code> to find a running Spot Instance by
* examining the response. If the status of the Spot Instance is
* <code>fulfilled</code>, the instance ID appears in the response and contains the
* identifier of the instance. Alternatively, you can use <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances">DescribeInstances</a>
* with a filter to look for instances where the instance lifecycle is
* <code>spot</code>.</p> <p>We recommend that you set <code>MaxResults</code> to a
* value between 5 and 1000 to limit the number of results returned. This paginates
* the output, which makes the list more manageable and returns the results faster.
* If the list of results exceeds your <code>MaxResults</code> value, then that
* number of results is returned along with a <code>NextToken</code> value that can
* be passed to a subsequent <code>DescribeSpotInstanceRequests</code> request to
* retrieve the remaining results.</p> <p>Spot Instance requests are deleted four
* hours after they are canceled and their instances are terminated.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequests">AWS
* API Reference</a></p>
*/
virtual Model::DescribeSpotInstanceRequestsOutcome DescribeSpotInstanceRequests(const Model::DescribeSpotInstanceRequestsRequest& request) const;
/**
* <p>Describes the specified Spot Instance requests.</p> <p>You can use
* <code>DescribeSpotInstanceRequests</code> to find a running Spot Instance by
* examining the response. If the status of the Spot Instance is
* <code>fulfilled</code>, the instance ID appears in the response and contains the
* identifier of the instance. Alternatively, you can use <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances">DescribeInstances</a>
* with a filter to look for instances where the instance lifecycle is
* <code>spot</code>.</p> <p>We recommend that you set <code>MaxResults</code> to a
* value between 5 and 1000 to limit the number of results returned. This paginates
* the output, which makes the list more manageable and returns the results faster.
* If the list of results exceeds your <code>MaxResults</code> value, then that
* number of results is returned along with a <code>NextToken</code> value that can
* be passed to a subsequent <code>DescribeSpotInstanceRequests</code> request to
* retrieve the remaining results.</p> <p>Spot Instance requests are deleted four
* hours after they are canceled and their instances are terminated.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequests">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeSpotInstanceRequestsOutcomeCallable DescribeSpotInstanceRequestsCallable(const Model::DescribeSpotInstanceRequestsRequest& request) const;
/**
* <p>Describes the specified Spot Instance requests.</p> <p>You can use
* <code>DescribeSpotInstanceRequests</code> to find a running Spot Instance by
* examining the response. If the status of the Spot Instance is
* <code>fulfilled</code>, the instance ID appears in the response and contains the
* identifier of the instance. Alternatively, you can use <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances">DescribeInstances</a>
* with a filter to look for instances where the instance lifecycle is
* <code>spot</code>.</p> <p>We recommend that you set <code>MaxResults</code> to a
* value between 5 and 1000 to limit the number of results returned. This paginates
* the output, which makes the list more manageable and returns the results faster.
* If the list of results exceeds your <code>MaxResults</code> value, then that
* number of results is returned along with a <code>NextToken</code> value that can
* be passed to a subsequent <code>DescribeSpotInstanceRequests</code> request to
* retrieve the remaining results.</p> <p>Spot Instance requests are deleted four
* hours after they are canceled and their instances are terminated.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequests">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeSpotInstanceRequestsAsync(const Model::DescribeSpotInstanceRequestsRequest& request, const DescribeSpotInstanceRequestsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the Spot price history. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html">Spot
* Instance pricing history</a> in the <i>Amazon EC2 User Guide for Linux
* Instances</i>.</p> <p>When you specify a start and end time, this operation
* returns the prices of the instance types within the time range that you
* specified and the time when the price changed. The price is valid within the
* time period that you specified; the response merely indicates the last time that
* the price changed.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistory">AWS
* API Reference</a></p>
*/
virtual Model::DescribeSpotPriceHistoryOutcome DescribeSpotPriceHistory(const Model::DescribeSpotPriceHistoryRequest& request) const;
/**
* <p>Describes the Spot price history. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html">Spot
* Instance pricing history</a> in the <i>Amazon EC2 User Guide for Linux
* Instances</i>.</p> <p>When you specify a start and end time, this operation
* returns the prices of the instance types within the time range that you
* specified and the time when the price changed. The price is valid within the
* time period that you specified; the response merely indicates the last time that
* the price changed.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistory">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeSpotPriceHistoryOutcomeCallable DescribeSpotPriceHistoryCallable(const Model::DescribeSpotPriceHistoryRequest& request) const;
/**
* <p>Describes the Spot price history. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html">Spot
* Instance pricing history</a> in the <i>Amazon EC2 User Guide for Linux
* Instances</i>.</p> <p>When you specify a start and end time, this operation
* returns the prices of the instance types within the time range that you
* specified and the time when the price changed. The price is valid within the
* time period that you specified; the response merely indicates the last time that
* the price changed.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistory">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeSpotPriceHistoryAsync(const Model::DescribeSpotPriceHistoryRequest& request, const DescribeSpotPriceHistoryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>[VPC only] Describes the stale security group rules for security groups in a
* specified VPC. Rules are stale when they reference a deleted security group in a
* peer VPC, or a security group in a peer VPC for which the VPC peering connection
* has been deleted.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroups">AWS
* API Reference</a></p>
*/
virtual Model::DescribeStaleSecurityGroupsOutcome DescribeStaleSecurityGroups(const Model::DescribeStaleSecurityGroupsRequest& request) const;
/**
* <p>[VPC only] Describes the stale security group rules for security groups in a
* specified VPC. Rules are stale when they reference a deleted security group in a
* peer VPC, or a security group in a peer VPC for which the VPC peering connection
* has been deleted.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroups">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeStaleSecurityGroupsOutcomeCallable DescribeStaleSecurityGroupsCallable(const Model::DescribeStaleSecurityGroupsRequest& request) const;
/**
* <p>[VPC only] Describes the stale security group rules for security groups in a
* specified VPC. Rules are stale when they reference a deleted security group in a
* peer VPC, or a security group in a peer VPC for which the VPC peering connection
* has been deleted.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroups">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeStaleSecurityGroupsAsync(const Model::DescribeStaleSecurityGroupsRequest& request, const DescribeStaleSecurityGroupsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes one or more of your subnets.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html">Your
* VPC and Subnets</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnets">AWS
* API Reference</a></p>
*/
virtual Model::DescribeSubnetsOutcome DescribeSubnets(const Model::DescribeSubnetsRequest& request) const;
/**
* <p>Describes one or more of your subnets.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html">Your
* VPC and Subnets</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnets">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeSubnetsOutcomeCallable DescribeSubnetsCallable(const Model::DescribeSubnetsRequest& request) const;
/**
* <p>Describes one or more of your subnets.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html">Your
* VPC and Subnets</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnets">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeSubnetsAsync(const Model::DescribeSubnetsRequest& request, const DescribeSubnetsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the specified tags for your EC2 resources.</p> <p>For more
* information about tags, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html">Tagging
* Your Resources</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTags">AWS
* API Reference</a></p>
*/
virtual Model::DescribeTagsOutcome DescribeTags(const Model::DescribeTagsRequest& request) const;
/**
* <p>Describes the specified tags for your EC2 resources.</p> <p>For more
* information about tags, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html">Tagging
* Your Resources</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTags">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeTagsOutcomeCallable DescribeTagsCallable(const Model::DescribeTagsRequest& request) const;
/**
* <p>Describes the specified tags for your EC2 resources.</p> <p>For more
* information about tags, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html">Tagging
* Your Resources</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTags">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeTagsAsync(const Model::DescribeTagsRequest& request, const DescribeTagsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes one or more Traffic Mirror filters.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorFilters">AWS
* API Reference</a></p>
*/
virtual Model::DescribeTrafficMirrorFiltersOutcome DescribeTrafficMirrorFilters(const Model::DescribeTrafficMirrorFiltersRequest& request) const;
/**
* <p>Describes one or more Traffic Mirror filters.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorFilters">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeTrafficMirrorFiltersOutcomeCallable DescribeTrafficMirrorFiltersCallable(const Model::DescribeTrafficMirrorFiltersRequest& request) const;
/**
* <p>Describes one or more Traffic Mirror filters.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorFilters">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeTrafficMirrorFiltersAsync(const Model::DescribeTrafficMirrorFiltersRequest& request, const DescribeTrafficMirrorFiltersResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror
* sessions are described. Alternatively, you can filter the results.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorSessions">AWS
* API Reference</a></p>
*/
virtual Model::DescribeTrafficMirrorSessionsOutcome DescribeTrafficMirrorSessions(const Model::DescribeTrafficMirrorSessionsRequest& request) const;
/**
* <p>Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror
* sessions are described. Alternatively, you can filter the results.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorSessions">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeTrafficMirrorSessionsOutcomeCallable DescribeTrafficMirrorSessionsCallable(const Model::DescribeTrafficMirrorSessionsRequest& request) const;
/**
* <p>Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror
* sessions are described. Alternatively, you can filter the results.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorSessions">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeTrafficMirrorSessionsAsync(const Model::DescribeTrafficMirrorSessionsRequest& request, const DescribeTrafficMirrorSessionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Information about one or more Traffic Mirror targets.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorTargets">AWS
* API Reference</a></p>
*/
virtual Model::DescribeTrafficMirrorTargetsOutcome DescribeTrafficMirrorTargets(const Model::DescribeTrafficMirrorTargetsRequest& request) const;
/**
* <p>Information about one or more Traffic Mirror targets.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorTargets">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeTrafficMirrorTargetsOutcomeCallable DescribeTrafficMirrorTargetsCallable(const Model::DescribeTrafficMirrorTargetsRequest& request) const;
/**
* <p>Information about one or more Traffic Mirror targets.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorTargets">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeTrafficMirrorTargetsAsync(const Model::DescribeTrafficMirrorTargetsRequest& request, const DescribeTrafficMirrorTargetsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayAttachments">AWS
* API Reference</a></p>
*/
virtual Model::DescribeTransitGatewayAttachmentsOutcome DescribeTransitGatewayAttachments(const Model::DescribeTransitGatewayAttachmentsRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayAttachments">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeTransitGatewayAttachmentsOutcomeCallable DescribeTransitGatewayAttachmentsCallable(const Model::DescribeTransitGatewayAttachmentsRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayAttachments">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeTransitGatewayAttachmentsAsync(const Model::DescribeTransitGatewayAttachmentsRequest& request, const DescribeTransitGatewayAttachmentsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes one or more transit gateway multicast domains.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayMulticastDomains">AWS
* API Reference</a></p>
*/
virtual Model::DescribeTransitGatewayMulticastDomainsOutcome DescribeTransitGatewayMulticastDomains(const Model::DescribeTransitGatewayMulticastDomainsRequest& request) const;
/**
* <p>Describes one or more transit gateway multicast domains.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayMulticastDomains">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeTransitGatewayMulticastDomainsOutcomeCallable DescribeTransitGatewayMulticastDomainsCallable(const Model::DescribeTransitGatewayMulticastDomainsRequest& request) const;
/**
* <p>Describes one or more transit gateway multicast domains.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayMulticastDomains">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeTransitGatewayMulticastDomainsAsync(const Model::DescribeTransitGatewayMulticastDomainsRequest& request, const DescribeTransitGatewayMulticastDomainsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes your transit gateway peering attachments.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayPeeringAttachments">AWS
* API Reference</a></p>
*/
virtual Model::DescribeTransitGatewayPeeringAttachmentsOutcome DescribeTransitGatewayPeeringAttachments(const Model::DescribeTransitGatewayPeeringAttachmentsRequest& request) const;
/**
* <p>Describes your transit gateway peering attachments.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayPeeringAttachments">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeTransitGatewayPeeringAttachmentsOutcomeCallable DescribeTransitGatewayPeeringAttachmentsCallable(const Model::DescribeTransitGatewayPeeringAttachmentsRequest& request) const;
/**
* <p>Describes your transit gateway peering attachments.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayPeeringAttachments">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeTransitGatewayPeeringAttachmentsAsync(const Model::DescribeTransitGatewayPeeringAttachmentsRequest& request, const DescribeTransitGatewayPeeringAttachmentsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes one or more transit gateway route tables. By default, all transit
* gateway route tables are described. Alternatively, you can filter the
* results.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayRouteTables">AWS
* API Reference</a></p>
*/
virtual Model::DescribeTransitGatewayRouteTablesOutcome DescribeTransitGatewayRouteTables(const Model::DescribeTransitGatewayRouteTablesRequest& request) const;
/**
* <p>Describes one or more transit gateway route tables. By default, all transit
* gateway route tables are described. Alternatively, you can filter the
* results.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayRouteTables">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeTransitGatewayRouteTablesOutcomeCallable DescribeTransitGatewayRouteTablesCallable(const Model::DescribeTransitGatewayRouteTablesRequest& request) const;
/**
* <p>Describes one or more transit gateway route tables. By default, all transit
* gateway route tables are described. Alternatively, you can filter the
* results.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayRouteTables">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeTransitGatewayRouteTablesAsync(const Model::DescribeTransitGatewayRouteTablesRequest& request, const DescribeTransitGatewayRouteTablesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes one or more VPC attachments. By default, all VPC attachments are
* described. Alternatively, you can filter the results.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayVpcAttachments">AWS
* API Reference</a></p>
*/
virtual Model::DescribeTransitGatewayVpcAttachmentsOutcome DescribeTransitGatewayVpcAttachments(const Model::DescribeTransitGatewayVpcAttachmentsRequest& request) const;
/**
* <p>Describes one or more VPC attachments. By default, all VPC attachments are
* described. Alternatively, you can filter the results.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayVpcAttachments">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeTransitGatewayVpcAttachmentsOutcomeCallable DescribeTransitGatewayVpcAttachmentsCallable(const Model::DescribeTransitGatewayVpcAttachmentsRequest& request) const;
/**
* <p>Describes one or more VPC attachments. By default, all VPC attachments are
* described. Alternatively, you can filter the results.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayVpcAttachments">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeTransitGatewayVpcAttachmentsAsync(const Model::DescribeTransitGatewayVpcAttachmentsRequest& request, const DescribeTransitGatewayVpcAttachmentsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes one or more transit gateways. By default, all transit gateways are
* described. Alternatively, you can filter the results.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGateways">AWS
* API Reference</a></p>
*/
virtual Model::DescribeTransitGatewaysOutcome DescribeTransitGateways(const Model::DescribeTransitGatewaysRequest& request) const;
/**
* <p>Describes one or more transit gateways. By default, all transit gateways are
* described. Alternatively, you can filter the results.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGateways">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeTransitGatewaysOutcomeCallable DescribeTransitGatewaysCallable(const Model::DescribeTransitGatewaysRequest& request) const;
/**
* <p>Describes one or more transit gateways. By default, all transit gateways are
* described. Alternatively, you can filter the results.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGateways">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeTransitGatewaysAsync(const Model::DescribeTransitGatewaysRequest& request, const DescribeTransitGatewaysResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the specified attribute of the specified volume. You can specify
* only one attribute at a time.</p> <p>For more information about EBS volumes, see
* <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html">Amazon
* EBS Volumes</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttribute">AWS
* API Reference</a></p>
*/
virtual Model::DescribeVolumeAttributeOutcome DescribeVolumeAttribute(const Model::DescribeVolumeAttributeRequest& request) const;
/**
* <p>Describes the specified attribute of the specified volume. You can specify
* only one attribute at a time.</p> <p>For more information about EBS volumes, see
* <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html">Amazon
* EBS Volumes</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttribute">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeVolumeAttributeOutcomeCallable DescribeVolumeAttributeCallable(const Model::DescribeVolumeAttributeRequest& request) const;
/**
* <p>Describes the specified attribute of the specified volume. You can specify
* only one attribute at a time.</p> <p>For more information about EBS volumes, see
* <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html">Amazon
* EBS Volumes</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttribute">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeVolumeAttributeAsync(const Model::DescribeVolumeAttributeRequest& request, const DescribeVolumeAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p> <p>The <code>DescribeVolumeStatus</code>
* operation provides the following information about the specified volumes:</p>
* <p> <i>Status</i>: Reflects the current status of the volume. The possible
* values are <code>ok</code>, <code>impaired</code> , <code>warning</code>, or
* <code>insufficient-data</code>. If all checks pass, the overall status of the
* volume is <code>ok</code>. If the check fails, the overall status is
* <code>impaired</code>. If the status is <code>insufficient-data</code>, then the
* checks may still be taking place on your volume at the time. We recommend that
* you retry the request. For more information about volume status, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-volume-status.html">Monitoring
* the status of your volumes</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p> <p> <i>Events</i>: Reflect the cause of a volume status and may
* require you to take action. For example, if your volume returns an
* <code>impaired</code> status, then the volume event might be
* <code>potential-data-inconsistency</code>. This means that your volume has been
* affected by an issue with the underlying host, has all I/O operations disabled,
* and may have inconsistent data.</p> <p> <i>Actions</i>: Reflect the actions you
* may have to take in response to an event. For example, if the status of the
* volume is <code>impaired</code> and the volume event shows
* <code>potential-data-inconsistency</code>, then the action shows
* <code>enable-volume-io</code>. This means that you may want to enable the I/O
* operations for the volume by calling the <a>EnableVolumeIO</a> action and then
* check the volume for data consistency.</p> <p>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 <code>error</code> state (for example,
* when a volume is incapable of accepting I/O.)</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatus">AWS
* API Reference</a></p>
*/
virtual Model::DescribeVolumeStatusOutcome DescribeVolumeStatus(const Model::DescribeVolumeStatusRequest& request) const;
/**
* <p>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.</p> <p>The <code>DescribeVolumeStatus</code>
* operation provides the following information about the specified volumes:</p>
* <p> <i>Status</i>: Reflects the current status of the volume. The possible
* values are <code>ok</code>, <code>impaired</code> , <code>warning</code>, or
* <code>insufficient-data</code>. If all checks pass, the overall status of the
* volume is <code>ok</code>. If the check fails, the overall status is
* <code>impaired</code>. If the status is <code>insufficient-data</code>, then the
* checks may still be taking place on your volume at the time. We recommend that
* you retry the request. For more information about volume status, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-volume-status.html">Monitoring
* the status of your volumes</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p> <p> <i>Events</i>: Reflect the cause of a volume status and may
* require you to take action. For example, if your volume returns an
* <code>impaired</code> status, then the volume event might be
* <code>potential-data-inconsistency</code>. This means that your volume has been
* affected by an issue with the underlying host, has all I/O operations disabled,
* and may have inconsistent data.</p> <p> <i>Actions</i>: Reflect the actions you
* may have to take in response to an event. For example, if the status of the
* volume is <code>impaired</code> and the volume event shows
* <code>potential-data-inconsistency</code>, then the action shows
* <code>enable-volume-io</code>. This means that you may want to enable the I/O
* operations for the volume by calling the <a>EnableVolumeIO</a> action and then
* check the volume for data consistency.</p> <p>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 <code>error</code> state (for example,
* when a volume is incapable of accepting I/O.)</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatus">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeVolumeStatusOutcomeCallable DescribeVolumeStatusCallable(const Model::DescribeVolumeStatusRequest& request) const;
/**
* <p>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.</p> <p>The <code>DescribeVolumeStatus</code>
* operation provides the following information about the specified volumes:</p>
* <p> <i>Status</i>: Reflects the current status of the volume. The possible
* values are <code>ok</code>, <code>impaired</code> , <code>warning</code>, or
* <code>insufficient-data</code>. If all checks pass, the overall status of the
* volume is <code>ok</code>. If the check fails, the overall status is
* <code>impaired</code>. If the status is <code>insufficient-data</code>, then the
* checks may still be taking place on your volume at the time. We recommend that
* you retry the request. For more information about volume status, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-volume-status.html">Monitoring
* the status of your volumes</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p> <p> <i>Events</i>: Reflect the cause of a volume status and may
* require you to take action. For example, if your volume returns an
* <code>impaired</code> status, then the volume event might be
* <code>potential-data-inconsistency</code>. This means that your volume has been
* affected by an issue with the underlying host, has all I/O operations disabled,
* and may have inconsistent data.</p> <p> <i>Actions</i>: Reflect the actions you
* may have to take in response to an event. For example, if the status of the
* volume is <code>impaired</code> and the volume event shows
* <code>potential-data-inconsistency</code>, then the action shows
* <code>enable-volume-io</code>. This means that you may want to enable the I/O
* operations for the volume by calling the <a>EnableVolumeIO</a> action and then
* check the volume for data consistency.</p> <p>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 <code>error</code> state (for example,
* when a volume is incapable of accepting I/O.)</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatus">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeVolumeStatusAsync(const Model::DescribeVolumeStatusRequest& request, const DescribeVolumeStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the specified EBS volumes or all of your EBS volumes.</p> <p>If you
* are describing a long list of volumes, we recommend that you paginate the output
* to make the list more manageable. The <code>MaxResults</code> parameter sets the
* maximum number of results returned in a single page. If the list of results
* exceeds your <code>MaxResults</code> value, then that number of results is
* returned along with a <code>NextToken</code> value that can be passed to a
* subsequent <code>DescribeVolumes</code> request to retrieve the remaining
* results.</p> <p>For more information about EBS volumes, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html">Amazon
* EBS Volumes</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumes">AWS
* API Reference</a></p>
*/
virtual Model::DescribeVolumesOutcome DescribeVolumes(const Model::DescribeVolumesRequest& request) const;
/**
* <p>Describes the specified EBS volumes or all of your EBS volumes.</p> <p>If you
* are describing a long list of volumes, we recommend that you paginate the output
* to make the list more manageable. The <code>MaxResults</code> parameter sets the
* maximum number of results returned in a single page. If the list of results
* exceeds your <code>MaxResults</code> value, then that number of results is
* returned along with a <code>NextToken</code> value that can be passed to a
* subsequent <code>DescribeVolumes</code> request to retrieve the remaining
* results.</p> <p>For more information about EBS volumes, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html">Amazon
* EBS Volumes</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumes">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeVolumesOutcomeCallable DescribeVolumesCallable(const Model::DescribeVolumesRequest& request) const;
/**
* <p>Describes the specified EBS volumes or all of your EBS volumes.</p> <p>If you
* are describing a long list of volumes, we recommend that you paginate the output
* to make the list more manageable. The <code>MaxResults</code> parameter sets the
* maximum number of results returned in a single page. If the list of results
* exceeds your <code>MaxResults</code> value, then that number of results is
* returned along with a <code>NextToken</code> value that can be passed to a
* subsequent <code>DescribeVolumes</code> request to retrieve the remaining
* results.</p> <p>For more information about EBS volumes, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html">Amazon
* EBS Volumes</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumes">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeVolumesAsync(const Model::DescribeVolumesRequest& request, const DescribeVolumesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the most recent volume modification request for the specified EBS
* volumes.</p> <p>If a volume has never been modified, some information in the
* output will be null. If a volume has been modified more than once, the output
* includes only the most recent modification request.</p> <p>You can also use
* CloudWatch Events to check the status of a modification to an EBS volume. For
* information about CloudWatch Events, see the <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/">Amazon
* CloudWatch Events User Guide</a>. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods">Monitoring
* volume modifications</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModifications">AWS
* API Reference</a></p>
*/
virtual Model::DescribeVolumesModificationsOutcome DescribeVolumesModifications(const Model::DescribeVolumesModificationsRequest& request) const;
/**
* <p>Describes the most recent volume modification request for the specified EBS
* volumes.</p> <p>If a volume has never been modified, some information in the
* output will be null. If a volume has been modified more than once, the output
* includes only the most recent modification request.</p> <p>You can also use
* CloudWatch Events to check the status of a modification to an EBS volume. For
* information about CloudWatch Events, see the <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/">Amazon
* CloudWatch Events User Guide</a>. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods">Monitoring
* volume modifications</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModifications">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeVolumesModificationsOutcomeCallable DescribeVolumesModificationsCallable(const Model::DescribeVolumesModificationsRequest& request) const;
/**
* <p>Describes the most recent volume modification request for the specified EBS
* volumes.</p> <p>If a volume has never been modified, some information in the
* output will be null. If a volume has been modified more than once, the output
* includes only the most recent modification request.</p> <p>You can also use
* CloudWatch Events to check the status of a modification to an EBS volume. For
* information about CloudWatch Events, see the <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/">Amazon
* CloudWatch Events User Guide</a>. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods">Monitoring
* volume modifications</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModifications">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeVolumesModificationsAsync(const Model::DescribeVolumesModificationsRequest& request, const DescribeVolumesModificationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the specified attribute of the specified VPC. You can specify only
* one attribute at a time.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttribute">AWS
* API Reference</a></p>
*/
virtual Model::DescribeVpcAttributeOutcome DescribeVpcAttribute(const Model::DescribeVpcAttributeRequest& request) const;
/**
* <p>Describes the specified attribute of the specified VPC. You can specify only
* one attribute at a time.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttribute">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeVpcAttributeOutcomeCallable DescribeVpcAttributeCallable(const Model::DescribeVpcAttributeRequest& request) const;
/**
* <p>Describes the specified attribute of the specified VPC. You can specify only
* one attribute at a time.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttribute">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeVpcAttributeAsync(const Model::DescribeVpcAttributeRequest& request, const DescribeVpcAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the ClassicLink status of one or more VPCs.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLink">AWS
* API Reference</a></p>
*/
virtual Model::DescribeVpcClassicLinkOutcome DescribeVpcClassicLink(const Model::DescribeVpcClassicLinkRequest& request) const;
/**
* <p>Describes the ClassicLink status of one or more VPCs.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLink">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeVpcClassicLinkOutcomeCallable DescribeVpcClassicLinkCallable(const Model::DescribeVpcClassicLinkRequest& request) const;
/**
* <p>Describes the ClassicLink status of one or more VPCs.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLink">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeVpcClassicLinkAsync(const Model::DescribeVpcClassicLinkRequest& request, const DescribeVpcClassicLinkResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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. For more information,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html">ClassicLink</a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupport">AWS
* API Reference</a></p>
*/
virtual Model::DescribeVpcClassicLinkDnsSupportOutcome DescribeVpcClassicLinkDnsSupport(const Model::DescribeVpcClassicLinkDnsSupportRequest& request) const;
/**
* <p>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. For more information,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html">ClassicLink</a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupport">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeVpcClassicLinkDnsSupportOutcomeCallable DescribeVpcClassicLinkDnsSupportCallable(const Model::DescribeVpcClassicLinkDnsSupportRequest& request) const;
/**
* <p>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. For more information,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html">ClassicLink</a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupport">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeVpcClassicLinkDnsSupportAsync(const Model::DescribeVpcClassicLinkDnsSupportRequest& request, const DescribeVpcClassicLinkDnsSupportResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the connection notifications for VPC endpoints and VPC endpoint
* services.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnectionNotifications">AWS
* API Reference</a></p>
*/
virtual Model::DescribeVpcEndpointConnectionNotificationsOutcome DescribeVpcEndpointConnectionNotifications(const Model::DescribeVpcEndpointConnectionNotificationsRequest& request) const;
/**
* <p>Describes the connection notifications for VPC endpoints and VPC endpoint
* services.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnectionNotifications">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeVpcEndpointConnectionNotificationsOutcomeCallable DescribeVpcEndpointConnectionNotificationsCallable(const Model::DescribeVpcEndpointConnectionNotificationsRequest& request) const;
/**
* <p>Describes the connection notifications for VPC endpoints and VPC endpoint
* services.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnectionNotifications">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeVpcEndpointConnectionNotificationsAsync(const Model::DescribeVpcEndpointConnectionNotificationsRequest& request, const DescribeVpcEndpointConnectionNotificationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the VPC endpoint connections to your VPC endpoint services,
* including any endpoints that are pending your acceptance.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnections">AWS
* API Reference</a></p>
*/
virtual Model::DescribeVpcEndpointConnectionsOutcome DescribeVpcEndpointConnections(const Model::DescribeVpcEndpointConnectionsRequest& request) const;
/**
* <p>Describes the VPC endpoint connections to your VPC endpoint services,
* including any endpoints that are pending your acceptance.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnections">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeVpcEndpointConnectionsOutcomeCallable DescribeVpcEndpointConnectionsCallable(const Model::DescribeVpcEndpointConnectionsRequest& request) const;
/**
* <p>Describes the VPC endpoint connections to your VPC endpoint services,
* including any endpoints that are pending your acceptance.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnections">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeVpcEndpointConnectionsAsync(const Model::DescribeVpcEndpointConnectionsRequest& request, const DescribeVpcEndpointConnectionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the VPC endpoint service configurations in your account (your
* services).</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServiceConfigurations">AWS
* API Reference</a></p>
*/
virtual Model::DescribeVpcEndpointServiceConfigurationsOutcome DescribeVpcEndpointServiceConfigurations(const Model::DescribeVpcEndpointServiceConfigurationsRequest& request) const;
/**
* <p>Describes the VPC endpoint service configurations in your account (your
* services).</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServiceConfigurations">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeVpcEndpointServiceConfigurationsOutcomeCallable DescribeVpcEndpointServiceConfigurationsCallable(const Model::DescribeVpcEndpointServiceConfigurationsRequest& request) const;
/**
* <p>Describes the VPC endpoint service configurations in your account (your
* services).</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServiceConfigurations">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeVpcEndpointServiceConfigurationsAsync(const Model::DescribeVpcEndpointServiceConfigurationsRequest& request, const DescribeVpcEndpointServiceConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the principals (service consumers) that are permitted to discover
* your VPC endpoint service.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServicePermissions">AWS
* API Reference</a></p>
*/
virtual Model::DescribeVpcEndpointServicePermissionsOutcome DescribeVpcEndpointServicePermissions(const Model::DescribeVpcEndpointServicePermissionsRequest& request) const;
/**
* <p>Describes the principals (service consumers) that are permitted to discover
* your VPC endpoint service.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServicePermissions">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeVpcEndpointServicePermissionsOutcomeCallable DescribeVpcEndpointServicePermissionsCallable(const Model::DescribeVpcEndpointServicePermissionsRequest& request) const;
/**
* <p>Describes the principals (service consumers) that are permitted to discover
* your VPC endpoint service.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServicePermissions">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeVpcEndpointServicePermissionsAsync(const Model::DescribeVpcEndpointServicePermissionsRequest& request, const DescribeVpcEndpointServicePermissionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes available services to which you can create a VPC
* endpoint.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServices">AWS
* API Reference</a></p>
*/
virtual Model::DescribeVpcEndpointServicesOutcome DescribeVpcEndpointServices(const Model::DescribeVpcEndpointServicesRequest& request) const;
/**
* <p>Describes available services to which you can create a VPC
* endpoint.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServices">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeVpcEndpointServicesOutcomeCallable DescribeVpcEndpointServicesCallable(const Model::DescribeVpcEndpointServicesRequest& request) const;
/**
* <p>Describes available services to which you can create a VPC
* endpoint.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServices">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeVpcEndpointServicesAsync(const Model::DescribeVpcEndpointServicesRequest& request, const DescribeVpcEndpointServicesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes one or more of your VPC endpoints.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpoints">AWS
* API Reference</a></p>
*/
virtual Model::DescribeVpcEndpointsOutcome DescribeVpcEndpoints(const Model::DescribeVpcEndpointsRequest& request) const;
/**
* <p>Describes one or more of your VPC endpoints.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpoints">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeVpcEndpointsOutcomeCallable DescribeVpcEndpointsCallable(const Model::DescribeVpcEndpointsRequest& request) const;
/**
* <p>Describes one or more of your VPC endpoints.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpoints">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeVpcEndpointsAsync(const Model::DescribeVpcEndpointsRequest& request, const DescribeVpcEndpointsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes one or more of your VPC peering connections.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnections">AWS
* API Reference</a></p>
*/
virtual Model::DescribeVpcPeeringConnectionsOutcome DescribeVpcPeeringConnections(const Model::DescribeVpcPeeringConnectionsRequest& request) const;
/**
* <p>Describes one or more of your VPC peering connections.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnections">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeVpcPeeringConnectionsOutcomeCallable DescribeVpcPeeringConnectionsCallable(const Model::DescribeVpcPeeringConnectionsRequest& request) const;
/**
* <p>Describes one or more of your VPC peering connections.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnections">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeVpcPeeringConnectionsAsync(const Model::DescribeVpcPeeringConnectionsRequest& request, const DescribeVpcPeeringConnectionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes one or more of your VPCs.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcs">AWS
* API Reference</a></p>
*/
virtual Model::DescribeVpcsOutcome DescribeVpcs(const Model::DescribeVpcsRequest& request) const;
/**
* <p>Describes one or more of your VPCs.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcs">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeVpcsOutcomeCallable DescribeVpcsCallable(const Model::DescribeVpcsRequest& request) const;
/**
* <p>Describes one or more of your VPCs.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcs">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeVpcsAsync(const Model::DescribeVpcsRequest& request, const DescribeVpcsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes one or more of your VPN connections.</p> <p>For more information,
* see <a href="https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html">AWS
* Site-to-Site VPN</a> in the <i>AWS Site-to-Site VPN User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnections">AWS
* API Reference</a></p>
*/
virtual Model::DescribeVpnConnectionsOutcome DescribeVpnConnections(const Model::DescribeVpnConnectionsRequest& request) const;
/**
* <p>Describes one or more of your VPN connections.</p> <p>For more information,
* see <a href="https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html">AWS
* Site-to-Site VPN</a> in the <i>AWS Site-to-Site VPN User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnections">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeVpnConnectionsOutcomeCallable DescribeVpnConnectionsCallable(const Model::DescribeVpnConnectionsRequest& request) const;
/**
* <p>Describes one or more of your VPN connections.</p> <p>For more information,
* see <a href="https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html">AWS
* Site-to-Site VPN</a> in the <i>AWS Site-to-Site VPN User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnections">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeVpnConnectionsAsync(const Model::DescribeVpnConnectionsRequest& request, const DescribeVpnConnectionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes one or more of your virtual private gateways.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html">AWS
* Site-to-Site VPN</a> in the <i>AWS Site-to-Site VPN User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGateways">AWS
* API Reference</a></p>
*/
virtual Model::DescribeVpnGatewaysOutcome DescribeVpnGateways(const Model::DescribeVpnGatewaysRequest& request) const;
/**
* <p>Describes one or more of your virtual private gateways.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html">AWS
* Site-to-Site VPN</a> in the <i>AWS Site-to-Site VPN User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGateways">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeVpnGatewaysOutcomeCallable DescribeVpnGatewaysCallable(const Model::DescribeVpnGatewaysRequest& request) const;
/**
* <p>Describes one or more of your virtual private gateways.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html">AWS
* Site-to-Site VPN</a> in the <i>AWS Site-to-Site VPN User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGateways">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeVpnGatewaysAsync(const Model::DescribeVpnGatewaysRequest& request, const DescribeVpnGatewaysResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpc">AWS
* API Reference</a></p>
*/
virtual Model::DetachClassicLinkVpcOutcome DetachClassicLinkVpc(const Model::DetachClassicLinkVpcRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpc">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DetachClassicLinkVpcOutcomeCallable DetachClassicLinkVpcCallable(const Model::DetachClassicLinkVpcRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpc">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DetachClassicLinkVpcAsync(const Model::DetachClassicLinkVpcRequest& request, const DetachClassicLinkVpcResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGateway">AWS
* API Reference</a></p>
*/
virtual Model::DetachInternetGatewayOutcome DetachInternetGateway(const Model::DetachInternetGatewayRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGateway">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DetachInternetGatewayOutcomeCallable DetachInternetGatewayCallable(const Model::DetachInternetGatewayRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGateway">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DetachInternetGatewayAsync(const Model::DetachInternetGatewayRequest& request, const DetachInternetGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Detaches a network interface from an instance.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterface">AWS
* API Reference</a></p>
*/
virtual Model::DetachNetworkInterfaceOutcome DetachNetworkInterface(const Model::DetachNetworkInterfaceRequest& request) const;
/**
* <p>Detaches a network interface from an instance.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterface">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DetachNetworkInterfaceOutcomeCallable DetachNetworkInterfaceCallable(const Model::DetachNetworkInterfaceRequest& request) const;
/**
* <p>Detaches a network interface from an instance.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterface">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DetachNetworkInterfaceAsync(const Model::DetachNetworkInterfaceRequest& request, const DetachNetworkInterfaceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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
* <code>busy</code> 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.</p> <p>When a volume with an AWS Marketplace product code is
* detached from an instance, the product code is no longer associated with the
* instance.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html">Detaching
* an Amazon EBS volume</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVolume">AWS
* API Reference</a></p>
*/
virtual Model::DetachVolumeOutcome DetachVolume(const Model::DetachVolumeRequest& request) const;
/**
* <p>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
* <code>busy</code> 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.</p> <p>When a volume with an AWS Marketplace product code is
* detached from an instance, the product code is no longer associated with the
* instance.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html">Detaching
* an Amazon EBS volume</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVolume">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DetachVolumeOutcomeCallable DetachVolumeCallable(const Model::DetachVolumeRequest& request) const;
/**
* <p>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
* <code>busy</code> 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.</p> <p>When a volume with an AWS Marketplace product code is
* detached from an instance, the product code is no longer associated with the
* instance.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html">Detaching
* an Amazon EBS volume</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVolume">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DetachVolumeAsync(const Model::DetachVolumeRequest& request, const DetachVolumeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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).</p> <p>You must wait for the attachment's state to switch to
* <code>detached</code> before you can delete the VPC or attach a different VPC to
* the virtual private gateway.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGateway">AWS
* API Reference</a></p>
*/
virtual Model::DetachVpnGatewayOutcome DetachVpnGateway(const Model::DetachVpnGatewayRequest& request) const;
/**
* <p>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).</p> <p>You must wait for the attachment's state to switch to
* <code>detached</code> before you can delete the VPC or attach a different VPC to
* the virtual private gateway.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGateway">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DetachVpnGatewayOutcomeCallable DetachVpnGatewayCallable(const Model::DetachVpnGatewayRequest& request) const;
/**
* <p>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).</p> <p>You must wait for the attachment's state to switch to
* <code>detached</code> before you can delete the VPC or attach a different VPC to
* the virtual private gateway.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGateway">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DetachVpnGatewayAsync(const Model::DetachVpnGatewayRequest& request, const DetachVpnGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Disables EBS encryption by default for your account in the current
* Region.</p> <p>After you disable encryption by default, you can still create
* encrypted volumes by enabling encryption when you create each volume.</p>
* <p>Disabling encryption by default does not change the encryption status of your
* existing volumes.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html">Amazon
* EBS Encryption</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableEbsEncryptionByDefault">AWS
* API Reference</a></p>
*/
virtual Model::DisableEbsEncryptionByDefaultOutcome DisableEbsEncryptionByDefault(const Model::DisableEbsEncryptionByDefaultRequest& request) const;
/**
* <p>Disables EBS encryption by default for your account in the current
* Region.</p> <p>After you disable encryption by default, you can still create
* encrypted volumes by enabling encryption when you create each volume.</p>
* <p>Disabling encryption by default does not change the encryption status of your
* existing volumes.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html">Amazon
* EBS Encryption</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableEbsEncryptionByDefault">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DisableEbsEncryptionByDefaultOutcomeCallable DisableEbsEncryptionByDefaultCallable(const Model::DisableEbsEncryptionByDefaultRequest& request) const;
/**
* <p>Disables EBS encryption by default for your account in the current
* Region.</p> <p>After you disable encryption by default, you can still create
* encrypted volumes by enabling encryption when you create each volume.</p>
* <p>Disabling encryption by default does not change the encryption status of your
* existing volumes.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html">Amazon
* EBS Encryption</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableEbsEncryptionByDefault">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DisableEbsEncryptionByDefaultAsync(const Model::DisableEbsEncryptionByDefaultRequest& request, const DisableEbsEncryptionByDefaultResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Disables fast snapshot restores for the specified snapshots in the specified
* Availability Zones.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableFastSnapshotRestores">AWS
* API Reference</a></p>
*/
virtual Model::DisableFastSnapshotRestoresOutcome DisableFastSnapshotRestores(const Model::DisableFastSnapshotRestoresRequest& request) const;
/**
* <p>Disables fast snapshot restores for the specified snapshots in the specified
* Availability Zones.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableFastSnapshotRestores">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DisableFastSnapshotRestoresOutcomeCallable DisableFastSnapshotRestoresCallable(const Model::DisableFastSnapshotRestoresRequest& request) const;
/**
* <p>Disables fast snapshot restores for the specified snapshots in the specified
* Availability Zones.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableFastSnapshotRestores">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DisableFastSnapshotRestoresAsync(const Model::DisableFastSnapshotRestoresRequest& request, const DisableFastSnapshotRestoresResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Disables the specified resource attachment from propagating routes to the
* specified propagation route table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableTransitGatewayRouteTablePropagation">AWS
* API Reference</a></p>
*/
virtual Model::DisableTransitGatewayRouteTablePropagationOutcome DisableTransitGatewayRouteTablePropagation(const Model::DisableTransitGatewayRouteTablePropagationRequest& request) const;
/**
* <p>Disables the specified resource attachment from propagating routes to the
* specified propagation route table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableTransitGatewayRouteTablePropagation">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DisableTransitGatewayRouteTablePropagationOutcomeCallable DisableTransitGatewayRouteTablePropagationCallable(const Model::DisableTransitGatewayRouteTablePropagationRequest& request) const;
/**
* <p>Disables the specified resource attachment from propagating routes to the
* specified propagation route table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableTransitGatewayRouteTablePropagation">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DisableTransitGatewayRouteTablePropagationAsync(const Model::DisableTransitGatewayRouteTablePropagationRequest& request, const DisableTransitGatewayRouteTablePropagationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Disables a virtual private gateway (VGW) from propagating routes to a
* specified route table of a VPC.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagation">AWS
* API Reference</a></p>
*/
virtual Model::DisableVgwRoutePropagationOutcome DisableVgwRoutePropagation(const Model::DisableVgwRoutePropagationRequest& request) const;
/**
* <p>Disables a virtual private gateway (VGW) from propagating routes to a
* specified route table of a VPC.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagation">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DisableVgwRoutePropagationOutcomeCallable DisableVgwRoutePropagationCallable(const Model::DisableVgwRoutePropagationRequest& request) const;
/**
* <p>Disables a virtual private gateway (VGW) from propagating routes to a
* specified route table of a VPC.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagation">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DisableVgwRoutePropagationAsync(const Model::DisableVgwRoutePropagationRequest& request, const DisableVgwRoutePropagationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC that
* has EC2-Classic instances linked to it.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLink">AWS
* API Reference</a></p>
*/
virtual Model::DisableVpcClassicLinkOutcome DisableVpcClassicLink(const Model::DisableVpcClassicLinkRequest& request) const;
/**
* <p>Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC that
* has EC2-Classic instances linked to it.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLink">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DisableVpcClassicLinkOutcomeCallable DisableVpcClassicLinkCallable(const Model::DisableVpcClassicLinkRequest& request) const;
/**
* <p>Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC that
* has EC2-Classic instances linked to it.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLink">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DisableVpcClassicLinkAsync(const Model::DisableVpcClassicLinkRequest& request, const DisableVpcClassicLinkResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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. For more information,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html">ClassicLink</a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> <p>You must specify a
* VPC ID in the request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupport">AWS
* API Reference</a></p>
*/
virtual Model::DisableVpcClassicLinkDnsSupportOutcome DisableVpcClassicLinkDnsSupport(const Model::DisableVpcClassicLinkDnsSupportRequest& request) const;
/**
* <p>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. For more information,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html">ClassicLink</a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> <p>You must specify a
* VPC ID in the request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupport">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DisableVpcClassicLinkDnsSupportOutcomeCallable DisableVpcClassicLinkDnsSupportCallable(const Model::DisableVpcClassicLinkDnsSupportRequest& request) const;
/**
* <p>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. For more information,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html">ClassicLink</a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> <p>You must specify a
* VPC ID in the request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupport">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DisableVpcClassicLinkDnsSupportAsync(const Model::DisableVpcClassicLinkDnsSupportRequest& request, const DisableVpcClassicLinkDnsSupportResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Disassociates an Elastic IP address from the instance or network interface
* it's associated with.</p> <p>An Elastic IP address is for use in either the
* EC2-Classic platform or in a VPC. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html">Elastic
* IP Addresses</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* <p>This is an idempotent operation. If you perform the operation more than once,
* Amazon EC2 doesn't return an error.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddress">AWS
* API Reference</a></p>
*/
virtual Model::DisassociateAddressOutcome DisassociateAddress(const Model::DisassociateAddressRequest& request) const;
/**
* <p>Disassociates an Elastic IP address from the instance or network interface
* it's associated with.</p> <p>An Elastic IP address is for use in either the
* EC2-Classic platform or in a VPC. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html">Elastic
* IP Addresses</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* <p>This is an idempotent operation. If you perform the operation more than once,
* Amazon EC2 doesn't return an error.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddress">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DisassociateAddressOutcomeCallable DisassociateAddressCallable(const Model::DisassociateAddressRequest& request) const;
/**
* <p>Disassociates an Elastic IP address from the instance or network interface
* it's associated with.</p> <p>An Elastic IP address is for use in either the
* EC2-Classic platform or in a VPC. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html">Elastic
* IP Addresses</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* <p>This is an idempotent operation. If you perform the operation more than once,
* Amazon EC2 doesn't return an error.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddress">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DisassociateAddressAsync(const Model::DisassociateAddressRequest& request, const DisassociateAddressResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Disassociates a target network from the specified Client VPN endpoint. When
* you disassociate the last target network from a Client VPN, the following
* happens:</p> <ul> <li> <p>The route that was automatically added for the VPC is
* deleted</p> </li> <li> <p>All active client connections are terminated</p> </li>
* <li> <p>New client connections are disallowed</p> </li> <li> <p>The Client VPN
* endpoint's status changes to <code>pending-associate</code> </p> </li>
* </ul><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateClientVpnTargetNetwork">AWS
* API Reference</a></p>
*/
virtual Model::DisassociateClientVpnTargetNetworkOutcome DisassociateClientVpnTargetNetwork(const Model::DisassociateClientVpnTargetNetworkRequest& request) const;
/**
* <p>Disassociates a target network from the specified Client VPN endpoint. When
* you disassociate the last target network from a Client VPN, the following
* happens:</p> <ul> <li> <p>The route that was automatically added for the VPC is
* deleted</p> </li> <li> <p>All active client connections are terminated</p> </li>
* <li> <p>New client connections are disallowed</p> </li> <li> <p>The Client VPN
* endpoint's status changes to <code>pending-associate</code> </p> </li>
* </ul><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateClientVpnTargetNetwork">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DisassociateClientVpnTargetNetworkOutcomeCallable DisassociateClientVpnTargetNetworkCallable(const Model::DisassociateClientVpnTargetNetworkRequest& request) const;
/**
* <p>Disassociates a target network from the specified Client VPN endpoint. When
* you disassociate the last target network from a Client VPN, the following
* happens:</p> <ul> <li> <p>The route that was automatically added for the VPC is
* deleted</p> </li> <li> <p>All active client connections are terminated</p> </li>
* <li> <p>New client connections are disallowed</p> </li> <li> <p>The Client VPN
* endpoint's status changes to <code>pending-associate</code> </p> </li>
* </ul><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateClientVpnTargetNetwork">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DisassociateClientVpnTargetNetworkAsync(const Model::DisassociateClientVpnTargetNetworkRequest& request, const DisassociateClientVpnTargetNetworkResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Disassociates an IAM instance profile from a running or stopped instance.</p>
* <p>Use <a>DescribeIamInstanceProfileAssociations</a> to get the association
* ID.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfile">AWS
* API Reference</a></p>
*/
virtual Model::DisassociateIamInstanceProfileOutcome DisassociateIamInstanceProfile(const Model::DisassociateIamInstanceProfileRequest& request) const;
/**
* <p>Disassociates an IAM instance profile from a running or stopped instance.</p>
* <p>Use <a>DescribeIamInstanceProfileAssociations</a> to get the association
* ID.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfile">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DisassociateIamInstanceProfileOutcomeCallable DisassociateIamInstanceProfileCallable(const Model::DisassociateIamInstanceProfileRequest& request) const;
/**
* <p>Disassociates an IAM instance profile from a running or stopped instance.</p>
* <p>Use <a>DescribeIamInstanceProfileAssociations</a> to get the association
* ID.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfile">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DisassociateIamInstanceProfileAsync(const Model::DisassociateIamInstanceProfileRequest& request, const DisassociateIamInstanceProfileResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Disassociates a subnet or gateway from a route table.</p> <p>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 <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html">Route
* Tables</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTable">AWS
* API Reference</a></p>
*/
virtual Model::DisassociateRouteTableOutcome DisassociateRouteTable(const Model::DisassociateRouteTableRequest& request) const;
/**
* <p>Disassociates a subnet or gateway from a route table.</p> <p>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 <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html">Route
* Tables</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTable">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DisassociateRouteTableOutcomeCallable DisassociateRouteTableCallable(const Model::DisassociateRouteTableRequest& request) const;
/**
* <p>Disassociates a subnet or gateway from a route table.</p> <p>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 <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html">Route
* Tables</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTable">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DisassociateRouteTableAsync(const Model::DisassociateRouteTableRequest& request, const DisassociateRouteTableResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.
* </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlock">AWS
* API Reference</a></p>
*/
virtual Model::DisassociateSubnetCidrBlockOutcome DisassociateSubnetCidrBlock(const Model::DisassociateSubnetCidrBlockRequest& request) const;
/**
* <p>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.
* </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlock">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DisassociateSubnetCidrBlockOutcomeCallable DisassociateSubnetCidrBlockCallable(const Model::DisassociateSubnetCidrBlockRequest& request) const;
/**
* <p>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.
* </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlock">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DisassociateSubnetCidrBlockAsync(const Model::DisassociateSubnetCidrBlockRequest& request, const DisassociateSubnetCidrBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Disassociates the specified subnets from the transit gateway multicast
* domain. </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateTransitGatewayMulticastDomain">AWS
* API Reference</a></p>
*/
virtual Model::DisassociateTransitGatewayMulticastDomainOutcome DisassociateTransitGatewayMulticastDomain(const Model::DisassociateTransitGatewayMulticastDomainRequest& request) const;
/**
* <p>Disassociates the specified subnets from the transit gateway multicast
* domain. </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateTransitGatewayMulticastDomain">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DisassociateTransitGatewayMulticastDomainOutcomeCallable DisassociateTransitGatewayMulticastDomainCallable(const Model::DisassociateTransitGatewayMulticastDomainRequest& request) const;
/**
* <p>Disassociates the specified subnets from the transit gateway multicast
* domain. </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateTransitGatewayMulticastDomain">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DisassociateTransitGatewayMulticastDomainAsync(const Model::DisassociateTransitGatewayMulticastDomainRequest& request, const DisassociateTransitGatewayMulticastDomainResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Disassociates a resource attachment from a transit gateway route
* table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateTransitGatewayRouteTable">AWS
* API Reference</a></p>
*/
virtual Model::DisassociateTransitGatewayRouteTableOutcome DisassociateTransitGatewayRouteTable(const Model::DisassociateTransitGatewayRouteTableRequest& request) const;
/**
* <p>Disassociates a resource attachment from a transit gateway route
* table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateTransitGatewayRouteTable">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DisassociateTransitGatewayRouteTableOutcomeCallable DisassociateTransitGatewayRouteTableCallable(const Model::DisassociateTransitGatewayRouteTableRequest& request) const;
/**
* <p>Disassociates a resource attachment from a transit gateway route
* table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateTransitGatewayRouteTable">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DisassociateTransitGatewayRouteTableAsync(const Model::DisassociateTransitGatewayRouteTableRequest& request, const DisassociateTransitGatewayRouteTableResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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
* <a>DescribeVpcs</a>. You must detach or delete all gateways and resources that
* are associated with the CIDR block before you can disassociate it. </p> <p>You
* cannot disassociate the CIDR block with which you originally created the VPC
* (the primary CIDR block).</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlock">AWS
* API Reference</a></p>
*/
virtual Model::DisassociateVpcCidrBlockOutcome DisassociateVpcCidrBlock(const Model::DisassociateVpcCidrBlockRequest& request) const;
/**
* <p>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
* <a>DescribeVpcs</a>. You must detach or delete all gateways and resources that
* are associated with the CIDR block before you can disassociate it. </p> <p>You
* cannot disassociate the CIDR block with which you originally created the VPC
* (the primary CIDR block).</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlock">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DisassociateVpcCidrBlockOutcomeCallable DisassociateVpcCidrBlockCallable(const Model::DisassociateVpcCidrBlockRequest& request) const;
/**
* <p>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
* <a>DescribeVpcs</a>. You must detach or delete all gateways and resources that
* are associated with the CIDR block before you can disassociate it. </p> <p>You
* cannot disassociate the CIDR block with which you originally created the VPC
* (the primary CIDR block).</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlock">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DisassociateVpcCidrBlockAsync(const Model::DisassociateVpcCidrBlockRequest& request, const DisassociateVpcCidrBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Enables EBS encryption by default for your account in the current Region.</p>
* <p>After you enable encryption by default, the EBS volumes that you create are
* are always encrypted, either using the default CMK or the CMK that you specified
* when you created each volume. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html">Amazon
* EBS Encryption</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* <p>You can specify the default CMK for encryption by default using
* <a>ModifyEbsDefaultKmsKeyId</a> or <a>ResetEbsDefaultKmsKeyId</a>.</p>
* <p>Enabling encryption by default has no effect on the encryption status of your
* existing volumes.</p> <p>After you enable encryption by default, you can no
* longer launch instances using instance types that do not support encryption. For
* more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances">Supported
* instance types</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableEbsEncryptionByDefault">AWS
* API Reference</a></p>
*/
virtual Model::EnableEbsEncryptionByDefaultOutcome EnableEbsEncryptionByDefault(const Model::EnableEbsEncryptionByDefaultRequest& request) const;
/**
* <p>Enables EBS encryption by default for your account in the current Region.</p>
* <p>After you enable encryption by default, the EBS volumes that you create are
* are always encrypted, either using the default CMK or the CMK that you specified
* when you created each volume. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html">Amazon
* EBS Encryption</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* <p>You can specify the default CMK for encryption by default using
* <a>ModifyEbsDefaultKmsKeyId</a> or <a>ResetEbsDefaultKmsKeyId</a>.</p>
* <p>Enabling encryption by default has no effect on the encryption status of your
* existing volumes.</p> <p>After you enable encryption by default, you can no
* longer launch instances using instance types that do not support encryption. For
* more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances">Supported
* instance types</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableEbsEncryptionByDefault">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::EnableEbsEncryptionByDefaultOutcomeCallable EnableEbsEncryptionByDefaultCallable(const Model::EnableEbsEncryptionByDefaultRequest& request) const;
/**
* <p>Enables EBS encryption by default for your account in the current Region.</p>
* <p>After you enable encryption by default, the EBS volumes that you create are
* are always encrypted, either using the default CMK or the CMK that you specified
* when you created each volume. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html">Amazon
* EBS Encryption</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* <p>You can specify the default CMK for encryption by default using
* <a>ModifyEbsDefaultKmsKeyId</a> or <a>ResetEbsDefaultKmsKeyId</a>.</p>
* <p>Enabling encryption by default has no effect on the encryption status of your
* existing volumes.</p> <p>After you enable encryption by default, you can no
* longer launch instances using instance types that do not support encryption. For
* more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances">Supported
* instance types</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableEbsEncryptionByDefault">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void EnableEbsEncryptionByDefaultAsync(const Model::EnableEbsEncryptionByDefaultRequest& request, const EnableEbsEncryptionByDefaultResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Enables fast snapshot restores for the specified snapshots in the specified
* Availability Zones.</p> <p>You get the full benefit of fast snapshot restores
* after they enter the <code>enabled</code> state. To get the current state of
* fast snapshot restores, use <a>DescribeFastSnapshotRestores</a>. To disable fast
* snapshot restores, use <a>DisableFastSnapshotRestores</a>.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-fast-snapshot-restore.html">Amazon
* EBS fast snapshot restore</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableFastSnapshotRestores">AWS
* API Reference</a></p>
*/
virtual Model::EnableFastSnapshotRestoresOutcome EnableFastSnapshotRestores(const Model::EnableFastSnapshotRestoresRequest& request) const;
/**
* <p>Enables fast snapshot restores for the specified snapshots in the specified
* Availability Zones.</p> <p>You get the full benefit of fast snapshot restores
* after they enter the <code>enabled</code> state. To get the current state of
* fast snapshot restores, use <a>DescribeFastSnapshotRestores</a>. To disable fast
* snapshot restores, use <a>DisableFastSnapshotRestores</a>.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-fast-snapshot-restore.html">Amazon
* EBS fast snapshot restore</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableFastSnapshotRestores">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::EnableFastSnapshotRestoresOutcomeCallable EnableFastSnapshotRestoresCallable(const Model::EnableFastSnapshotRestoresRequest& request) const;
/**
* <p>Enables fast snapshot restores for the specified snapshots in the specified
* Availability Zones.</p> <p>You get the full benefit of fast snapshot restores
* after they enter the <code>enabled</code> state. To get the current state of
* fast snapshot restores, use <a>DescribeFastSnapshotRestores</a>. To disable fast
* snapshot restores, use <a>DisableFastSnapshotRestores</a>.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-fast-snapshot-restore.html">Amazon
* EBS fast snapshot restore</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableFastSnapshotRestores">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void EnableFastSnapshotRestoresAsync(const Model::EnableFastSnapshotRestoresRequest& request, const EnableFastSnapshotRestoresResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Enables the specified attachment to propagate routes to the specified
* propagation route table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableTransitGatewayRouteTablePropagation">AWS
* API Reference</a></p>
*/
virtual Model::EnableTransitGatewayRouteTablePropagationOutcome EnableTransitGatewayRouteTablePropagation(const Model::EnableTransitGatewayRouteTablePropagationRequest& request) const;
/**
* <p>Enables the specified attachment to propagate routes to the specified
* propagation route table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableTransitGatewayRouteTablePropagation">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::EnableTransitGatewayRouteTablePropagationOutcomeCallable EnableTransitGatewayRouteTablePropagationCallable(const Model::EnableTransitGatewayRouteTablePropagationRequest& request) const;
/**
* <p>Enables the specified attachment to propagate routes to the specified
* propagation route table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableTransitGatewayRouteTablePropagation">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void EnableTransitGatewayRouteTablePropagationAsync(const Model::EnableTransitGatewayRouteTablePropagationRequest& request, const EnableTransitGatewayRouteTablePropagationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Enables a virtual private gateway (VGW) to propagate routes to the specified
* route table of a VPC.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagation">AWS
* API Reference</a></p>
*/
virtual Model::EnableVgwRoutePropagationOutcome EnableVgwRoutePropagation(const Model::EnableVgwRoutePropagationRequest& request) const;
/**
* <p>Enables a virtual private gateway (VGW) to propagate routes to the specified
* route table of a VPC.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagation">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::EnableVgwRoutePropagationOutcomeCallable EnableVgwRoutePropagationCallable(const Model::EnableVgwRoutePropagationRequest& request) const;
/**
* <p>Enables a virtual private gateway (VGW) to propagate routes to the specified
* route table of a VPC.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagation">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void EnableVgwRoutePropagationAsync(const Model::EnableVgwRoutePropagationRequest& request, const EnableVgwRoutePropagationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Enables I/O operations for a volume that had I/O operations disabled because
* the data on the volume was potentially inconsistent.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIO">AWS
* API Reference</a></p>
*/
virtual Model::EnableVolumeIOOutcome EnableVolumeIO(const Model::EnableVolumeIORequest& request) const;
/**
* <p>Enables I/O operations for a volume that had I/O operations disabled because
* the data on the volume was potentially inconsistent.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIO">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::EnableVolumeIOOutcomeCallable EnableVolumeIOCallable(const Model::EnableVolumeIORequest& request) const;
/**
* <p>Enables I/O operations for a volume that had I/O operations disabled because
* the data on the volume was potentially inconsistent.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIO">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void EnableVolumeIOAsync(const Model::EnableVolumeIORequest& request, const EnableVolumeIOResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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 <code>10.0.0.0/8</code> IP address
* range, excluding local routes for VPCs in the <code>10.0.0.0/16</code> and
* <code>10.1.0.0/16</code> IP address ranges. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html">ClassicLink</a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLink">AWS
* API Reference</a></p>
*/
virtual Model::EnableVpcClassicLinkOutcome EnableVpcClassicLink(const Model::EnableVpcClassicLinkRequest& request) const;
/**
* <p>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 <code>10.0.0.0/8</code> IP address
* range, excluding local routes for VPCs in the <code>10.0.0.0/16</code> and
* <code>10.1.0.0/16</code> IP address ranges. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html">ClassicLink</a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLink">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::EnableVpcClassicLinkOutcomeCallable EnableVpcClassicLinkCallable(const Model::EnableVpcClassicLinkRequest& request) const;
/**
* <p>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 <code>10.0.0.0/8</code> IP address
* range, excluding local routes for VPCs in the <code>10.0.0.0/16</code> and
* <code>10.1.0.0/16</code> IP address ranges. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html">ClassicLink</a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLink">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void EnableVpcClassicLinkAsync(const Model::EnableVpcClassicLinkRequest& request, const EnableVpcClassicLinkResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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. For more information,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html">ClassicLink</a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> <p>You must specify a
* VPC ID in the request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupport">AWS
* API Reference</a></p>
*/
virtual Model::EnableVpcClassicLinkDnsSupportOutcome EnableVpcClassicLinkDnsSupport(const Model::EnableVpcClassicLinkDnsSupportRequest& request) const;
/**
* <p>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. For more information,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html">ClassicLink</a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> <p>You must specify a
* VPC ID in the request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupport">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::EnableVpcClassicLinkDnsSupportOutcomeCallable EnableVpcClassicLinkDnsSupportCallable(const Model::EnableVpcClassicLinkDnsSupportRequest& request) const;
/**
* <p>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. For more information,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html">ClassicLink</a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> <p>You must specify a
* VPC ID in the request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupport">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void EnableVpcClassicLinkDnsSupportAsync(const Model::EnableVpcClassicLinkDnsSupportRequest& request, const EnableVpcClassicLinkDnsSupportResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Downloads the client certificate revocation list for the specified Client VPN
* endpoint.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientCertificateRevocationList">AWS
* API Reference</a></p>
*/
virtual Model::ExportClientVpnClientCertificateRevocationListOutcome ExportClientVpnClientCertificateRevocationList(const Model::ExportClientVpnClientCertificateRevocationListRequest& request) const;
/**
* <p>Downloads the client certificate revocation list for the specified Client VPN
* endpoint.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientCertificateRevocationList">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ExportClientVpnClientCertificateRevocationListOutcomeCallable ExportClientVpnClientCertificateRevocationListCallable(const Model::ExportClientVpnClientCertificateRevocationListRequest& request) const;
/**
* <p>Downloads the client certificate revocation list for the specified Client VPN
* endpoint.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientCertificateRevocationList">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ExportClientVpnClientCertificateRevocationListAsync(const Model::ExportClientVpnClientCertificateRevocationListRequest& request, const ExportClientVpnClientCertificateRevocationListResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientConfiguration">AWS
* API Reference</a></p>
*/
virtual Model::ExportClientVpnClientConfigurationOutcome ExportClientVpnClientConfiguration(const Model::ExportClientVpnClientConfigurationRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientConfiguration">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ExportClientVpnClientConfigurationOutcomeCallable ExportClientVpnClientConfigurationCallable(const Model::ExportClientVpnClientConfigurationRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientConfiguration">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ExportClientVpnClientConfigurationAsync(const Model::ExportClientVpnClientConfigurationRequest& request, const ExportClientVpnClientConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Exports an Amazon Machine Image (AMI) to a VM file. For more information, see
* <a
* href="https://docs.aws.amazon.com/vm-import/latest/userguide/vmexport_image.html">Exporting
* a VM Directory from an Amazon Machine Image (AMI)</a> in the <i>VM Import/Export
* User Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportImage">AWS API
* Reference</a></p>
*/
virtual Model::ExportImageOutcome ExportImage(const Model::ExportImageRequest& request) const;
/**
* <p>Exports an Amazon Machine Image (AMI) to a VM file. For more information, see
* <a
* href="https://docs.aws.amazon.com/vm-import/latest/userguide/vmexport_image.html">Exporting
* a VM Directory from an Amazon Machine Image (AMI)</a> in the <i>VM Import/Export
* User Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportImage">AWS API
* Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ExportImageOutcomeCallable ExportImageCallable(const Model::ExportImageRequest& request) const;
/**
* <p>Exports an Amazon Machine Image (AMI) to a VM file. For more information, see
* <a
* href="https://docs.aws.amazon.com/vm-import/latest/userguide/vmexport_image.html">Exporting
* a VM Directory from an Amazon Machine Image (AMI)</a> in the <i>VM Import/Export
* User Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportImage">AWS API
* Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ExportImageAsync(const Model::ExportImageRequest& request, const ExportImageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p> <p>The routes are saved to the specified bucket in a
* JSON file. For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/tgw/tgw-route-tables.html#tgw-export-route-tables">Export
* Route Tables to Amazon S3</a> in <i>Transit Gateways</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportTransitGatewayRoutes">AWS
* API Reference</a></p>
*/
virtual Model::ExportTransitGatewayRoutesOutcome ExportTransitGatewayRoutes(const Model::ExportTransitGatewayRoutesRequest& request) const;
/**
* <p>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.</p> <p>The routes are saved to the specified bucket in a
* JSON file. For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/tgw/tgw-route-tables.html#tgw-export-route-tables">Export
* Route Tables to Amazon S3</a> in <i>Transit Gateways</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportTransitGatewayRoutes">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ExportTransitGatewayRoutesOutcomeCallable ExportTransitGatewayRoutesCallable(const Model::ExportTransitGatewayRoutesRequest& request) const;
/**
* <p>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.</p> <p>The routes are saved to the specified bucket in a
* JSON file. For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/tgw/tgw-route-tables.html#tgw-export-route-tables">Export
* Route Tables to Amazon S3</a> in <i>Transit Gateways</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportTransitGatewayRoutes">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ExportTransitGatewayRoutesAsync(const Model::ExportTransitGatewayRoutesRequest& request, const ExportTransitGatewayRoutesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Gets information about the IPv6 CIDR block associations for a specified IPv6
* address pool.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetAssociatedIpv6PoolCidrs">AWS
* API Reference</a></p>
*/
virtual Model::GetAssociatedIpv6PoolCidrsOutcome GetAssociatedIpv6PoolCidrs(const Model::GetAssociatedIpv6PoolCidrsRequest& request) const;
/**
* <p>Gets information about the IPv6 CIDR block associations for a specified IPv6
* address pool.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetAssociatedIpv6PoolCidrs">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetAssociatedIpv6PoolCidrsOutcomeCallable GetAssociatedIpv6PoolCidrsCallable(const Model::GetAssociatedIpv6PoolCidrsRequest& request) const;
/**
* <p>Gets information about the IPv6 CIDR block associations for a specified IPv6
* address pool.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetAssociatedIpv6PoolCidrs">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetAssociatedIpv6PoolCidrsAsync(const Model::GetAssociatedIpv6PoolCidrsRequest& request, const GetAssociatedIpv6PoolCidrsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Gets usage information about a Capacity Reservation. If the Capacity
* Reservation is shared, it shows usage information for the Capacity Reservation
* owner and each AWS account that is currently using the shared capacity. If the
* Capacity Reservation is not shared, it shows only the Capacity Reservation
* owner's usage.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetCapacityReservationUsage">AWS
* API Reference</a></p>
*/
virtual Model::GetCapacityReservationUsageOutcome GetCapacityReservationUsage(const Model::GetCapacityReservationUsageRequest& request) const;
/**
* <p>Gets usage information about a Capacity Reservation. If the Capacity
* Reservation is shared, it shows usage information for the Capacity Reservation
* owner and each AWS account that is currently using the shared capacity. If the
* Capacity Reservation is not shared, it shows only the Capacity Reservation
* owner's usage.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetCapacityReservationUsage">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetCapacityReservationUsageOutcomeCallable GetCapacityReservationUsageCallable(const Model::GetCapacityReservationUsageRequest& request) const;
/**
* <p>Gets usage information about a Capacity Reservation. If the Capacity
* Reservation is shared, it shows usage information for the Capacity Reservation
* owner and each AWS account that is currently using the shared capacity. If the
* Capacity Reservation is not shared, it shows only the Capacity Reservation
* owner's usage.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetCapacityReservationUsage">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetCapacityReservationUsageAsync(const Model::GetCapacityReservationUsageRequest& request, const GetCapacityReservationUsageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the allocations from the specified customer-owned address
* pool.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetCoipPoolUsage">AWS
* API Reference</a></p>
*/
virtual Model::GetCoipPoolUsageOutcome GetCoipPoolUsage(const Model::GetCoipPoolUsageRequest& request) const;
/**
* <p>Describes the allocations from the specified customer-owned address
* pool.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetCoipPoolUsage">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetCoipPoolUsageOutcomeCallable GetCoipPoolUsageCallable(const Model::GetCoipPoolUsageRequest& request) const;
/**
* <p>Describes the allocations from the specified customer-owned address
* pool.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetCoipPoolUsage">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetCoipPoolUsageAsync(const Model::GetCoipPoolUsageRequest& request, const GetCoipPoolUsageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p>
* <p>By default, the console output returns buffered information that was posted
* shortly after an instance transition state (start, stop, reboot, or terminate).
* This information is available for at least one hour after the most recent post.
* Only the most recent 64 KB of console output is available.</p> <p>You can
* optionally retrieve the latest serial console output at any time during the
* instance lifecycle. This option is supported on instance types that use the
* Nitro hypervisor.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html#instance-console-console-output">Instance
* Console Output</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutput">AWS
* API Reference</a></p>
*/
virtual Model::GetConsoleOutputOutcome GetConsoleOutput(const Model::GetConsoleOutputRequest& request) const;
/**
* <p>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.</p>
* <p>By default, the console output returns buffered information that was posted
* shortly after an instance transition state (start, stop, reboot, or terminate).
* This information is available for at least one hour after the most recent post.
* Only the most recent 64 KB of console output is available.</p> <p>You can
* optionally retrieve the latest serial console output at any time during the
* instance lifecycle. This option is supported on instance types that use the
* Nitro hypervisor.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html#instance-console-console-output">Instance
* Console Output</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutput">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetConsoleOutputOutcomeCallable GetConsoleOutputCallable(const Model::GetConsoleOutputRequest& request) const;
/**
* <p>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.</p>
* <p>By default, the console output returns buffered information that was posted
* shortly after an instance transition state (start, stop, reboot, or terminate).
* This information is available for at least one hour after the most recent post.
* Only the most recent 64 KB of console output is available.</p> <p>You can
* optionally retrieve the latest serial console output at any time during the
* instance lifecycle. This option is supported on instance types that use the
* Nitro hypervisor.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html#instance-console-console-output">Instance
* Console Output</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutput">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetConsoleOutputAsync(const Model::GetConsoleOutputRequest& request, const GetConsoleOutputResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Retrieve a JPG-format screenshot of a running instance to help with
* troubleshooting.</p> <p>The returned content is Base64-encoded.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshot">AWS
* API Reference</a></p>
*/
virtual Model::GetConsoleScreenshotOutcome GetConsoleScreenshot(const Model::GetConsoleScreenshotRequest& request) const;
/**
* <p>Retrieve a JPG-format screenshot of a running instance to help with
* troubleshooting.</p> <p>The returned content is Base64-encoded.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshot">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetConsoleScreenshotOutcomeCallable GetConsoleScreenshotCallable(const Model::GetConsoleScreenshotRequest& request) const;
/**
* <p>Retrieve a JPG-format screenshot of a running instance to help with
* troubleshooting.</p> <p>The returned content is Base64-encoded.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshot">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetConsoleScreenshotAsync(const Model::GetConsoleScreenshotRequest& request, const GetConsoleScreenshotResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the default credit option for CPU usage of a burstable performance
* instance family.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html">Burstable
* performance instances</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetDefaultCreditSpecification">AWS
* API Reference</a></p>
*/
virtual Model::GetDefaultCreditSpecificationOutcome GetDefaultCreditSpecification(const Model::GetDefaultCreditSpecificationRequest& request) const;
/**
* <p>Describes the default credit option for CPU usage of a burstable performance
* instance family.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html">Burstable
* performance instances</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetDefaultCreditSpecification">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetDefaultCreditSpecificationOutcomeCallable GetDefaultCreditSpecificationCallable(const Model::GetDefaultCreditSpecificationRequest& request) const;
/**
* <p>Describes the default credit option for CPU usage of a burstable performance
* instance family.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html">Burstable
* performance instances</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetDefaultCreditSpecification">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetDefaultCreditSpecificationAsync(const Model::GetDefaultCreditSpecificationRequest& request, const GetDefaultCreditSpecificationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes the default customer master key (CMK) for EBS encryption by default
* for your account in this Region. You can change the default CMK for encryption
* by default using <a>ModifyEbsDefaultKmsKeyId</a> or
* <a>ResetEbsDefaultKmsKeyId</a>.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html">Amazon
* EBS Encryption</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEbsDefaultKmsKeyId">AWS
* API Reference</a></p>
*/
virtual Model::GetEbsDefaultKmsKeyIdOutcome GetEbsDefaultKmsKeyId(const Model::GetEbsDefaultKmsKeyIdRequest& request) const;
/**
* <p>Describes the default customer master key (CMK) for EBS encryption by default
* for your account in this Region. You can change the default CMK for encryption
* by default using <a>ModifyEbsDefaultKmsKeyId</a> or
* <a>ResetEbsDefaultKmsKeyId</a>.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html">Amazon
* EBS Encryption</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEbsDefaultKmsKeyId">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetEbsDefaultKmsKeyIdOutcomeCallable GetEbsDefaultKmsKeyIdCallable(const Model::GetEbsDefaultKmsKeyIdRequest& request) const;
/**
* <p>Describes the default customer master key (CMK) for EBS encryption by default
* for your account in this Region. You can change the default CMK for encryption
* by default using <a>ModifyEbsDefaultKmsKeyId</a> or
* <a>ResetEbsDefaultKmsKeyId</a>.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html">Amazon
* EBS Encryption</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEbsDefaultKmsKeyId">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetEbsDefaultKmsKeyIdAsync(const Model::GetEbsDefaultKmsKeyIdRequest& request, const GetEbsDefaultKmsKeyIdResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes whether EBS encryption by default is enabled for your account in
* the current Region.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html">Amazon
* EBS Encryption</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEbsEncryptionByDefault">AWS
* API Reference</a></p>
*/
virtual Model::GetEbsEncryptionByDefaultOutcome GetEbsEncryptionByDefault(const Model::GetEbsEncryptionByDefaultRequest& request) const;
/**
* <p>Describes whether EBS encryption by default is enabled for your account in
* the current Region.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html">Amazon
* EBS Encryption</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEbsEncryptionByDefault">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetEbsEncryptionByDefaultOutcomeCallable GetEbsEncryptionByDefaultCallable(const Model::GetEbsEncryptionByDefaultRequest& request) const;
/**
* <p>Describes whether EBS encryption by default is enabled for your account in
* the current Region.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html">Amazon
* EBS Encryption</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEbsEncryptionByDefault">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetEbsEncryptionByDefaultAsync(const Model::GetEbsEncryptionByDefaultRequest& request, const GetEbsEncryptionByDefaultResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Lists the resource groups to which a Capacity Reservation has been
* added.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetGroupsForCapacityReservation">AWS
* API Reference</a></p>
*/
virtual Model::GetGroupsForCapacityReservationOutcome GetGroupsForCapacityReservation(const Model::GetGroupsForCapacityReservationRequest& request) const;
/**
* <p>Lists the resource groups to which a Capacity Reservation has been
* added.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetGroupsForCapacityReservation">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetGroupsForCapacityReservationOutcomeCallable GetGroupsForCapacityReservationCallable(const Model::GetGroupsForCapacityReservationRequest& request) const;
/**
* <p>Lists the resource groups to which a Capacity Reservation has been
* added.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetGroupsForCapacityReservation">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetGroupsForCapacityReservationAsync(const Model::GetGroupsForCapacityReservationRequest& request, const GetGroupsForCapacityReservationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p> <p>This is a preview of the
* <a>PurchaseHostReservation</a> action and does not result in the offering being
* purchased.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreview">AWS
* API Reference</a></p>
*/
virtual Model::GetHostReservationPurchasePreviewOutcome GetHostReservationPurchasePreview(const Model::GetHostReservationPurchasePreviewRequest& request) const;
/**
* <p>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.</p> <p>This is a preview of the
* <a>PurchaseHostReservation</a> action and does not result in the offering being
* purchased.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreview">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetHostReservationPurchasePreviewOutcomeCallable GetHostReservationPurchasePreviewCallable(const Model::GetHostReservationPurchasePreviewRequest& request) const;
/**
* <p>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.</p> <p>This is a preview of the
* <a>PurchaseHostReservation</a> action and does not result in the offering being
* purchased.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreview">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetHostReservationPurchasePreviewAsync(const Model::GetHostReservationPurchasePreviewRequest& request, const GetHostReservationPurchasePreviewResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Retrieves the configuration data of the specified instance. You can use this
* data to create a launch template. </p> <p>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, DescribeInstanceAttribute, and DescribeElasticGpus. Or, you can
* allow <code>describe*</code> depending on your instance
* requirements.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetLaunchTemplateData">AWS
* API Reference</a></p>
*/
virtual Model::GetLaunchTemplateDataOutcome GetLaunchTemplateData(const Model::GetLaunchTemplateDataRequest& request) const;
/**
* <p>Retrieves the configuration data of the specified instance. You can use this
* data to create a launch template. </p> <p>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, DescribeInstanceAttribute, and DescribeElasticGpus. Or, you can
* allow <code>describe*</code> depending on your instance
* requirements.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetLaunchTemplateData">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetLaunchTemplateDataOutcomeCallable GetLaunchTemplateDataCallable(const Model::GetLaunchTemplateDataRequest& request) const;
/**
* <p>Retrieves the configuration data of the specified instance. You can use this
* data to create a launch template. </p> <p>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, DescribeInstanceAttribute, and DescribeElasticGpus. Or, you can
* allow <code>describe*</code> depending on your instance
* requirements.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetLaunchTemplateData">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetLaunchTemplateDataAsync(const Model::GetLaunchTemplateDataRequest& request, const GetLaunchTemplateDataResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Gets information about the resources that are associated with the specified
* managed prefix list.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetManagedPrefixListAssociations">AWS
* API Reference</a></p>
*/
virtual Model::GetManagedPrefixListAssociationsOutcome GetManagedPrefixListAssociations(const Model::GetManagedPrefixListAssociationsRequest& request) const;
/**
* <p>Gets information about the resources that are associated with the specified
* managed prefix list.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetManagedPrefixListAssociations">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetManagedPrefixListAssociationsOutcomeCallable GetManagedPrefixListAssociationsCallable(const Model::GetManagedPrefixListAssociationsRequest& request) const;
/**
* <p>Gets information about the resources that are associated with the specified
* managed prefix list.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetManagedPrefixListAssociations">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetManagedPrefixListAssociationsAsync(const Model::GetManagedPrefixListAssociationsRequest& request, const GetManagedPrefixListAssociationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Gets information about the entries for a specified managed prefix
* list.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetManagedPrefixListEntries">AWS
* API Reference</a></p>
*/
virtual Model::GetManagedPrefixListEntriesOutcome GetManagedPrefixListEntries(const Model::GetManagedPrefixListEntriesRequest& request) const;
/**
* <p>Gets information about the entries for a specified managed prefix
* list.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetManagedPrefixListEntries">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetManagedPrefixListEntriesOutcomeCallable GetManagedPrefixListEntriesCallable(const Model::GetManagedPrefixListEntriesRequest& request) const;
/**
* <p>Gets information about the entries for a specified managed prefix
* list.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetManagedPrefixListEntries">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetManagedPrefixListEntriesAsync(const Model::GetManagedPrefixListEntriesRequest& request, const GetManagedPrefixListEntriesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Retrieves the encrypted administrator password for a running Windows
* instance.</p> <p>The Windows password is generated at boot by the
* <code>EC2Config</code> service or <code>EC2Launch</code> scripts (Windows Server
* 2016 and later). This usually only happens the first time an instance is
* launched. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/UsingConfig_WinAMI.html">EC2Config</a>
* and <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2launch.html">EC2Launch</a>
* in the Amazon Elastic Compute Cloud User Guide.</p> <p>For the
* <code>EC2Config</code> service, the password is not generated for rebundled AMIs
* unless <code>Ec2SetPassword</code> is enabled before bundling.</p> <p>The
* password is encrypted using the key pair that you specified when you launched
* the instance. You must provide the corresponding key pair file.</p> <p>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.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordData">AWS
* API Reference</a></p>
*/
virtual Model::GetPasswordDataOutcome GetPasswordData(const Model::GetPasswordDataRequest& request) const;
/**
* <p>Retrieves the encrypted administrator password for a running Windows
* instance.</p> <p>The Windows password is generated at boot by the
* <code>EC2Config</code> service or <code>EC2Launch</code> scripts (Windows Server
* 2016 and later). This usually only happens the first time an instance is
* launched. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/UsingConfig_WinAMI.html">EC2Config</a>
* and <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2launch.html">EC2Launch</a>
* in the Amazon Elastic Compute Cloud User Guide.</p> <p>For the
* <code>EC2Config</code> service, the password is not generated for rebundled AMIs
* unless <code>Ec2SetPassword</code> is enabled before bundling.</p> <p>The
* password is encrypted using the key pair that you specified when you launched
* the instance. You must provide the corresponding key pair file.</p> <p>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.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordData">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetPasswordDataOutcomeCallable GetPasswordDataCallable(const Model::GetPasswordDataRequest& request) const;
/**
* <p>Retrieves the encrypted administrator password for a running Windows
* instance.</p> <p>The Windows password is generated at boot by the
* <code>EC2Config</code> service or <code>EC2Launch</code> scripts (Windows Server
* 2016 and later). This usually only happens the first time an instance is
* launched. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/UsingConfig_WinAMI.html">EC2Config</a>
* and <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2launch.html">EC2Launch</a>
* in the Amazon Elastic Compute Cloud User Guide.</p> <p>For the
* <code>EC2Config</code> service, the password is not generated for rebundled AMIs
* unless <code>Ec2SetPassword</code> is enabled before bundling.</p> <p>The
* password is encrypted using the key pair that you specified when you launched
* the instance. You must provide the corresponding key pair file.</p> <p>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.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordData">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetPasswordDataAsync(const Model::GetPasswordDataRequest& request, const GetPasswordDataResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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
* <a>AcceptReservedInstancesExchangeQuote</a> to perform the
* exchange.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuote">AWS
* API Reference</a></p>
*/
virtual Model::GetReservedInstancesExchangeQuoteOutcome GetReservedInstancesExchangeQuote(const Model::GetReservedInstancesExchangeQuoteRequest& request) const;
/**
* <p>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
* <a>AcceptReservedInstancesExchangeQuote</a> to perform the
* exchange.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuote">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetReservedInstancesExchangeQuoteOutcomeCallable GetReservedInstancesExchangeQuoteCallable(const Model::GetReservedInstancesExchangeQuoteRequest& request) const;
/**
* <p>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
* <a>AcceptReservedInstancesExchangeQuote</a> to perform the
* exchange.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuote">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetReservedInstancesExchangeQuoteAsync(const Model::GetReservedInstancesExchangeQuoteRequest& request, const GetReservedInstancesExchangeQuoteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Lists the route tables to which the specified resource attachment propagates
* routes.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayAttachmentPropagations">AWS
* API Reference</a></p>
*/
virtual Model::GetTransitGatewayAttachmentPropagationsOutcome GetTransitGatewayAttachmentPropagations(const Model::GetTransitGatewayAttachmentPropagationsRequest& request) const;
/**
* <p>Lists the route tables to which the specified resource attachment propagates
* routes.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayAttachmentPropagations">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetTransitGatewayAttachmentPropagationsOutcomeCallable GetTransitGatewayAttachmentPropagationsCallable(const Model::GetTransitGatewayAttachmentPropagationsRequest& request) const;
/**
* <p>Lists the route tables to which the specified resource attachment propagates
* routes.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayAttachmentPropagations">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetTransitGatewayAttachmentPropagationsAsync(const Model::GetTransitGatewayAttachmentPropagationsRequest& request, const GetTransitGatewayAttachmentPropagationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Gets information about the associations for the transit gateway multicast
* domain.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayMulticastDomainAssociations">AWS
* API Reference</a></p>
*/
virtual Model::GetTransitGatewayMulticastDomainAssociationsOutcome GetTransitGatewayMulticastDomainAssociations(const Model::GetTransitGatewayMulticastDomainAssociationsRequest& request) const;
/**
* <p>Gets information about the associations for the transit gateway multicast
* domain.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayMulticastDomainAssociations">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetTransitGatewayMulticastDomainAssociationsOutcomeCallable GetTransitGatewayMulticastDomainAssociationsCallable(const Model::GetTransitGatewayMulticastDomainAssociationsRequest& request) const;
/**
* <p>Gets information about the associations for the transit gateway multicast
* domain.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayMulticastDomainAssociations">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetTransitGatewayMulticastDomainAssociationsAsync(const Model::GetTransitGatewayMulticastDomainAssociationsRequest& request, const GetTransitGatewayMulticastDomainAssociationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Gets information about the prefix list references in a specified transit
* gateway route table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayPrefixListReferences">AWS
* API Reference</a></p>
*/
virtual Model::GetTransitGatewayPrefixListReferencesOutcome GetTransitGatewayPrefixListReferences(const Model::GetTransitGatewayPrefixListReferencesRequest& request) const;
/**
* <p>Gets information about the prefix list references in a specified transit
* gateway route table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayPrefixListReferences">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetTransitGatewayPrefixListReferencesOutcomeCallable GetTransitGatewayPrefixListReferencesCallable(const Model::GetTransitGatewayPrefixListReferencesRequest& request) const;
/**
* <p>Gets information about the prefix list references in a specified transit
* gateway route table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayPrefixListReferences">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetTransitGatewayPrefixListReferencesAsync(const Model::GetTransitGatewayPrefixListReferencesRequest& request, const GetTransitGatewayPrefixListReferencesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Gets information about the associations for the specified transit gateway
* route table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayRouteTableAssociations">AWS
* API Reference</a></p>
*/
virtual Model::GetTransitGatewayRouteTableAssociationsOutcome GetTransitGatewayRouteTableAssociations(const Model::GetTransitGatewayRouteTableAssociationsRequest& request) const;
/**
* <p>Gets information about the associations for the specified transit gateway
* route table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayRouteTableAssociations">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetTransitGatewayRouteTableAssociationsOutcomeCallable GetTransitGatewayRouteTableAssociationsCallable(const Model::GetTransitGatewayRouteTableAssociationsRequest& request) const;
/**
* <p>Gets information about the associations for the specified transit gateway
* route table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayRouteTableAssociations">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetTransitGatewayRouteTableAssociationsAsync(const Model::GetTransitGatewayRouteTableAssociationsRequest& request, const GetTransitGatewayRouteTableAssociationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Gets information about the route table propagations for the specified transit
* gateway route table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayRouteTablePropagations">AWS
* API Reference</a></p>
*/
virtual Model::GetTransitGatewayRouteTablePropagationsOutcome GetTransitGatewayRouteTablePropagations(const Model::GetTransitGatewayRouteTablePropagationsRequest& request) const;
/**
* <p>Gets information about the route table propagations for the specified transit
* gateway route table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayRouteTablePropagations">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetTransitGatewayRouteTablePropagationsOutcomeCallable GetTransitGatewayRouteTablePropagationsCallable(const Model::GetTransitGatewayRouteTablePropagationsRequest& request) const;
/**
* <p>Gets information about the route table propagations for the specified transit
* gateway route table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayRouteTablePropagations">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetTransitGatewayRouteTablePropagationsAsync(const Model::GetTransitGatewayRouteTablePropagationsRequest& request, const GetTransitGatewayRouteTablePropagationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p> <p>Uploading a client certificate
* revocation list resets existing client connections.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportClientVpnClientCertificateRevocationList">AWS
* API Reference</a></p>
*/
virtual Model::ImportClientVpnClientCertificateRevocationListOutcome ImportClientVpnClientCertificateRevocationList(const Model::ImportClientVpnClientCertificateRevocationListRequest& request) const;
/**
* <p>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.</p> <p>Uploading a client certificate
* revocation list resets existing client connections.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportClientVpnClientCertificateRevocationList">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ImportClientVpnClientCertificateRevocationListOutcomeCallable ImportClientVpnClientCertificateRevocationListCallable(const Model::ImportClientVpnClientCertificateRevocationListRequest& request) const;
/**
* <p>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.</p> <p>Uploading a client certificate
* revocation list resets existing client connections.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportClientVpnClientCertificateRevocationList">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ImportClientVpnClientCertificateRevocationListAsync(const Model::ImportClientVpnClientCertificateRevocationListRequest& request, const ImportClientVpnClientCertificateRevocationListResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Import single or multi-volume disk images or EBS snapshots into an Amazon
* Machine Image (AMI). For more information, see <a
* href="https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html">Importing
* a VM as an Image Using VM Import/Export</a> in the <i>VM Import/Export User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImage">AWS API
* Reference</a></p>
*/
virtual Model::ImportImageOutcome ImportImage(const Model::ImportImageRequest& request) const;
/**
* <p>Import single or multi-volume disk images or EBS snapshots into an Amazon
* Machine Image (AMI). For more information, see <a
* href="https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html">Importing
* a VM as an Image Using VM Import/Export</a> in the <i>VM Import/Export User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImage">AWS API
* Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ImportImageOutcomeCallable ImportImageCallable(const Model::ImportImageRequest& request) const;
/**
* <p>Import single or multi-volume disk images or EBS snapshots into an Amazon
* Machine Image (AMI). For more information, see <a
* href="https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html">Importing
* a VM as an Image Using VM Import/Export</a> in the <i>VM Import/Export User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImage">AWS API
* Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ImportImageAsync(const Model::ImportImageRequest& request, const ImportImageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates an import instance task using metadata from the specified disk image.
* <code>ImportInstance</code> only supports single-volume VMs. To import
* multi-volume VMs, use <a>ImportImage</a>. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html">Importing
* a Virtual Machine Using the Amazon EC2 CLI</a>.</p> <p>For information about the
* import manifest referenced by this API action, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html">VM
* Import Manifest</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstance">AWS
* API Reference</a></p>
*/
virtual Model::ImportInstanceOutcome ImportInstance(const Model::ImportInstanceRequest& request) const;
/**
* <p>Creates an import instance task using metadata from the specified disk image.
* <code>ImportInstance</code> only supports single-volume VMs. To import
* multi-volume VMs, use <a>ImportImage</a>. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html">Importing
* a Virtual Machine Using the Amazon EC2 CLI</a>.</p> <p>For information about the
* import manifest referenced by this API action, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html">VM
* Import Manifest</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstance">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ImportInstanceOutcomeCallable ImportInstanceCallable(const Model::ImportInstanceRequest& request) const;
/**
* <p>Creates an import instance task using metadata from the specified disk image.
* <code>ImportInstance</code> only supports single-volume VMs. To import
* multi-volume VMs, use <a>ImportImage</a>. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html">Importing
* a Virtual Machine Using the Amazon EC2 CLI</a>.</p> <p>For information about the
* import manifest referenced by this API action, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html">VM
* Import Manifest</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstance">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ImportInstanceAsync(const Model::ImportInstanceRequest& request, const ImportInstanceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Imports the public key from an RSA key pair that you created with a
* third-party tool. Compare this with <a>CreateKeyPair</a>, in which AWS creates
* the key pair and gives the keys to you (AWS keeps a copy of the public key).
* With ImportKeyPair, you create the key pair and give AWS just the public key.
* The private key is never transferred between you and AWS.</p> <p>For more
* information about key pairs, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html">Key
* Pairs</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPair">AWS
* API Reference</a></p>
*/
virtual Model::ImportKeyPairOutcome ImportKeyPair(const Model::ImportKeyPairRequest& request) const;
/**
* <p>Imports the public key from an RSA key pair that you created with a
* third-party tool. Compare this with <a>CreateKeyPair</a>, in which AWS creates
* the key pair and gives the keys to you (AWS keeps a copy of the public key).
* With ImportKeyPair, you create the key pair and give AWS just the public key.
* The private key is never transferred between you and AWS.</p> <p>For more
* information about key pairs, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html">Key
* Pairs</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPair">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ImportKeyPairOutcomeCallable ImportKeyPairCallable(const Model::ImportKeyPairRequest& request) const;
/**
* <p>Imports the public key from an RSA key pair that you created with a
* third-party tool. Compare this with <a>CreateKeyPair</a>, in which AWS creates
* the key pair and gives the keys to you (AWS keeps a copy of the public key).
* With ImportKeyPair, you create the key pair and give AWS just the public key.
* The private key is never transferred between you and AWS.</p> <p>For more
* information about key pairs, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html">Key
* Pairs</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPair">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ImportKeyPairAsync(const Model::ImportKeyPairRequest& request, const ImportKeyPairResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Imports a disk into an EBS snapshot.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshot">AWS
* API Reference</a></p>
*/
virtual Model::ImportSnapshotOutcome ImportSnapshot(const Model::ImportSnapshotRequest& request) const;
/**
* <p>Imports a disk into an EBS snapshot.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshot">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ImportSnapshotOutcomeCallable ImportSnapshotCallable(const Model::ImportSnapshotRequest& request) const;
/**
* <p>Imports a disk into an EBS snapshot.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshot">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ImportSnapshotAsync(const Model::ImportSnapshotRequest& request, const ImportSnapshotResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates an import volume task using metadata from the specified disk
* image.For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/importing-your-volumes-into-amazon-ebs.html">Importing
* Disks to Amazon EBS</a>.</p> <p>For information about the import manifest
* referenced by this API action, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html">VM
* Import Manifest</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolume">AWS
* API Reference</a></p>
*/
virtual Model::ImportVolumeOutcome ImportVolume(const Model::ImportVolumeRequest& request) const;
/**
* <p>Creates an import volume task using metadata from the specified disk
* image.For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/importing-your-volumes-into-amazon-ebs.html">Importing
* Disks to Amazon EBS</a>.</p> <p>For information about the import manifest
* referenced by this API action, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html">VM
* Import Manifest</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolume">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ImportVolumeOutcomeCallable ImportVolumeCallable(const Model::ImportVolumeRequest& request) const;
/**
* <p>Creates an import volume task using metadata from the specified disk
* image.For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/importing-your-volumes-into-amazon-ebs.html">Importing
* Disks to Amazon EBS</a>.</p> <p>For information about the import manifest
* referenced by this API action, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html">VM
* Import Manifest</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolume">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ImportVolumeAsync(const Model::ImportVolumeRequest& request, const ImportVolumeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Changes the opt-in status of the Local Zone and Wavelength Zone group for
* your account.</p> <p>Use <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html">
* DescribeAvailabilityZones</a> to view the value for
* <code>GroupName</code>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyAvailabilityZoneGroup">AWS
* API Reference</a></p>
*/
virtual Model::ModifyAvailabilityZoneGroupOutcome ModifyAvailabilityZoneGroup(const Model::ModifyAvailabilityZoneGroupRequest& request) const;
/**
* <p>Changes the opt-in status of the Local Zone and Wavelength Zone group for
* your account.</p> <p>Use <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html">
* DescribeAvailabilityZones</a> to view the value for
* <code>GroupName</code>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyAvailabilityZoneGroup">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyAvailabilityZoneGroupOutcomeCallable ModifyAvailabilityZoneGroupCallable(const Model::ModifyAvailabilityZoneGroupRequest& request) const;
/**
* <p>Changes the opt-in status of the Local Zone and Wavelength Zone group for
* your account.</p> <p>Use <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html">
* DescribeAvailabilityZones</a> to view the value for
* <code>GroupName</code>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyAvailabilityZoneGroup">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyAvailabilityZoneGroupAsync(const Model::ModifyAvailabilityZoneGroupRequest& request, const ModifyAvailabilityZoneGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Modifies a Capacity Reservation's capacity and the conditions under which it
* is to be released. You cannot change a Capacity Reservation's instance type, EBS
* optimization, instance store settings, platform, Availability Zone, or instance
* eligibility. 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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyCapacityReservation">AWS
* API Reference</a></p>
*/
virtual Model::ModifyCapacityReservationOutcome ModifyCapacityReservation(const Model::ModifyCapacityReservationRequest& request) const;
/**
* <p>Modifies a Capacity Reservation's capacity and the conditions under which it
* is to be released. You cannot change a Capacity Reservation's instance type, EBS
* optimization, instance store settings, platform, Availability Zone, or instance
* eligibility. 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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyCapacityReservation">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyCapacityReservationOutcomeCallable ModifyCapacityReservationCallable(const Model::ModifyCapacityReservationRequest& request) const;
/**
* <p>Modifies a Capacity Reservation's capacity and the conditions under which it
* is to be released. You cannot change a Capacity Reservation's instance type, EBS
* optimization, instance store settings, platform, Availability Zone, or instance
* eligibility. 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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyCapacityReservation">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyCapacityReservationAsync(const Model::ModifyCapacityReservationRequest& request, const ModifyCapacityReservationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Modifies the specified Client VPN endpoint. Modifying the DNS server resets
* existing client connections.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyClientVpnEndpoint">AWS
* API Reference</a></p>
*/
virtual Model::ModifyClientVpnEndpointOutcome ModifyClientVpnEndpoint(const Model::ModifyClientVpnEndpointRequest& request) const;
/**
* <p>Modifies the specified Client VPN endpoint. Modifying the DNS server resets
* existing client connections.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyClientVpnEndpoint">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyClientVpnEndpointOutcomeCallable ModifyClientVpnEndpointCallable(const Model::ModifyClientVpnEndpointRequest& request) const;
/**
* <p>Modifies the specified Client VPN endpoint. Modifying the DNS server resets
* existing client connections.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyClientVpnEndpoint">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyClientVpnEndpointAsync(const Model::ModifyClientVpnEndpointRequest& request, const ModifyClientVpnEndpointResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Modifies the default credit option for CPU usage of burstable performance
* instances. The default credit option is set at the account level per AWS Region,
* and is specified per instance family. All new burstable performance instances in
* the account launch using the default credit option.</p> <p>
* <code>ModifyDefaultCreditSpecification</code> is an asynchronous operation,
* which works at an AWS 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 <code>GetDefaultCreditSpecification</code> and check
* <code>DefaultCreditSpecification</code> for updates.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html">Burstable
* performance instances</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyDefaultCreditSpecification">AWS
* API Reference</a></p>
*/
virtual Model::ModifyDefaultCreditSpecificationOutcome ModifyDefaultCreditSpecification(const Model::ModifyDefaultCreditSpecificationRequest& request) const;
/**
* <p>Modifies the default credit option for CPU usage of burstable performance
* instances. The default credit option is set at the account level per AWS Region,
* and is specified per instance family. All new burstable performance instances in
* the account launch using the default credit option.</p> <p>
* <code>ModifyDefaultCreditSpecification</code> is an asynchronous operation,
* which works at an AWS 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 <code>GetDefaultCreditSpecification</code> and check
* <code>DefaultCreditSpecification</code> for updates.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html">Burstable
* performance instances</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyDefaultCreditSpecification">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyDefaultCreditSpecificationOutcomeCallable ModifyDefaultCreditSpecificationCallable(const Model::ModifyDefaultCreditSpecificationRequest& request) const;
/**
* <p>Modifies the default credit option for CPU usage of burstable performance
* instances. The default credit option is set at the account level per AWS Region,
* and is specified per instance family. All new burstable performance instances in
* the account launch using the default credit option.</p> <p>
* <code>ModifyDefaultCreditSpecification</code> is an asynchronous operation,
* which works at an AWS 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 <code>GetDefaultCreditSpecification</code> and check
* <code>DefaultCreditSpecification</code> for updates.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html">Burstable
* performance instances</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyDefaultCreditSpecification">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyDefaultCreditSpecificationAsync(const Model::ModifyDefaultCreditSpecificationRequest& request, const ModifyDefaultCreditSpecificationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Changes the default customer master key (CMK) for EBS encryption by default
* for your account in this Region.</p> <p>AWS creates a unique AWS managed CMK in
* each Region for use with encryption by default. If you change the default CMK to
* a symmetric customer managed CMK, it is used instead of the AWS managed CMK. To
* reset the default CMK to the AWS managed CMK for EBS, use
* <a>ResetEbsDefaultKmsKeyId</a>. Amazon EBS does not support asymmetric CMKs.</p>
* <p>If you delete or disable the customer managed CMK that you specified for use
* with encryption by default, your instances will fail to launch.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html">Amazon
* EBS Encryption</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyEbsDefaultKmsKeyId">AWS
* API Reference</a></p>
*/
virtual Model::ModifyEbsDefaultKmsKeyIdOutcome ModifyEbsDefaultKmsKeyId(const Model::ModifyEbsDefaultKmsKeyIdRequest& request) const;
/**
* <p>Changes the default customer master key (CMK) for EBS encryption by default
* for your account in this Region.</p> <p>AWS creates a unique AWS managed CMK in
* each Region for use with encryption by default. If you change the default CMK to
* a symmetric customer managed CMK, it is used instead of the AWS managed CMK. To
* reset the default CMK to the AWS managed CMK for EBS, use
* <a>ResetEbsDefaultKmsKeyId</a>. Amazon EBS does not support asymmetric CMKs.</p>
* <p>If you delete or disable the customer managed CMK that you specified for use
* with encryption by default, your instances will fail to launch.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html">Amazon
* EBS Encryption</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyEbsDefaultKmsKeyId">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyEbsDefaultKmsKeyIdOutcomeCallable ModifyEbsDefaultKmsKeyIdCallable(const Model::ModifyEbsDefaultKmsKeyIdRequest& request) const;
/**
* <p>Changes the default customer master key (CMK) for EBS encryption by default
* for your account in this Region.</p> <p>AWS creates a unique AWS managed CMK in
* each Region for use with encryption by default. If you change the default CMK to
* a symmetric customer managed CMK, it is used instead of the AWS managed CMK. To
* reset the default CMK to the AWS managed CMK for EBS, use
* <a>ResetEbsDefaultKmsKeyId</a>. Amazon EBS does not support asymmetric CMKs.</p>
* <p>If you delete or disable the customer managed CMK that you specified for use
* with encryption by default, your instances will fail to launch.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html">Amazon
* EBS Encryption</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyEbsDefaultKmsKeyId">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyEbsDefaultKmsKeyIdAsync(const Model::ModifyEbsDefaultKmsKeyIdRequest& request, const ModifyEbsDefaultKmsKeyIdResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Modifies the specified EC2 Fleet.</p> <p>You can only modify an EC2 Fleet
* request of type <code>maintain</code>.</p> <p>While the EC2 Fleet is being
* modified, it is in the <code>modifying</code> state.</p> <p>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 <code>lowest-price</code>, the EC2 Fleet launches
* instances using the Spot Instance pool with the lowest price. If the allocation
* strategy is <code>diversified</code>, the EC2 Fleet distributes the instances
* across the Spot Instance pools. If the allocation strategy is
* <code>capacity-optimized</code>, EC2 Fleet launches instances from Spot Instance
* pools with optimal capacity for the number of instances that are launching.</p>
* <p>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
* <code>lowest-price</code>, the EC2 Fleet terminates the instances with the
* highest price per unit. If the allocation strategy is
* <code>capacity-optimized</code>, the EC2 Fleet terminates the instances in the
* Spot Instance pools that have the least available Spot Instance capacity. If the
* allocation strategy is <code>diversified</code>, 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.</p> <p>If you are
* finished with your EC2 Fleet for now, but will use it again later, you can set
* the target capacity to 0.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFleet">AWS API
* Reference</a></p>
*/
virtual Model::ModifyFleetOutcome ModifyFleet(const Model::ModifyFleetRequest& request) const;
/**
* <p>Modifies the specified EC2 Fleet.</p> <p>You can only modify an EC2 Fleet
* request of type <code>maintain</code>.</p> <p>While the EC2 Fleet is being
* modified, it is in the <code>modifying</code> state.</p> <p>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 <code>lowest-price</code>, the EC2 Fleet launches
* instances using the Spot Instance pool with the lowest price. If the allocation
* strategy is <code>diversified</code>, the EC2 Fleet distributes the instances
* across the Spot Instance pools. If the allocation strategy is
* <code>capacity-optimized</code>, EC2 Fleet launches instances from Spot Instance
* pools with optimal capacity for the number of instances that are launching.</p>
* <p>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
* <code>lowest-price</code>, the EC2 Fleet terminates the instances with the
* highest price per unit. If the allocation strategy is
* <code>capacity-optimized</code>, the EC2 Fleet terminates the instances in the
* Spot Instance pools that have the least available Spot Instance capacity. If the
* allocation strategy is <code>diversified</code>, 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.</p> <p>If you are
* finished with your EC2 Fleet for now, but will use it again later, you can set
* the target capacity to 0.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFleet">AWS API
* Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyFleetOutcomeCallable ModifyFleetCallable(const Model::ModifyFleetRequest& request) const;
/**
* <p>Modifies the specified EC2 Fleet.</p> <p>You can only modify an EC2 Fleet
* request of type <code>maintain</code>.</p> <p>While the EC2 Fleet is being
* modified, it is in the <code>modifying</code> state.</p> <p>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 <code>lowest-price</code>, the EC2 Fleet launches
* instances using the Spot Instance pool with the lowest price. If the allocation
* strategy is <code>diversified</code>, the EC2 Fleet distributes the instances
* across the Spot Instance pools. If the allocation strategy is
* <code>capacity-optimized</code>, EC2 Fleet launches instances from Spot Instance
* pools with optimal capacity for the number of instances that are launching.</p>
* <p>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
* <code>lowest-price</code>, the EC2 Fleet terminates the instances with the
* highest price per unit. If the allocation strategy is
* <code>capacity-optimized</code>, the EC2 Fleet terminates the instances in the
* Spot Instance pools that have the least available Spot Instance capacity. If the
* allocation strategy is <code>diversified</code>, 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.</p> <p>If you are
* finished with your EC2 Fleet for now, but will use it again later, you can set
* the target capacity to 0.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFleet">AWS API
* Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyFleetAsync(const Model::ModifyFleetRequest& request, const ModifyFleetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Modifies the specified attribute of the specified Amazon FPGA Image
* (AFI).</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFpgaImageAttribute">AWS
* API Reference</a></p>
*/
virtual Model::ModifyFpgaImageAttributeOutcome ModifyFpgaImageAttribute(const Model::ModifyFpgaImageAttributeRequest& request) const;
/**
* <p>Modifies the specified attribute of the specified Amazon FPGA Image
* (AFI).</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFpgaImageAttribute">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyFpgaImageAttributeOutcomeCallable ModifyFpgaImageAttributeCallable(const Model::ModifyFpgaImageAttributeRequest& request) const;
/**
* <p>Modifies the specified attribute of the specified Amazon FPGA Image
* (AFI).</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFpgaImageAttribute">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyFpgaImageAttributeAsync(const Model::ModifyFpgaImageAttributeRequest& request, const ModifyFpgaImageAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Modify the auto-placement setting of a Dedicated Host. When auto-placement is
* enabled, any instances that you launch with a tenancy of <code>host</code> 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.</p> <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHosts">AWS API
* Reference</a></p>
*/
virtual Model::ModifyHostsOutcome ModifyHosts(const Model::ModifyHostsRequest& request) const;
/**
* <p>Modify the auto-placement setting of a Dedicated Host. When auto-placement is
* enabled, any instances that you launch with a tenancy of <code>host</code> 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.</p> <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHosts">AWS API
* Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyHostsOutcomeCallable ModifyHostsCallable(const Model::ModifyHostsRequest& request) const;
/**
* <p>Modify the auto-placement setting of a Dedicated Host. When auto-placement is
* enabled, any instances that you launch with a tenancy of <code>host</code> 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.</p> <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHosts">AWS API
* Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyHostsAsync(const Model::ModifyHostsRequest& request, const ModifyHostsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p> <p>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: <code>bundle</code> |
* <code>conversion-task</code> | <code>customer-gateway</code> |
* <code>dhcp-options</code> | <code>elastic-ip-allocation</code> |
* <code>elastic-ip-association</code> | <code>export-task</code> |
* <code>flow-log</code> | <code>image</code> | <code>import-task</code> |
* <code>internet-gateway</code> | <code>network-acl</code> |
* <code>network-acl-association</code> | <code>network-interface</code> |
* <code>network-interface-attachment</code> | <code>prefix-list</code> |
* <code>route-table</code> | <code>route-table-association</code> |
* <code>security-group</code> | <code>subnet</code> |
* <code>subnet-cidr-block-association</code> | <code>vpc</code> |
* <code>vpc-cidr-block-association</code> | <code>vpc-endpoint</code> |
* <code>vpc-peering-connection</code> | <code>vpn-connection</code> |
* <code>vpn-gateway</code>.</p> <p>This setting applies to the IAM user who makes
* the request; it does not apply to the entire AWS 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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html">Resource
* IDs</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> <p>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
* <code>Describe</code> command for the resource type.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormat">AWS
* API Reference</a></p>
*/
virtual Model::ModifyIdFormatOutcome ModifyIdFormat(const Model::ModifyIdFormatRequest& request) const;
/**
* <p>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.</p> <p>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: <code>bundle</code> |
* <code>conversion-task</code> | <code>customer-gateway</code> |
* <code>dhcp-options</code> | <code>elastic-ip-allocation</code> |
* <code>elastic-ip-association</code> | <code>export-task</code> |
* <code>flow-log</code> | <code>image</code> | <code>import-task</code> |
* <code>internet-gateway</code> | <code>network-acl</code> |
* <code>network-acl-association</code> | <code>network-interface</code> |
* <code>network-interface-attachment</code> | <code>prefix-list</code> |
* <code>route-table</code> | <code>route-table-association</code> |
* <code>security-group</code> | <code>subnet</code> |
* <code>subnet-cidr-block-association</code> | <code>vpc</code> |
* <code>vpc-cidr-block-association</code> | <code>vpc-endpoint</code> |
* <code>vpc-peering-connection</code> | <code>vpn-connection</code> |
* <code>vpn-gateway</code>.</p> <p>This setting applies to the IAM user who makes
* the request; it does not apply to the entire AWS 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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html">Resource
* IDs</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> <p>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
* <code>Describe</code> command for the resource type.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormat">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyIdFormatOutcomeCallable ModifyIdFormatCallable(const Model::ModifyIdFormatRequest& request) const;
/**
* <p>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.</p> <p>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: <code>bundle</code> |
* <code>conversion-task</code> | <code>customer-gateway</code> |
* <code>dhcp-options</code> | <code>elastic-ip-allocation</code> |
* <code>elastic-ip-association</code> | <code>export-task</code> |
* <code>flow-log</code> | <code>image</code> | <code>import-task</code> |
* <code>internet-gateway</code> | <code>network-acl</code> |
* <code>network-acl-association</code> | <code>network-interface</code> |
* <code>network-interface-attachment</code> | <code>prefix-list</code> |
* <code>route-table</code> | <code>route-table-association</code> |
* <code>security-group</code> | <code>subnet</code> |
* <code>subnet-cidr-block-association</code> | <code>vpc</code> |
* <code>vpc-cidr-block-association</code> | <code>vpc-endpoint</code> |
* <code>vpc-peering-connection</code> | <code>vpn-connection</code> |
* <code>vpn-gateway</code>.</p> <p>This setting applies to the IAM user who makes
* the request; it does not apply to the entire AWS 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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html">Resource
* IDs</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> <p>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
* <code>Describe</code> command for the resource type.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormat">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyIdFormatAsync(const Model::ModifyIdFormatRequest& request, const ModifyIdFormatResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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. </p> <p>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: <code>bundle</code>
* | <code>conversion-task</code> | <code>customer-gateway</code> |
* <code>dhcp-options</code> | <code>elastic-ip-allocation</code> |
* <code>elastic-ip-association</code> | <code>export-task</code> |
* <code>flow-log</code> | <code>image</code> | <code>import-task</code> |
* <code>internet-gateway</code> | <code>network-acl</code> |
* <code>network-acl-association</code> | <code>network-interface</code> |
* <code>network-interface-attachment</code> | <code>prefix-list</code> |
* <code>route-table</code> | <code>route-table-association</code> |
* <code>security-group</code> | <code>subnet</code> |
* <code>subnet-cidr-block-association</code> | <code>vpc</code> |
* <code>vpc-cidr-block-association</code> | <code>vpc-endpoint</code> |
* <code>vpc-peering-connection</code> | <code>vpn-connection</code> |
* <code>vpn-gateway</code>. </p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html">Resource
* IDs</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>. </p> <p>This
* setting applies to the principal specified in the request; it does not apply to
* the principal that makes the request. </p> <p>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 <code>Describe</code>
* command for the resource type.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormat">AWS
* API Reference</a></p>
*/
virtual Model::ModifyIdentityIdFormatOutcome ModifyIdentityIdFormat(const Model::ModifyIdentityIdFormatRequest& request) const;
/**
* <p>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. </p> <p>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: <code>bundle</code>
* | <code>conversion-task</code> | <code>customer-gateway</code> |
* <code>dhcp-options</code> | <code>elastic-ip-allocation</code> |
* <code>elastic-ip-association</code> | <code>export-task</code> |
* <code>flow-log</code> | <code>image</code> | <code>import-task</code> |
* <code>internet-gateway</code> | <code>network-acl</code> |
* <code>network-acl-association</code> | <code>network-interface</code> |
* <code>network-interface-attachment</code> | <code>prefix-list</code> |
* <code>route-table</code> | <code>route-table-association</code> |
* <code>security-group</code> | <code>subnet</code> |
* <code>subnet-cidr-block-association</code> | <code>vpc</code> |
* <code>vpc-cidr-block-association</code> | <code>vpc-endpoint</code> |
* <code>vpc-peering-connection</code> | <code>vpn-connection</code> |
* <code>vpn-gateway</code>. </p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html">Resource
* IDs</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>. </p> <p>This
* setting applies to the principal specified in the request; it does not apply to
* the principal that makes the request. </p> <p>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 <code>Describe</code>
* command for the resource type.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormat">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyIdentityIdFormatOutcomeCallable ModifyIdentityIdFormatCallable(const Model::ModifyIdentityIdFormatRequest& request) const;
/**
* <p>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. </p> <p>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: <code>bundle</code>
* | <code>conversion-task</code> | <code>customer-gateway</code> |
* <code>dhcp-options</code> | <code>elastic-ip-allocation</code> |
* <code>elastic-ip-association</code> | <code>export-task</code> |
* <code>flow-log</code> | <code>image</code> | <code>import-task</code> |
* <code>internet-gateway</code> | <code>network-acl</code> |
* <code>network-acl-association</code> | <code>network-interface</code> |
* <code>network-interface-attachment</code> | <code>prefix-list</code> |
* <code>route-table</code> | <code>route-table-association</code> |
* <code>security-group</code> | <code>subnet</code> |
* <code>subnet-cidr-block-association</code> | <code>vpc</code> |
* <code>vpc-cidr-block-association</code> | <code>vpc-endpoint</code> |
* <code>vpc-peering-connection</code> | <code>vpn-connection</code> |
* <code>vpn-gateway</code>. </p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html">Resource
* IDs</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>. </p> <p>This
* setting applies to the principal specified in the request; it does not apply to
* the principal that makes the request. </p> <p>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 <code>Describe</code>
* command for the resource type.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormat">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyIdentityIdFormatAsync(const Model::ModifyIdentityIdFormatRequest& request, const ModifyIdentityIdFormatResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Modifies the specified attribute of the specified AMI. You can specify only
* one attribute at a time. You can use the <code>Attribute</code> parameter to
* specify the attribute or one of the following parameters:
* <code>Description</code>, <code>LaunchPermission</code>, or
* <code>ProductCode</code>.</p> <p>AWS Marketplace product codes cannot be
* modified. Images with an AWS Marketplace product code cannot be made public.</p>
* <p>To enable the SriovNetSupport enhanced networking attribute of an image,
* enable SriovNetSupport on an instance and create an AMI from the
* instance.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttribute">AWS
* API Reference</a></p>
*/
virtual Model::ModifyImageAttributeOutcome ModifyImageAttribute(const Model::ModifyImageAttributeRequest& request) const;
/**
* <p>Modifies the specified attribute of the specified AMI. You can specify only
* one attribute at a time. You can use the <code>Attribute</code> parameter to
* specify the attribute or one of the following parameters:
* <code>Description</code>, <code>LaunchPermission</code>, or
* <code>ProductCode</code>.</p> <p>AWS Marketplace product codes cannot be
* modified. Images with an AWS Marketplace product code cannot be made public.</p>
* <p>To enable the SriovNetSupport enhanced networking attribute of an image,
* enable SriovNetSupport on an instance and create an AMI from the
* instance.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttribute">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyImageAttributeOutcomeCallable ModifyImageAttributeCallable(const Model::ModifyImageAttributeRequest& request) const;
/**
* <p>Modifies the specified attribute of the specified AMI. You can specify only
* one attribute at a time. You can use the <code>Attribute</code> parameter to
* specify the attribute or one of the following parameters:
* <code>Description</code>, <code>LaunchPermission</code>, or
* <code>ProductCode</code>.</p> <p>AWS Marketplace product codes cannot be
* modified. Images with an AWS Marketplace product code cannot be made public.</p>
* <p>To enable the SriovNetSupport enhanced networking attribute of an image,
* enable SriovNetSupport on an instance and create an AMI from the
* instance.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttribute">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyImageAttributeAsync(const Model::ModifyImageAttributeRequest& request, const ModifyImageAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Modifies the specified attribute of the specified instance. You can specify
* only one attribute at a time.</p> <p> <b>Note: </b>Using this action to change
* the security groups associated with an elastic network interface (ENI) attached
* to an instance in a VPC 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
* <a>ModifyNetworkInterfaceAttribute</a> action.</p> <p>To modify some attributes,
* the instance must be stopped. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html">Modifying
* attributes of a stopped instance</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttribute">AWS
* API Reference</a></p>
*/
virtual Model::ModifyInstanceAttributeOutcome ModifyInstanceAttribute(const Model::ModifyInstanceAttributeRequest& request) const;
/**
* <p>Modifies the specified attribute of the specified instance. You can specify
* only one attribute at a time.</p> <p> <b>Note: </b>Using this action to change
* the security groups associated with an elastic network interface (ENI) attached
* to an instance in a VPC 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
* <a>ModifyNetworkInterfaceAttribute</a> action.</p> <p>To modify some attributes,
* the instance must be stopped. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html">Modifying
* attributes of a stopped instance</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttribute">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyInstanceAttributeOutcomeCallable ModifyInstanceAttributeCallable(const Model::ModifyInstanceAttributeRequest& request) const;
/**
* <p>Modifies the specified attribute of the specified instance. You can specify
* only one attribute at a time.</p> <p> <b>Note: </b>Using this action to change
* the security groups associated with an elastic network interface (ENI) attached
* to an instance in a VPC 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
* <a>ModifyNetworkInterfaceAttribute</a> action.</p> <p>To modify some attributes,
* the instance must be stopped. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html">Modifying
* attributes of a stopped instance</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttribute">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyInstanceAttributeAsync(const Model::ModifyInstanceAttributeRequest& request, const ModifyInstanceAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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 <code>open</code> Capacity Reservation with matching attributes, or run
* On-Demand Instance capacity.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCapacityReservationAttributes">AWS
* API Reference</a></p>
*/
virtual Model::ModifyInstanceCapacityReservationAttributesOutcome ModifyInstanceCapacityReservationAttributes(const Model::ModifyInstanceCapacityReservationAttributesRequest& request) const;
/**
* <p>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 <code>open</code> Capacity Reservation with matching attributes, or run
* On-Demand Instance capacity.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCapacityReservationAttributes">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyInstanceCapacityReservationAttributesOutcomeCallable ModifyInstanceCapacityReservationAttributesCallable(const Model::ModifyInstanceCapacityReservationAttributesRequest& request) const;
/**
* <p>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 <code>open</code> Capacity Reservation with matching attributes, or run
* On-Demand Instance capacity.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCapacityReservationAttributes">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyInstanceCapacityReservationAttributesAsync(const Model::ModifyInstanceCapacityReservationAttributesRequest& request, const ModifyInstanceCapacityReservationAttributesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Modifies the credit option for CPU usage on a running or stopped burstable
* performance instance. The credit options are <code>standard</code> and
* <code>unlimited</code>.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html">Burstable
* performance instances</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCreditSpecification">AWS
* API Reference</a></p>
*/
virtual Model::ModifyInstanceCreditSpecificationOutcome ModifyInstanceCreditSpecification(const Model::ModifyInstanceCreditSpecificationRequest& request) const;
/**
* <p>Modifies the credit option for CPU usage on a running or stopped burstable
* performance instance. The credit options are <code>standard</code> and
* <code>unlimited</code>.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html">Burstable
* performance instances</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCreditSpecification">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyInstanceCreditSpecificationOutcomeCallable ModifyInstanceCreditSpecificationCallable(const Model::ModifyInstanceCreditSpecificationRequest& request) const;
/**
* <p>Modifies the credit option for CPU usage on a running or stopped burstable
* performance instance. The credit options are <code>standard</code> and
* <code>unlimited</code>.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html">Burstable
* performance instances</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCreditSpecification">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyInstanceCreditSpecificationAsync(const Model::ModifyInstanceCreditSpecificationRequest& request, const ModifyInstanceCreditSpecificationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Modifies the start time for a scheduled Amazon EC2 instance
* event.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceEventStartTime">AWS
* API Reference</a></p>
*/
virtual Model::ModifyInstanceEventStartTimeOutcome ModifyInstanceEventStartTime(const Model::ModifyInstanceEventStartTimeRequest& request) const;
/**
* <p>Modifies the start time for a scheduled Amazon EC2 instance
* event.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceEventStartTime">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyInstanceEventStartTimeOutcomeCallable ModifyInstanceEventStartTimeCallable(const Model::ModifyInstanceEventStartTimeRequest& request) const;
/**
* <p>Modifies the start time for a scheduled Amazon EC2 instance
* event.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceEventStartTime">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyInstanceEventStartTimeAsync(const Model::ModifyInstanceEventStartTimeRequest& request, const ModifyInstanceEventStartTimeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html">Instance
* metadata and user data</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceMetadataOptions">AWS
* API Reference</a></p>
*/
virtual Model::ModifyInstanceMetadataOptionsOutcome ModifyInstanceMetadataOptions(const Model::ModifyInstanceMetadataOptionsRequest& request) const;
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html">Instance
* metadata and user data</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceMetadataOptions">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyInstanceMetadataOptionsOutcomeCallable ModifyInstanceMetadataOptionsCallable(const Model::ModifyInstanceMetadataOptionsRequest& request) const;
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html">Instance
* metadata and user data</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceMetadataOptions">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyInstanceMetadataOptionsAsync(const Model::ModifyInstanceMetadataOptionsRequest& request, const ModifyInstanceMetadataOptionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Modifies the placement attributes for a specified instance. You can do the
* following:</p> <ul> <li> <p>Modify the affinity between an instance and a <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html">Dedicated
* Host</a>. When affinity is set to <code>host</code> and the instance is not
* associated with a specific Dedicated Host, the next time the instance is
* launched, it is automatically associated with the host on which it lands. If the
* instance is restarted or rebooted, this relationship persists.</p> </li> <li>
* <p>Change the Dedicated Host with which an instance is associated.</p> </li>
* <li> <p>Change the instance tenancy of an instance from <code>host</code> to
* <code>dedicated</code>, or from <code>dedicated</code> to <code>host</code>.</p>
* </li> <li> <p>Move an instance to or from a <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html">placement
* group</a>.</p> </li> </ul> <p>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.</p> <p>To modify the host ID,
* tenancy, placement group, or partition for an instance, the instance must be in
* the <code>stopped</code> state.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacement">AWS
* API Reference</a></p>
*/
virtual Model::ModifyInstancePlacementOutcome ModifyInstancePlacement(const Model::ModifyInstancePlacementRequest& request) const;
/**
* <p>Modifies the placement attributes for a specified instance. You can do the
* following:</p> <ul> <li> <p>Modify the affinity between an instance and a <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html">Dedicated
* Host</a>. When affinity is set to <code>host</code> and the instance is not
* associated with a specific Dedicated Host, the next time the instance is
* launched, it is automatically associated with the host on which it lands. If the
* instance is restarted or rebooted, this relationship persists.</p> </li> <li>
* <p>Change the Dedicated Host with which an instance is associated.</p> </li>
* <li> <p>Change the instance tenancy of an instance from <code>host</code> to
* <code>dedicated</code>, or from <code>dedicated</code> to <code>host</code>.</p>
* </li> <li> <p>Move an instance to or from a <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html">placement
* group</a>.</p> </li> </ul> <p>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.</p> <p>To modify the host ID,
* tenancy, placement group, or partition for an instance, the instance must be in
* the <code>stopped</code> state.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacement">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyInstancePlacementOutcomeCallable ModifyInstancePlacementCallable(const Model::ModifyInstancePlacementRequest& request) const;
/**
* <p>Modifies the placement attributes for a specified instance. You can do the
* following:</p> <ul> <li> <p>Modify the affinity between an instance and a <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html">Dedicated
* Host</a>. When affinity is set to <code>host</code> and the instance is not
* associated with a specific Dedicated Host, the next time the instance is
* launched, it is automatically associated with the host on which it lands. If the
* instance is restarted or rebooted, this relationship persists.</p> </li> <li>
* <p>Change the Dedicated Host with which an instance is associated.</p> </li>
* <li> <p>Change the instance tenancy of an instance from <code>host</code> to
* <code>dedicated</code>, or from <code>dedicated</code> to <code>host</code>.</p>
* </li> <li> <p>Move an instance to or from a <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html">placement
* group</a>.</p> </li> </ul> <p>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.</p> <p>To modify the host ID,
* tenancy, placement group, or partition for an instance, the instance must be in
* the <code>stopped</code> state.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacement">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyInstancePlacementAsync(const Model::ModifyInstancePlacementRequest& request, const ModifyInstancePlacementResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyLaunchTemplate">AWS
* API Reference</a></p>
*/
virtual Model::ModifyLaunchTemplateOutcome ModifyLaunchTemplate(const Model::ModifyLaunchTemplateRequest& request) const;
/**
* <p>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.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyLaunchTemplate">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyLaunchTemplateOutcomeCallable ModifyLaunchTemplateCallable(const Model::ModifyLaunchTemplateRequest& request) const;
/**
* <p>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.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyLaunchTemplate">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyLaunchTemplateAsync(const Model::ModifyLaunchTemplateRequest& request, const ModifyLaunchTemplateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Modifies the specified managed prefix list.</p> <p>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.</p> <p>If you specify a current
* version number that does not match the true current version number, the request
* fails.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyManagedPrefixList">AWS
* API Reference</a></p>
*/
virtual Model::ModifyManagedPrefixListOutcome ModifyManagedPrefixList(const Model::ModifyManagedPrefixListRequest& request) const;
/**
* <p>Modifies the specified managed prefix list.</p> <p>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.</p> <p>If you specify a current
* version number that does not match the true current version number, the request
* fails.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyManagedPrefixList">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyManagedPrefixListOutcomeCallable ModifyManagedPrefixListCallable(const Model::ModifyManagedPrefixListRequest& request) const;
/**
* <p>Modifies the specified managed prefix list.</p> <p>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.</p> <p>If you specify a current
* version number that does not match the true current version number, the request
* fails.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyManagedPrefixList">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyManagedPrefixListAsync(const Model::ModifyManagedPrefixListRequest& request, const ModifyManagedPrefixListResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttribute">AWS
* API Reference</a></p>
*/
virtual Model::ModifyNetworkInterfaceAttributeOutcome ModifyNetworkInterfaceAttribute(const Model::ModifyNetworkInterfaceAttributeRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttribute">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyNetworkInterfaceAttributeOutcomeCallable ModifyNetworkInterfaceAttributeCallable(const Model::ModifyNetworkInterfaceAttributeRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttribute">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyNetworkInterfaceAttributeAsync(const Model::ModifyNetworkInterfaceAttributeRequest& request, const ModifyNetworkInterfaceAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Modifies the Availability Zone, instance count, instance type, or network
* platform (EC2-Classic or EC2-VPC) of your Reserved Instances. The Reserved
* Instances to be modified must be identical, except for Availability Zone,
* network platform, and instance type.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html">Modifying
* Reserved Instances</a> in the Amazon Elastic Compute Cloud User
* Guide.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstances">AWS
* API Reference</a></p>
*/
virtual Model::ModifyReservedInstancesOutcome ModifyReservedInstances(const Model::ModifyReservedInstancesRequest& request) const;
/**
* <p>Modifies the Availability Zone, instance count, instance type, or network
* platform (EC2-Classic or EC2-VPC) of your Reserved Instances. The Reserved
* Instances to be modified must be identical, except for Availability Zone,
* network platform, and instance type.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html">Modifying
* Reserved Instances</a> in the Amazon Elastic Compute Cloud User
* Guide.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstances">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyReservedInstancesOutcomeCallable ModifyReservedInstancesCallable(const Model::ModifyReservedInstancesRequest& request) const;
/**
* <p>Modifies the Availability Zone, instance count, instance type, or network
* platform (EC2-Classic or EC2-VPC) of your Reserved Instances. The Reserved
* Instances to be modified must be identical, except for Availability Zone,
* network platform, and instance type.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html">Modifying
* Reserved Instances</a> in the Amazon Elastic Compute Cloud User
* Guide.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstances">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyReservedInstancesAsync(const Model::ModifyReservedInstancesRequest& request, const ModifyReservedInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Adds or removes permission settings for the specified snapshot. You may add
* or remove specified AWS 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.</p>
* <p>Encrypted snapshots and snapshots with AWS Marketplace product codes cannot
* be made public. Snapshots encrypted with your default CMK cannot be shared with
* other accounts.</p> <p>For more information about modifying snapshot
* permissions, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html">Sharing
* snapshots</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttribute">AWS
* API Reference</a></p>
*/
virtual Model::ModifySnapshotAttributeOutcome ModifySnapshotAttribute(const Model::ModifySnapshotAttributeRequest& request) const;
/**
* <p>Adds or removes permission settings for the specified snapshot. You may add
* or remove specified AWS 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.</p>
* <p>Encrypted snapshots and snapshots with AWS Marketplace product codes cannot
* be made public. Snapshots encrypted with your default CMK cannot be shared with
* other accounts.</p> <p>For more information about modifying snapshot
* permissions, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html">Sharing
* snapshots</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttribute">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifySnapshotAttributeOutcomeCallable ModifySnapshotAttributeCallable(const Model::ModifySnapshotAttributeRequest& request) const;
/**
* <p>Adds or removes permission settings for the specified snapshot. You may add
* or remove specified AWS 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.</p>
* <p>Encrypted snapshots and snapshots with AWS Marketplace product codes cannot
* be made public. Snapshots encrypted with your default CMK cannot be shared with
* other accounts.</p> <p>For more information about modifying snapshot
* permissions, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html">Sharing
* snapshots</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttribute">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifySnapshotAttributeAsync(const Model::ModifySnapshotAttributeRequest& request, const ModifySnapshotAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Modifies the specified Spot Fleet request.</p> <p>You can only modify a Spot
* Fleet request of type <code>maintain</code>.</p> <p>While the Spot Fleet request
* is being modified, it is in the <code>modifying</code> state.</p> <p>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 <code>lowestPrice</code>, the Spot
* Fleet launches instances using the Spot Instance pool with the lowest price. If
* the allocation strategy is <code>diversified</code>, the Spot Fleet distributes
* the instances across the Spot Instance pools. If the allocation strategy is
* <code>capacityOptimized</code>, Spot Fleet launches instances from Spot Instance
* pools with optimal capacity for the number of instances that are launching.</p>
* <p>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
* <code>lowestPrice</code>, the Spot Fleet terminates the instances with the
* highest price per unit. If the allocation strategy is
* <code>capacityOptimized</code>, the Spot Fleet terminates the instances in the
* Spot Instance pools that have the least available Spot Instance capacity. If the
* allocation strategy is <code>diversified</code>, 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.</p> <p>If you are
* finished with your Spot Fleet for now, but will use it again later, you can set
* the target capacity to 0.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequest">AWS
* API Reference</a></p>
*/
virtual Model::ModifySpotFleetRequestOutcome ModifySpotFleetRequest(const Model::ModifySpotFleetRequestRequest& request) const;
/**
* <p>Modifies the specified Spot Fleet request.</p> <p>You can only modify a Spot
* Fleet request of type <code>maintain</code>.</p> <p>While the Spot Fleet request
* is being modified, it is in the <code>modifying</code> state.</p> <p>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 <code>lowestPrice</code>, the Spot
* Fleet launches instances using the Spot Instance pool with the lowest price. If
* the allocation strategy is <code>diversified</code>, the Spot Fleet distributes
* the instances across the Spot Instance pools. If the allocation strategy is
* <code>capacityOptimized</code>, Spot Fleet launches instances from Spot Instance
* pools with optimal capacity for the number of instances that are launching.</p>
* <p>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
* <code>lowestPrice</code>, the Spot Fleet terminates the instances with the
* highest price per unit. If the allocation strategy is
* <code>capacityOptimized</code>, the Spot Fleet terminates the instances in the
* Spot Instance pools that have the least available Spot Instance capacity. If the
* allocation strategy is <code>diversified</code>, 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.</p> <p>If you are
* finished with your Spot Fleet for now, but will use it again later, you can set
* the target capacity to 0.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequest">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifySpotFleetRequestOutcomeCallable ModifySpotFleetRequestCallable(const Model::ModifySpotFleetRequestRequest& request) const;
/**
* <p>Modifies the specified Spot Fleet request.</p> <p>You can only modify a Spot
* Fleet request of type <code>maintain</code>.</p> <p>While the Spot Fleet request
* is being modified, it is in the <code>modifying</code> state.</p> <p>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 <code>lowestPrice</code>, the Spot
* Fleet launches instances using the Spot Instance pool with the lowest price. If
* the allocation strategy is <code>diversified</code>, the Spot Fleet distributes
* the instances across the Spot Instance pools. If the allocation strategy is
* <code>capacityOptimized</code>, Spot Fleet launches instances from Spot Instance
* pools with optimal capacity for the number of instances that are launching.</p>
* <p>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
* <code>lowestPrice</code>, the Spot Fleet terminates the instances with the
* highest price per unit. If the allocation strategy is
* <code>capacityOptimized</code>, the Spot Fleet terminates the instances in the
* Spot Instance pools that have the least available Spot Instance capacity. If the
* allocation strategy is <code>diversified</code>, 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.</p> <p>If you are
* finished with your Spot Fleet for now, but will use it again later, you can set
* the target capacity to 0.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequest">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifySpotFleetRequestAsync(const Model::ModifySpotFleetRequestRequest& request, const ModifySpotFleetRequestResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Modifies a subnet attribute. You can only modify one attribute at a
* time.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttribute">AWS
* API Reference</a></p>
*/
virtual Model::ModifySubnetAttributeOutcome ModifySubnetAttribute(const Model::ModifySubnetAttributeRequest& request) const;
/**
* <p>Modifies a subnet attribute. You can only modify one attribute at a
* time.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttribute">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifySubnetAttributeOutcomeCallable ModifySubnetAttributeCallable(const Model::ModifySubnetAttributeRequest& request) const;
/**
* <p>Modifies a subnet attribute. You can only modify one attribute at a
* time.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttribute">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifySubnetAttributeAsync(const Model::ModifySubnetAttributeRequest& request, const ModifySubnetAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Allows or restricts mirroring network services.</p> <p> By default, Amazon
* DNS network services are not eligible for Traffic Mirror. Use
* <code>AddNetworkServices</code> 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 <code>RemoveNetworkServices</code> to
* remove the network services from the Traffic Mirror filter. </p> <p>For
* information about filter rule properties, see <a
* href="https://docs.aws.amazon.com/vpc/latest/mirroring/traffic-mirroring-considerations.html">Network
* Services</a> in the <i>Traffic Mirroring User Guide </i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorFilterNetworkServices">AWS
* API Reference</a></p>
*/
virtual Model::ModifyTrafficMirrorFilterNetworkServicesOutcome ModifyTrafficMirrorFilterNetworkServices(const Model::ModifyTrafficMirrorFilterNetworkServicesRequest& request) const;
/**
* <p>Allows or restricts mirroring network services.</p> <p> By default, Amazon
* DNS network services are not eligible for Traffic Mirror. Use
* <code>AddNetworkServices</code> 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 <code>RemoveNetworkServices</code> to
* remove the network services from the Traffic Mirror filter. </p> <p>For
* information about filter rule properties, see <a
* href="https://docs.aws.amazon.com/vpc/latest/mirroring/traffic-mirroring-considerations.html">Network
* Services</a> in the <i>Traffic Mirroring User Guide </i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorFilterNetworkServices">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyTrafficMirrorFilterNetworkServicesOutcomeCallable ModifyTrafficMirrorFilterNetworkServicesCallable(const Model::ModifyTrafficMirrorFilterNetworkServicesRequest& request) const;
/**
* <p>Allows or restricts mirroring network services.</p> <p> By default, Amazon
* DNS network services are not eligible for Traffic Mirror. Use
* <code>AddNetworkServices</code> 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 <code>RemoveNetworkServices</code> to
* remove the network services from the Traffic Mirror filter. </p> <p>For
* information about filter rule properties, see <a
* href="https://docs.aws.amazon.com/vpc/latest/mirroring/traffic-mirroring-considerations.html">Network
* Services</a> in the <i>Traffic Mirroring User Guide </i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorFilterNetworkServices">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyTrafficMirrorFilterNetworkServicesAsync(const Model::ModifyTrafficMirrorFilterNetworkServicesRequest& request, const ModifyTrafficMirrorFilterNetworkServicesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Modifies the specified Traffic Mirror rule.</p> <p>
* <code>DestinationCidrBlock</code> and <code>SourceCidrBlock</code> must both be
* an IPv4 range or an IPv6 range.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorFilterRule">AWS
* API Reference</a></p>
*/
virtual Model::ModifyTrafficMirrorFilterRuleOutcome ModifyTrafficMirrorFilterRule(const Model::ModifyTrafficMirrorFilterRuleRequest& request) const;
/**
* <p>Modifies the specified Traffic Mirror rule.</p> <p>
* <code>DestinationCidrBlock</code> and <code>SourceCidrBlock</code> must both be
* an IPv4 range or an IPv6 range.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorFilterRule">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyTrafficMirrorFilterRuleOutcomeCallable ModifyTrafficMirrorFilterRuleCallable(const Model::ModifyTrafficMirrorFilterRuleRequest& request) const;
/**
* <p>Modifies the specified Traffic Mirror rule.</p> <p>
* <code>DestinationCidrBlock</code> and <code>SourceCidrBlock</code> must both be
* an IPv4 range or an IPv6 range.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorFilterRule">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyTrafficMirrorFilterRuleAsync(const Model::ModifyTrafficMirrorFilterRuleRequest& request, const ModifyTrafficMirrorFilterRuleResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Modifies a Traffic Mirror session.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorSession">AWS
* API Reference</a></p>
*/
virtual Model::ModifyTrafficMirrorSessionOutcome ModifyTrafficMirrorSession(const Model::ModifyTrafficMirrorSessionRequest& request) const;
/**
* <p>Modifies a Traffic Mirror session.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorSession">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyTrafficMirrorSessionOutcomeCallable ModifyTrafficMirrorSessionCallable(const Model::ModifyTrafficMirrorSessionRequest& request) const;
/**
* <p>Modifies a Traffic Mirror session.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorSession">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyTrafficMirrorSessionAsync(const Model::ModifyTrafficMirrorSessionRequest& request, const ModifyTrafficMirrorSessionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGateway">AWS
* API Reference</a></p>
*/
virtual Model::ModifyTransitGatewayOutcome ModifyTransitGateway(const Model::ModifyTransitGatewayRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGateway">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyTransitGatewayOutcomeCallable ModifyTransitGatewayCallable(const Model::ModifyTransitGatewayRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGateway">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyTransitGatewayAsync(const Model::ModifyTransitGatewayRequest& request, const ModifyTransitGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Modifies a reference (route) to a prefix list in a specified transit gateway
* route table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayPrefixListReference">AWS
* API Reference</a></p>
*/
virtual Model::ModifyTransitGatewayPrefixListReferenceOutcome ModifyTransitGatewayPrefixListReference(const Model::ModifyTransitGatewayPrefixListReferenceRequest& request) const;
/**
* <p>Modifies a reference (route) to a prefix list in a specified transit gateway
* route table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayPrefixListReference">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyTransitGatewayPrefixListReferenceOutcomeCallable ModifyTransitGatewayPrefixListReferenceCallable(const Model::ModifyTransitGatewayPrefixListReferenceRequest& request) const;
/**
* <p>Modifies a reference (route) to a prefix list in a specified transit gateway
* route table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayPrefixListReference">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyTransitGatewayPrefixListReferenceAsync(const Model::ModifyTransitGatewayPrefixListReferenceRequest& request, const ModifyTransitGatewayPrefixListReferenceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Modifies the specified VPC attachment.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayVpcAttachment">AWS
* API Reference</a></p>
*/
virtual Model::ModifyTransitGatewayVpcAttachmentOutcome ModifyTransitGatewayVpcAttachment(const Model::ModifyTransitGatewayVpcAttachmentRequest& request) const;
/**
* <p>Modifies the specified VPC attachment.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayVpcAttachment">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyTransitGatewayVpcAttachmentOutcomeCallable ModifyTransitGatewayVpcAttachmentCallable(const Model::ModifyTransitGatewayVpcAttachmentRequest& request) const;
/**
* <p>Modifies the specified VPC attachment.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayVpcAttachment">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyTransitGatewayVpcAttachmentAsync(const Model::ModifyTransitGatewayVpcAttachmentRequest& request, const ModifyTransitGatewayVpcAttachmentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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 may be able to apply these changes
* without stopping the instance or detaching the volume from it. For more
* information about modifying an EBS volume running Linux, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html">Modifying
* the size, IOPS, or type of an EBS volume on Linux</a>. For more information
* about modifying an EBS volume running Windows, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html">Modifying
* the size, IOPS, or type of an EBS volume on Windows</a>. </p> <p> 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 information
* about extending a Linux file system, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#recognize-expanded-volume-linux">Extending
* a Linux file system</a>. For information about extending a Windows file system,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html#recognize-expanded-volume-windows">Extending
* a Windows file system</a>. </p> <p> You can use CloudWatch Events to check the
* status of a modification to an EBS volume. For information about CloudWatch
* Events, see the <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/">Amazon
* CloudWatch Events User Guide</a>. You can also track the status of a
* modification using <a>DescribeVolumesModifications</a>. For information about
* tracking status changes using either method, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods">Monitoring
* volume modifications</a>. </p> <p>With previous-generation instance types,
* resizing an EBS volume may require detaching and reattaching the volume or
* stopping and restarting the instance. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html">Modifying
* the size, IOPS, or type of an EBS volume on Linux</a> and <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html">Modifying
* the size, IOPS, or type of an EBS volume on Windows</a>.</p> <p>If you reach the
* maximum volume modification rate per volume limit, you will need to wait at
* least six hours before applying further modifications to the affected EBS
* volume.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolume">AWS
* API Reference</a></p>
*/
virtual Model::ModifyVolumeOutcome ModifyVolume(const Model::ModifyVolumeRequest& request) const;
/**
* <p>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 may be able to apply these changes
* without stopping the instance or detaching the volume from it. For more
* information about modifying an EBS volume running Linux, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html">Modifying
* the size, IOPS, or type of an EBS volume on Linux</a>. For more information
* about modifying an EBS volume running Windows, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html">Modifying
* the size, IOPS, or type of an EBS volume on Windows</a>. </p> <p> 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 information
* about extending a Linux file system, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#recognize-expanded-volume-linux">Extending
* a Linux file system</a>. For information about extending a Windows file system,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html#recognize-expanded-volume-windows">Extending
* a Windows file system</a>. </p> <p> You can use CloudWatch Events to check the
* status of a modification to an EBS volume. For information about CloudWatch
* Events, see the <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/">Amazon
* CloudWatch Events User Guide</a>. You can also track the status of a
* modification using <a>DescribeVolumesModifications</a>. For information about
* tracking status changes using either method, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods">Monitoring
* volume modifications</a>. </p> <p>With previous-generation instance types,
* resizing an EBS volume may require detaching and reattaching the volume or
* stopping and restarting the instance. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html">Modifying
* the size, IOPS, or type of an EBS volume on Linux</a> and <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html">Modifying
* the size, IOPS, or type of an EBS volume on Windows</a>.</p> <p>If you reach the
* maximum volume modification rate per volume limit, you will need to wait at
* least six hours before applying further modifications to the affected EBS
* volume.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolume">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyVolumeOutcomeCallable ModifyVolumeCallable(const Model::ModifyVolumeRequest& request) const;
/**
* <p>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 may be able to apply these changes
* without stopping the instance or detaching the volume from it. For more
* information about modifying an EBS volume running Linux, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html">Modifying
* the size, IOPS, or type of an EBS volume on Linux</a>. For more information
* about modifying an EBS volume running Windows, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html">Modifying
* the size, IOPS, or type of an EBS volume on Windows</a>. </p> <p> 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 information
* about extending a Linux file system, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#recognize-expanded-volume-linux">Extending
* a Linux file system</a>. For information about extending a Windows file system,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html#recognize-expanded-volume-windows">Extending
* a Windows file system</a>. </p> <p> You can use CloudWatch Events to check the
* status of a modification to an EBS volume. For information about CloudWatch
* Events, see the <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/">Amazon
* CloudWatch Events User Guide</a>. You can also track the status of a
* modification using <a>DescribeVolumesModifications</a>. For information about
* tracking status changes using either method, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods">Monitoring
* volume modifications</a>. </p> <p>With previous-generation instance types,
* resizing an EBS volume may require detaching and reattaching the volume or
* stopping and restarting the instance. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html">Modifying
* the size, IOPS, or type of an EBS volume on Linux</a> and <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html">Modifying
* the size, IOPS, or type of an EBS volume on Windows</a>.</p> <p>If you reach the
* maximum volume modification rate per volume limit, you will need to wait at
* least six hours before applying further modifications to the affected EBS
* volume.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolume">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyVolumeAsync(const Model::ModifyVolumeRequest& request, const ModifyVolumeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Modifies a volume attribute.</p> <p>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.</p> <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttribute">AWS
* API Reference</a></p>
*/
virtual Model::ModifyVolumeAttributeOutcome ModifyVolumeAttribute(const Model::ModifyVolumeAttributeRequest& request) const;
/**
* <p>Modifies a volume attribute.</p> <p>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.</p> <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttribute">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyVolumeAttributeOutcomeCallable ModifyVolumeAttributeCallable(const Model::ModifyVolumeAttributeRequest& request) const;
/**
* <p>Modifies a volume attribute.</p> <p>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.</p> <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttribute">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyVolumeAttributeAsync(const Model::ModifyVolumeAttributeRequest& request, const ModifyVolumeAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Modifies the specified attribute of the specified VPC.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttribute">AWS
* API Reference</a></p>
*/
virtual Model::ModifyVpcAttributeOutcome ModifyVpcAttribute(const Model::ModifyVpcAttributeRequest& request) const;
/**
* <p>Modifies the specified attribute of the specified VPC.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttribute">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyVpcAttributeOutcomeCallable ModifyVpcAttributeCallable(const Model::ModifyVpcAttributeRequest& request) const;
/**
* <p>Modifies the specified attribute of the specified VPC.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttribute">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyVpcAttributeAsync(const Model::ModifyVpcAttributeRequest& request, const ModifyVpcAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Modifies attributes of a specified VPC endpoint. The attributes that you can
* modify depend on the type of VPC endpoint (interface or gateway). For more
* information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html">VPC
* Endpoints</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpoint">AWS
* API Reference</a></p>
*/
virtual Model::ModifyVpcEndpointOutcome ModifyVpcEndpoint(const Model::ModifyVpcEndpointRequest& request) const;
/**
* <p>Modifies attributes of a specified VPC endpoint. The attributes that you can
* modify depend on the type of VPC endpoint (interface or gateway). For more
* information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html">VPC
* Endpoints</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpoint">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyVpcEndpointOutcomeCallable ModifyVpcEndpointCallable(const Model::ModifyVpcEndpointRequest& request) const;
/**
* <p>Modifies attributes of a specified VPC endpoint. The attributes that you can
* modify depend on the type of VPC endpoint (interface or gateway). For more
* information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html">VPC
* Endpoints</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpoint">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyVpcEndpointAsync(const Model::ModifyVpcEndpointRequest& request, const ModifyVpcEndpointResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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. </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointConnectionNotification">AWS
* API Reference</a></p>
*/
virtual Model::ModifyVpcEndpointConnectionNotificationOutcome ModifyVpcEndpointConnectionNotification(const Model::ModifyVpcEndpointConnectionNotificationRequest& request) const;
/**
* <p>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. </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointConnectionNotification">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyVpcEndpointConnectionNotificationOutcomeCallable ModifyVpcEndpointConnectionNotificationCallable(const Model::ModifyVpcEndpointConnectionNotificationRequest& request) const;
/**
* <p>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. </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointConnectionNotification">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyVpcEndpointConnectionNotificationAsync(const Model::ModifyVpcEndpointConnectionNotificationRequest& request, const ModifyVpcEndpointConnectionNotificationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Modifies the attributes of your VPC endpoint service configuration. You can
* change the Network Load Balancers for your service, and you can specify whether
* acceptance is required for requests to connect to your endpoint service through
* an interface VPC endpoint.</p> <p>If you set or modify the private DNS name, you
* must prove that you own the private DNS domain name. For more information, see
* <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-dns-validation.html">VPC
* Endpoint Service Private DNS Name Verification</a> in the <i>Amazon Virtual
* Private Cloud User Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServiceConfiguration">AWS
* API Reference</a></p>
*/
virtual Model::ModifyVpcEndpointServiceConfigurationOutcome ModifyVpcEndpointServiceConfiguration(const Model::ModifyVpcEndpointServiceConfigurationRequest& request) const;
/**
* <p>Modifies the attributes of your VPC endpoint service configuration. You can
* change the Network Load Balancers for your service, and you can specify whether
* acceptance is required for requests to connect to your endpoint service through
* an interface VPC endpoint.</p> <p>If you set or modify the private DNS name, you
* must prove that you own the private DNS domain name. For more information, see
* <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-dns-validation.html">VPC
* Endpoint Service Private DNS Name Verification</a> in the <i>Amazon Virtual
* Private Cloud User Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServiceConfiguration">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyVpcEndpointServiceConfigurationOutcomeCallable ModifyVpcEndpointServiceConfigurationCallable(const Model::ModifyVpcEndpointServiceConfigurationRequest& request) const;
/**
* <p>Modifies the attributes of your VPC endpoint service configuration. You can
* change the Network Load Balancers for your service, and you can specify whether
* acceptance is required for requests to connect to your endpoint service through
* an interface VPC endpoint.</p> <p>If you set or modify the private DNS name, you
* must prove that you own the private DNS domain name. For more information, see
* <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-dns-validation.html">VPC
* Endpoint Service Private DNS Name Verification</a> in the <i>Amazon Virtual
* Private Cloud User Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServiceConfiguration">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyVpcEndpointServiceConfigurationAsync(const Model::ModifyVpcEndpointServiceConfigurationRequest& request, const ModifyVpcEndpointServiceConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Modifies the permissions for your <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html">VPC
* endpoint service</a>. You can add or remove permissions for service consumers
* (IAM users, IAM roles, and AWS accounts) to connect to your endpoint
* service.</p> <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServicePermissions">AWS
* API Reference</a></p>
*/
virtual Model::ModifyVpcEndpointServicePermissionsOutcome ModifyVpcEndpointServicePermissions(const Model::ModifyVpcEndpointServicePermissionsRequest& request) const;
/**
* <p>Modifies the permissions for your <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html">VPC
* endpoint service</a>. You can add or remove permissions for service consumers
* (IAM users, IAM roles, and AWS accounts) to connect to your endpoint
* service.</p> <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServicePermissions">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyVpcEndpointServicePermissionsOutcomeCallable ModifyVpcEndpointServicePermissionsCallable(const Model::ModifyVpcEndpointServicePermissionsRequest& request) const;
/**
* <p>Modifies the permissions for your <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html">VPC
* endpoint service</a>. You can add or remove permissions for service consumers
* (IAM users, IAM roles, and AWS accounts) to connect to your endpoint
* service.</p> <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServicePermissions">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyVpcEndpointServicePermissionsAsync(const Model::ModifyVpcEndpointServicePermissionsRequest& request, const ModifyVpcEndpointServicePermissionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Modifies the VPC peering connection options on one side of a VPC peering
* connection. You can do the following:</p> <ul> <li> <p>Enable/disable
* communication over the peering connection between an EC2-Classic instance that's
* linked to your VPC (using ClassicLink) and instances in the peer VPC.</p> </li>
* <li> <p>Enable/disable communication over the peering connection between
* instances in your VPC and an EC2-Classic instance that's linked to the peer
* VPC.</p> </li> <li> <p>Enable/disable the ability to resolve public DNS
* hostnames to private IP addresses when queried from instances in the peer
* VPC.</p> </li> </ul> <p>If the peered VPCs are in the same AWS 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 AWS accounts or different
* Regions. For peered VPCs in different AWS accounts, each AWS 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
* <a>DescribeVpcPeeringConnections</a> command.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptions">AWS
* API Reference</a></p>
*/
virtual Model::ModifyVpcPeeringConnectionOptionsOutcome ModifyVpcPeeringConnectionOptions(const Model::ModifyVpcPeeringConnectionOptionsRequest& request) const;
/**
* <p>Modifies the VPC peering connection options on one side of a VPC peering
* connection. You can do the following:</p> <ul> <li> <p>Enable/disable
* communication over the peering connection between an EC2-Classic instance that's
* linked to your VPC (using ClassicLink) and instances in the peer VPC.</p> </li>
* <li> <p>Enable/disable communication over the peering connection between
* instances in your VPC and an EC2-Classic instance that's linked to the peer
* VPC.</p> </li> <li> <p>Enable/disable the ability to resolve public DNS
* hostnames to private IP addresses when queried from instances in the peer
* VPC.</p> </li> </ul> <p>If the peered VPCs are in the same AWS 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 AWS accounts or different
* Regions. For peered VPCs in different AWS accounts, each AWS 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
* <a>DescribeVpcPeeringConnections</a> command.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptions">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyVpcPeeringConnectionOptionsOutcomeCallable ModifyVpcPeeringConnectionOptionsCallable(const Model::ModifyVpcPeeringConnectionOptionsRequest& request) const;
/**
* <p>Modifies the VPC peering connection options on one side of a VPC peering
* connection. You can do the following:</p> <ul> <li> <p>Enable/disable
* communication over the peering connection between an EC2-Classic instance that's
* linked to your VPC (using ClassicLink) and instances in the peer VPC.</p> </li>
* <li> <p>Enable/disable communication over the peering connection between
* instances in your VPC and an EC2-Classic instance that's linked to the peer
* VPC.</p> </li> <li> <p>Enable/disable the ability to resolve public DNS
* hostnames to private IP addresses when queried from instances in the peer
* VPC.</p> </li> </ul> <p>If the peered VPCs are in the same AWS 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 AWS accounts or different
* Regions. For peered VPCs in different AWS accounts, each AWS 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
* <a>DescribeVpcPeeringConnections</a> command.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptions">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyVpcPeeringConnectionOptionsAsync(const Model::ModifyVpcPeeringConnectionOptionsRequest& request, const ModifyVpcPeeringConnectionOptionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Modifies the instance tenancy attribute of the specified VPC. You can change
* the instance tenancy attribute of a VPC to <code>default</code> only. You cannot
* change the instance tenancy attribute to <code>dedicated</code>.</p> <p>After
* you modify the tenancy of the VPC, any new instances that you launch into the
* VPC have a tenancy of <code>default</code>, unless you specify otherwise during
* launch. The tenancy of any existing instances in the VPC is not affected.</p>
* <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html">Dedicated
* Instances</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcTenancy">AWS
* API Reference</a></p>
*/
virtual Model::ModifyVpcTenancyOutcome ModifyVpcTenancy(const Model::ModifyVpcTenancyRequest& request) const;
/**
* <p>Modifies the instance tenancy attribute of the specified VPC. You can change
* the instance tenancy attribute of a VPC to <code>default</code> only. You cannot
* change the instance tenancy attribute to <code>dedicated</code>.</p> <p>After
* you modify the tenancy of the VPC, any new instances that you launch into the
* VPC have a tenancy of <code>default</code>, unless you specify otherwise during
* launch. The tenancy of any existing instances in the VPC is not affected.</p>
* <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html">Dedicated
* Instances</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcTenancy">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyVpcTenancyOutcomeCallable ModifyVpcTenancyCallable(const Model::ModifyVpcTenancyRequest& request) const;
/**
* <p>Modifies the instance tenancy attribute of the specified VPC. You can change
* the instance tenancy attribute of a VPC to <code>default</code> only. You cannot
* change the instance tenancy attribute to <code>dedicated</code>.</p> <p>After
* you modify the tenancy of the VPC, any new instances that you launch into the
* VPC have a tenancy of <code>default</code>, unless you specify otherwise during
* launch. The tenancy of any existing instances in the VPC is not affected.</p>
* <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html">Dedicated
* Instances</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcTenancy">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyVpcTenancyAsync(const Model::ModifyVpcTenancyRequest& request, const ModifyVpcTenancyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Modifies the customer gateway or the target gateway of an AWS Site-to-Site
* VPN connection. To modify the target gateway, the following migration options
* are available:</p> <ul> <li> <p>An existing virtual private gateway to a new
* virtual private gateway</p> </li> <li> <p>An existing virtual private gateway to
* a transit gateway</p> </li> <li> <p>An existing transit gateway to a new transit
* gateway</p> </li> <li> <p>An existing transit gateway to a virtual private
* gateway</p> </li> </ul> <p>Before you perform the migration to the new gateway,
* you must configure the new gateway. Use <a>CreateVpnGateway</a> to create a
* virtual private gateway, or <a>CreateTransitGateway</a> to create a transit
* gateway.</p> <p>This step is required when you migrate from a virtual private
* gateway with static routes to a transit gateway. </p> <p>You must delete the
* static routes before you migrate to the new gateway.</p> <p>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.</p> <p>After you
* migrate to the new gateway, you might need to modify your VPC route table. Use
* <a>CreateRoute</a> and <a>DeleteRoute</a> to make the changes described in <a
* href="https://docs.aws.amazon.com/vpn/latest/s2svpn/modify-vpn-target.html#step-update-routing">VPN
* Gateway Target Modification Required VPC Route Table Updates</a> in the <i>AWS
* Site-to-Site VPN User Guide</i>.</p> <p> When the new gateway is a transit
* gateway, modify the transit gateway route table to allow traffic between the VPC
* and the AWS Site-to-Site VPN connection. Use <a>CreateTransitGatewayRoute</a> to
* add the routes.</p> <p> If you deleted VPN static routes, you must add the
* static routes to the transit gateway route table.</p> <p>After you perform this
* operation, the AWS VPN endpoint's IP addresses on the AWS side and the tunnel
* options remain intact. Your AWS Site-to-Site VPN connection will be temporarily
* unavailable for a brief period while we provision the new
* endpoints.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnConnection">AWS
* API Reference</a></p>
*/
virtual Model::ModifyVpnConnectionOutcome ModifyVpnConnection(const Model::ModifyVpnConnectionRequest& request) const;
/**
* <p>Modifies the customer gateway or the target gateway of an AWS Site-to-Site
* VPN connection. To modify the target gateway, the following migration options
* are available:</p> <ul> <li> <p>An existing virtual private gateway to a new
* virtual private gateway</p> </li> <li> <p>An existing virtual private gateway to
* a transit gateway</p> </li> <li> <p>An existing transit gateway to a new transit
* gateway</p> </li> <li> <p>An existing transit gateway to a virtual private
* gateway</p> </li> </ul> <p>Before you perform the migration to the new gateway,
* you must configure the new gateway. Use <a>CreateVpnGateway</a> to create a
* virtual private gateway, or <a>CreateTransitGateway</a> to create a transit
* gateway.</p> <p>This step is required when you migrate from a virtual private
* gateway with static routes to a transit gateway. </p> <p>You must delete the
* static routes before you migrate to the new gateway.</p> <p>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.</p> <p>After you
* migrate to the new gateway, you might need to modify your VPC route table. Use
* <a>CreateRoute</a> and <a>DeleteRoute</a> to make the changes described in <a
* href="https://docs.aws.amazon.com/vpn/latest/s2svpn/modify-vpn-target.html#step-update-routing">VPN
* Gateway Target Modification Required VPC Route Table Updates</a> in the <i>AWS
* Site-to-Site VPN User Guide</i>.</p> <p> When the new gateway is a transit
* gateway, modify the transit gateway route table to allow traffic between the VPC
* and the AWS Site-to-Site VPN connection. Use <a>CreateTransitGatewayRoute</a> to
* add the routes.</p> <p> If you deleted VPN static routes, you must add the
* static routes to the transit gateway route table.</p> <p>After you perform this
* operation, the AWS VPN endpoint's IP addresses on the AWS side and the tunnel
* options remain intact. Your AWS Site-to-Site VPN connection will be temporarily
* unavailable for a brief period while we provision the new
* endpoints.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnConnection">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyVpnConnectionOutcomeCallable ModifyVpnConnectionCallable(const Model::ModifyVpnConnectionRequest& request) const;
/**
* <p>Modifies the customer gateway or the target gateway of an AWS Site-to-Site
* VPN connection. To modify the target gateway, the following migration options
* are available:</p> <ul> <li> <p>An existing virtual private gateway to a new
* virtual private gateway</p> </li> <li> <p>An existing virtual private gateway to
* a transit gateway</p> </li> <li> <p>An existing transit gateway to a new transit
* gateway</p> </li> <li> <p>An existing transit gateway to a virtual private
* gateway</p> </li> </ul> <p>Before you perform the migration to the new gateway,
* you must configure the new gateway. Use <a>CreateVpnGateway</a> to create a
* virtual private gateway, or <a>CreateTransitGateway</a> to create a transit
* gateway.</p> <p>This step is required when you migrate from a virtual private
* gateway with static routes to a transit gateway. </p> <p>You must delete the
* static routes before you migrate to the new gateway.</p> <p>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.</p> <p>After you
* migrate to the new gateway, you might need to modify your VPC route table. Use
* <a>CreateRoute</a> and <a>DeleteRoute</a> to make the changes described in <a
* href="https://docs.aws.amazon.com/vpn/latest/s2svpn/modify-vpn-target.html#step-update-routing">VPN
* Gateway Target Modification Required VPC Route Table Updates</a> in the <i>AWS
* Site-to-Site VPN User Guide</i>.</p> <p> When the new gateway is a transit
* gateway, modify the transit gateway route table to allow traffic between the VPC
* and the AWS Site-to-Site VPN connection. Use <a>CreateTransitGatewayRoute</a> to
* add the routes.</p> <p> If you deleted VPN static routes, you must add the
* static routes to the transit gateway route table.</p> <p>After you perform this
* operation, the AWS VPN endpoint's IP addresses on the AWS side and the tunnel
* options remain intact. Your AWS Site-to-Site VPN connection will be temporarily
* unavailable for a brief period while we provision the new
* endpoints.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnConnection">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyVpnConnectionAsync(const Model::ModifyVpnConnectionRequest& request, const ModifyVpnConnectionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Modifies the VPN tunnel endpoint certificate.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnTunnelCertificate">AWS
* API Reference</a></p>
*/
virtual Model::ModifyVpnTunnelCertificateOutcome ModifyVpnTunnelCertificate(const Model::ModifyVpnTunnelCertificateRequest& request) const;
/**
* <p>Modifies the VPN tunnel endpoint certificate.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnTunnelCertificate">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyVpnTunnelCertificateOutcomeCallable ModifyVpnTunnelCertificateCallable(const Model::ModifyVpnTunnelCertificateRequest& request) const;
/**
* <p>Modifies the VPN tunnel endpoint certificate.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnTunnelCertificate">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyVpnTunnelCertificateAsync(const Model::ModifyVpnTunnelCertificateRequest& request, const ModifyVpnTunnelCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Modifies the options for a VPN tunnel in an AWS 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 <a
* href="https://docs.aws.amazon.com/vpn/latest/s2svpn/VPNTunnels.html">Site-to-Site
* VPN Tunnel Options for Your Site-to-Site VPN Connection</a> in the <i>AWS
* Site-to-Site VPN User Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnTunnelOptions">AWS
* API Reference</a></p>
*/
virtual Model::ModifyVpnTunnelOptionsOutcome ModifyVpnTunnelOptions(const Model::ModifyVpnTunnelOptionsRequest& request) const;
/**
* <p>Modifies the options for a VPN tunnel in an AWS 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 <a
* href="https://docs.aws.amazon.com/vpn/latest/s2svpn/VPNTunnels.html">Site-to-Site
* VPN Tunnel Options for Your Site-to-Site VPN Connection</a> in the <i>AWS
* Site-to-Site VPN User Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnTunnelOptions">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ModifyVpnTunnelOptionsOutcomeCallable ModifyVpnTunnelOptionsCallable(const Model::ModifyVpnTunnelOptionsRequest& request) const;
/**
* <p>Modifies the options for a VPN tunnel in an AWS 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 <a
* href="https://docs.aws.amazon.com/vpn/latest/s2svpn/VPNTunnels.html">Site-to-Site
* VPN Tunnel Options for Your Site-to-Site VPN Connection</a> in the <i>AWS
* Site-to-Site VPN User Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnTunnelOptions">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ModifyVpnTunnelOptionsAsync(const Model::ModifyVpnTunnelOptionsRequest& request, const ModifyVpnTunnelOptionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Enables detailed monitoring for a running instance. Otherwise, basic
* monitoring is enabled. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html">Monitoring
* your instances and volumes</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p> <p>To disable detailed monitoring, see .</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstances">AWS
* API Reference</a></p>
*/
virtual Model::MonitorInstancesOutcome MonitorInstances(const Model::MonitorInstancesRequest& request) const;
/**
* <p>Enables detailed monitoring for a running instance. Otherwise, basic
* monitoring is enabled. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html">Monitoring
* your instances and volumes</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p> <p>To disable detailed monitoring, see .</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstances">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::MonitorInstancesOutcomeCallable MonitorInstancesCallable(const Model::MonitorInstancesRequest& request) const;
/**
* <p>Enables detailed monitoring for a running instance. Otherwise, basic
* monitoring is enabled. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html">Monitoring
* your instances and volumes</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p> <p>To disable detailed monitoring, see .</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstances">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void MonitorInstancesAsync(const Model::MonitorInstancesRequest& request, const MonitorInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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 <a>RestoreAddressToClassic</a> request. You
* cannot move an Elastic IP address that was originally allocated for use in the
* EC2-VPC platform to the EC2-Classic platform. </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpc">AWS
* API Reference</a></p>
*/
virtual Model::MoveAddressToVpcOutcome MoveAddressToVpc(const Model::MoveAddressToVpcRequest& request) const;
/**
* <p>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 <a>RestoreAddressToClassic</a> request. You
* cannot move an Elastic IP address that was originally allocated for use in the
* EC2-VPC platform to the EC2-Classic platform. </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpc">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::MoveAddressToVpcOutcomeCallable MoveAddressToVpcCallable(const Model::MoveAddressToVpcRequest& request) const;
/**
* <p>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 <a>RestoreAddressToClassic</a> request. You
* cannot move an Elastic IP address that was originally allocated for use in the
* EC2-VPC platform to the EC2-Classic platform. </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpc">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void MoveAddressToVpcAsync(const Model::MoveAddressToVpcRequest& request, const MoveAddressToVpcResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Provisions an IPv4 or IPv6 address range for use with your AWS 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
* <a>AdvertiseByoipCidr</a>.</p> <p>AWS 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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html">Bring
* Your Own IP Addresses (BYOIP)</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p> <p>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 <code>pending-provision</code> to
* <code>provisioned</code>. To monitor the status of an address range, use
* <a>DescribeByoipCidrs</a>. To allocate an Elastic IP address from your IPv4
* address pool, use <a>AllocateAddress</a> with either the specific address from
* the address pool or the ID of the address pool.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ProvisionByoipCidr">AWS
* API Reference</a></p>
*/
virtual Model::ProvisionByoipCidrOutcome ProvisionByoipCidr(const Model::ProvisionByoipCidrRequest& request) const;
/**
* <p>Provisions an IPv4 or IPv6 address range for use with your AWS 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
* <a>AdvertiseByoipCidr</a>.</p> <p>AWS 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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html">Bring
* Your Own IP Addresses (BYOIP)</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p> <p>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 <code>pending-provision</code> to
* <code>provisioned</code>. To monitor the status of an address range, use
* <a>DescribeByoipCidrs</a>. To allocate an Elastic IP address from your IPv4
* address pool, use <a>AllocateAddress</a> with either the specific address from
* the address pool or the ID of the address pool.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ProvisionByoipCidr">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ProvisionByoipCidrOutcomeCallable ProvisionByoipCidrCallable(const Model::ProvisionByoipCidrRequest& request) const;
/**
* <p>Provisions an IPv4 or IPv6 address range for use with your AWS 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
* <a>AdvertiseByoipCidr</a>.</p> <p>AWS 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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html">Bring
* Your Own IP Addresses (BYOIP)</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p> <p>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 <code>pending-provision</code> to
* <code>provisioned</code>. To monitor the status of an address range, use
* <a>DescribeByoipCidrs</a>. To allocate an Elastic IP address from your IPv4
* address pool, use <a>AllocateAddress</a> with either the specific address from
* the address pool or the ID of the address pool.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ProvisionByoipCidr">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ProvisionByoipCidrAsync(const Model::ProvisionByoipCidrRequest& request, const ProvisionByoipCidrResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservation">AWS
* API Reference</a></p>
*/
virtual Model::PurchaseHostReservationOutcome PurchaseHostReservation(const Model::PurchaseHostReservationRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservation">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::PurchaseHostReservationOutcomeCallable PurchaseHostReservationCallable(const Model::PurchaseHostReservationRequest& request) const;
/**
* <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservation">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void PurchaseHostReservationAsync(const Model::PurchaseHostReservationRequest& request, const PurchaseHostReservationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Purchases a Reserved Instance for use with your account. With Reserved
* Instances, you pay a lower hourly rate compared to On-Demand instance
* pricing.</p> <p>Use <a>DescribeReservedInstancesOfferings</a> 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
* <a>DescribeReservedInstances</a>.</p> <p>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.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html">Reserved
* Instances</a> and <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html">Reserved
* Instance Marketplace</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOffering">AWS
* API Reference</a></p>
*/
virtual Model::PurchaseReservedInstancesOfferingOutcome PurchaseReservedInstancesOffering(const Model::PurchaseReservedInstancesOfferingRequest& request) const;
/**
* <p>Purchases a Reserved Instance for use with your account. With Reserved
* Instances, you pay a lower hourly rate compared to On-Demand instance
* pricing.</p> <p>Use <a>DescribeReservedInstancesOfferings</a> 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
* <a>DescribeReservedInstances</a>.</p> <p>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.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html">Reserved
* Instances</a> and <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html">Reserved
* Instance Marketplace</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOffering">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::PurchaseReservedInstancesOfferingOutcomeCallable PurchaseReservedInstancesOfferingCallable(const Model::PurchaseReservedInstancesOfferingRequest& request) const;
/**
* <p>Purchases a Reserved Instance for use with your account. With Reserved
* Instances, you pay a lower hourly rate compared to On-Demand instance
* pricing.</p> <p>Use <a>DescribeReservedInstancesOfferings</a> 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
* <a>DescribeReservedInstances</a>.</p> <p>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.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html">Reserved
* Instances</a> and <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html">Reserved
* Instance Marketplace</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOffering">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void PurchaseReservedInstancesOfferingAsync(const Model::PurchaseReservedInstancesOfferingRequest& request, const PurchaseReservedInstancesOfferingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Purchases the Scheduled Instances with the specified schedule.</p>
* <p>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 <a>DescribeScheduledInstanceAvailability</a> to check for available
* schedules and obtain a purchase token. After you purchase a Scheduled Instance,
* you must call <a>RunScheduledInstances</a> during each scheduled time
* period.</p> <p>After you purchase a Scheduled Instance, you can't cancel,
* modify, or resell your purchase.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstances">AWS
* API Reference</a></p>
*/
virtual Model::PurchaseScheduledInstancesOutcome PurchaseScheduledInstances(const Model::PurchaseScheduledInstancesRequest& request) const;
/**
* <p>Purchases the Scheduled Instances with the specified schedule.</p>
* <p>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 <a>DescribeScheduledInstanceAvailability</a> to check for available
* schedules and obtain a purchase token. After you purchase a Scheduled Instance,
* you must call <a>RunScheduledInstances</a> during each scheduled time
* period.</p> <p>After you purchase a Scheduled Instance, you can't cancel,
* modify, or resell your purchase.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstances">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::PurchaseScheduledInstancesOutcomeCallable PurchaseScheduledInstancesCallable(const Model::PurchaseScheduledInstancesRequest& request) const;
/**
* <p>Purchases the Scheduled Instances with the specified schedule.</p>
* <p>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 <a>DescribeScheduledInstanceAvailability</a> to check for available
* schedules and obtain a purchase token. After you purchase a Scheduled Instance,
* you must call <a>RunScheduledInstances</a> during each scheduled time
* period.</p> <p>After you purchase a Scheduled Instance, you can't cancel,
* modify, or resell your purchase.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstances">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void PurchaseScheduledInstancesAsync(const Model::PurchaseScheduledInstancesRequest& request, const PurchaseScheduledInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p> <p>If an instance does not cleanly shut
* down within four minutes, Amazon EC2 performs a hard reboot.</p> <p>For more
* information about troubleshooting, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html">Getting
* console output and rebooting instances</a> in the <i>Amazon Elastic Compute
* Cloud User Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstances">AWS
* API Reference</a></p>
*/
virtual Model::RebootInstancesOutcome RebootInstances(const Model::RebootInstancesRequest& request) const;
/**
* <p>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.</p> <p>If an instance does not cleanly shut
* down within four minutes, Amazon EC2 performs a hard reboot.</p> <p>For more
* information about troubleshooting, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html">Getting
* console output and rebooting instances</a> in the <i>Amazon Elastic Compute
* Cloud User Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstances">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::RebootInstancesOutcomeCallable RebootInstancesCallable(const Model::RebootInstancesRequest& request) const;
/**
* <p>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.</p> <p>If an instance does not cleanly shut
* down within four minutes, Amazon EC2 performs a hard reboot.</p> <p>For more
* information about troubleshooting, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html">Getting
* console output and rebooting instances</a> in the <i>Amazon Elastic Compute
* Cloud User Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstances">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void RebootInstancesAsync(const Model::RebootInstancesRequest& request, const RebootInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Registers an AMI. When you're creating an AMI, this is the final step you
* must complete before you can launch an instance from the AMI. For more
* information about creating AMIs, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html">Creating
* your own AMIs</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* <p>For Amazon EBS-backed instances, <a>CreateImage</a> creates and
* registers the AMI in a single request, so you don't have to register the AMI
* yourself.</p> <p>You can also use <code>RegisterImage</code> to create
* an Amazon EBS-backed Linux AMI from a snapshot of a root device volume. You
* specify the snapshot using the block device mapping. For more information, see
* <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-launch-snapshot.html">Launching
* a Linux instance from a backup</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p> <p>If any snapshots have AWS Marketplace product codes, they are
* copied to the new AMI.</p> <p>Windows and some Linux distributions, such as Red
* Hat Enterprise Linux (RHEL) and SUSE Linux Enterprise Server (SLES), use the EC2
* billing product code associated with an AMI to verify the subscription status
* for package updates. To create a new AMI for operating systems that require a
* billing product code, instead of registering the AMI, do the following to
* preserve the billing product code association:</p> <ol> <li> <p>Launch an
* instance from an existing AMI with that billing product code.</p> </li> <li>
* <p>Customize the instance.</p> </li> <li> <p>Create an AMI from the instance
* using <a>CreateImage</a>.</p> </li> </ol> <p>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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-billing-info.html">Obtaining
* billing information</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p> <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImage">AWS
* API Reference</a></p>
*/
virtual Model::RegisterImageOutcome RegisterImage(const Model::RegisterImageRequest& request) const;
/**
* <p>Registers an AMI. When you're creating an AMI, this is the final step you
* must complete before you can launch an instance from the AMI. For more
* information about creating AMIs, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html">Creating
* your own AMIs</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* <p>For Amazon EBS-backed instances, <a>CreateImage</a> creates and
* registers the AMI in a single request, so you don't have to register the AMI
* yourself.</p> <p>You can also use <code>RegisterImage</code> to create
* an Amazon EBS-backed Linux AMI from a snapshot of a root device volume. You
* specify the snapshot using the block device mapping. For more information, see
* <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-launch-snapshot.html">Launching
* a Linux instance from a backup</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p> <p>If any snapshots have AWS Marketplace product codes, they are
* copied to the new AMI.</p> <p>Windows and some Linux distributions, such as Red
* Hat Enterprise Linux (RHEL) and SUSE Linux Enterprise Server (SLES), use the EC2
* billing product code associated with an AMI to verify the subscription status
* for package updates. To create a new AMI for operating systems that require a
* billing product code, instead of registering the AMI, do the following to
* preserve the billing product code association:</p> <ol> <li> <p>Launch an
* instance from an existing AMI with that billing product code.</p> </li> <li>
* <p>Customize the instance.</p> </li> <li> <p>Create an AMI from the instance
* using <a>CreateImage</a>.</p> </li> </ol> <p>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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-billing-info.html">Obtaining
* billing information</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p> <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImage">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::RegisterImageOutcomeCallable RegisterImageCallable(const Model::RegisterImageRequest& request) const;
/**
* <p>Registers an AMI. When you're creating an AMI, this is the final step you
* must complete before you can launch an instance from the AMI. For more
* information about creating AMIs, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html">Creating
* your own AMIs</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* <p>For Amazon EBS-backed instances, <a>CreateImage</a> creates and
* registers the AMI in a single request, so you don't have to register the AMI
* yourself.</p> <p>You can also use <code>RegisterImage</code> to create
* an Amazon EBS-backed Linux AMI from a snapshot of a root device volume. You
* specify the snapshot using the block device mapping. For more information, see
* <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-launch-snapshot.html">Launching
* a Linux instance from a backup</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p> <p>If any snapshots have AWS Marketplace product codes, they are
* copied to the new AMI.</p> <p>Windows and some Linux distributions, such as Red
* Hat Enterprise Linux (RHEL) and SUSE Linux Enterprise Server (SLES), use the EC2
* billing product code associated with an AMI to verify the subscription status
* for package updates. To create a new AMI for operating systems that require a
* billing product code, instead of registering the AMI, do the following to
* preserve the billing product code association:</p> <ol> <li> <p>Launch an
* instance from an existing AMI with that billing product code.</p> </li> <li>
* <p>Customize the instance.</p> </li> <li> <p>Create an AMI from the instance
* using <a>CreateImage</a>.</p> </li> </ol> <p>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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-billing-info.html">Obtaining
* billing information</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p> <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImage">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void RegisterImageAsync(const Model::RegisterImageRequest& request, const RegisterImageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Registers a set of tag keys to include in scheduled event notifications for
* your resources. </p> <p>To remove tags, use .</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterInstanceEventNotificationAttributes">AWS
* API Reference</a></p>
*/
virtual Model::RegisterInstanceEventNotificationAttributesOutcome RegisterInstanceEventNotificationAttributes(const Model::RegisterInstanceEventNotificationAttributesRequest& request) const;
/**
* <p>Registers a set of tag keys to include in scheduled event notifications for
* your resources. </p> <p>To remove tags, use .</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterInstanceEventNotificationAttributes">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::RegisterInstanceEventNotificationAttributesOutcomeCallable RegisterInstanceEventNotificationAttributesCallable(const Model::RegisterInstanceEventNotificationAttributesRequest& request) const;
/**
* <p>Registers a set of tag keys to include in scheduled event notifications for
* your resources. </p> <p>To remove tags, use .</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterInstanceEventNotificationAttributes">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void RegisterInstanceEventNotificationAttributesAsync(const Model::RegisterInstanceEventNotificationAttributesRequest& request, const RegisterInstanceEventNotificationAttributesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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 information about supported instances, see
* <a
* href="https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-limits.html#multicast-limits">Multicast
* Consideration</a> in <i>Amazon VPC Transit Gateways</i>.</p> <p>After you add
* the members, use <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SearchTransitGatewayMulticastGroups.html">SearchTransitGatewayMulticastGroups</a>
* to verify that the members were added to the transit gateway multicast
* group.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterTransitGatewayMulticastGroupMembers">AWS
* API Reference</a></p>
*/
virtual Model::RegisterTransitGatewayMulticastGroupMembersOutcome RegisterTransitGatewayMulticastGroupMembers(const Model::RegisterTransitGatewayMulticastGroupMembersRequest& request) const;
/**
* <p>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 information about supported instances, see
* <a
* href="https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-limits.html#multicast-limits">Multicast
* Consideration</a> in <i>Amazon VPC Transit Gateways</i>.</p> <p>After you add
* the members, use <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SearchTransitGatewayMulticastGroups.html">SearchTransitGatewayMulticastGroups</a>
* to verify that the members were added to the transit gateway multicast
* group.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterTransitGatewayMulticastGroupMembers">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::RegisterTransitGatewayMulticastGroupMembersOutcomeCallable RegisterTransitGatewayMulticastGroupMembersCallable(const Model::RegisterTransitGatewayMulticastGroupMembersRequest& request) const;
/**
* <p>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 information about supported instances, see
* <a
* href="https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-limits.html#multicast-limits">Multicast
* Consideration</a> in <i>Amazon VPC Transit Gateways</i>.</p> <p>After you add
* the members, use <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SearchTransitGatewayMulticastGroups.html">SearchTransitGatewayMulticastGroups</a>
* to verify that the members were added to the transit gateway multicast
* group.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterTransitGatewayMulticastGroupMembers">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void RegisterTransitGatewayMulticastGroupMembersAsync(const Model::RegisterTransitGatewayMulticastGroupMembersRequest& request, const RegisterTransitGatewayMulticastGroupMembersResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Registers sources (network interfaces) with the specified transit gateway
* multicast group.</p> <p>A multicast source is a network interface attached to a
* supported instance that sends multicast traffic. For information about supported
* instances, see <a
* href="https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-limits.html#multicast-limits">Multicast
* Considerations</a> in <i>Amazon VPC Transit Gateways</i>.</p> <p>After you add
* the source, use <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SearchTransitGatewayMulticastGroups.html">SearchTransitGatewayMulticastGroups</a>
* to verify that the source was added to the multicast group.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterTransitGatewayMulticastGroupSources">AWS
* API Reference</a></p>
*/
virtual Model::RegisterTransitGatewayMulticastGroupSourcesOutcome RegisterTransitGatewayMulticastGroupSources(const Model::RegisterTransitGatewayMulticastGroupSourcesRequest& request) const;
/**
* <p>Registers sources (network interfaces) with the specified transit gateway
* multicast group.</p> <p>A multicast source is a network interface attached to a
* supported instance that sends multicast traffic. For information about supported
* instances, see <a
* href="https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-limits.html#multicast-limits">Multicast
* Considerations</a> in <i>Amazon VPC Transit Gateways</i>.</p> <p>After you add
* the source, use <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SearchTransitGatewayMulticastGroups.html">SearchTransitGatewayMulticastGroups</a>
* to verify that the source was added to the multicast group.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterTransitGatewayMulticastGroupSources">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::RegisterTransitGatewayMulticastGroupSourcesOutcomeCallable RegisterTransitGatewayMulticastGroupSourcesCallable(const Model::RegisterTransitGatewayMulticastGroupSourcesRequest& request) const;
/**
* <p>Registers sources (network interfaces) with the specified transit gateway
* multicast group.</p> <p>A multicast source is a network interface attached to a
* supported instance that sends multicast traffic. For information about supported
* instances, see <a
* href="https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-limits.html#multicast-limits">Multicast
* Considerations</a> in <i>Amazon VPC Transit Gateways</i>.</p> <p>After you add
* the source, use <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SearchTransitGatewayMulticastGroups.html">SearchTransitGatewayMulticastGroups</a>
* to verify that the source was added to the multicast group.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterTransitGatewayMulticastGroupSources">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void RegisterTransitGatewayMulticastGroupSourcesAsync(const Model::RegisterTransitGatewayMulticastGroupSourcesRequest& request, const RegisterTransitGatewayMulticastGroupSourcesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Rejects a transit gateway peering attachment request.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayPeeringAttachment">AWS
* API Reference</a></p>
*/
virtual Model::RejectTransitGatewayPeeringAttachmentOutcome RejectTransitGatewayPeeringAttachment(const Model::RejectTransitGatewayPeeringAttachmentRequest& request) const;
/**
* <p>Rejects a transit gateway peering attachment request.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayPeeringAttachment">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::RejectTransitGatewayPeeringAttachmentOutcomeCallable RejectTransitGatewayPeeringAttachmentCallable(const Model::RejectTransitGatewayPeeringAttachmentRequest& request) const;
/**
* <p>Rejects a transit gateway peering attachment request.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayPeeringAttachment">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void RejectTransitGatewayPeeringAttachmentAsync(const Model::RejectTransitGatewayPeeringAttachmentRequest& request, const RejectTransitGatewayPeeringAttachmentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Rejects a request to attach a VPC to a transit gateway.</p> <p>The VPC
* attachment must be in the <code>pendingAcceptance</code> state. Use
* <a>DescribeTransitGatewayVpcAttachments</a> to view your pending VPC attachment
* requests. Use <a>AcceptTransitGatewayVpcAttachment</a> to accept a VPC
* attachment request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayVpcAttachment">AWS
* API Reference</a></p>
*/
virtual Model::RejectTransitGatewayVpcAttachmentOutcome RejectTransitGatewayVpcAttachment(const Model::RejectTransitGatewayVpcAttachmentRequest& request) const;
/**
* <p>Rejects a request to attach a VPC to a transit gateway.</p> <p>The VPC
* attachment must be in the <code>pendingAcceptance</code> state. Use
* <a>DescribeTransitGatewayVpcAttachments</a> to view your pending VPC attachment
* requests. Use <a>AcceptTransitGatewayVpcAttachment</a> to accept a VPC
* attachment request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayVpcAttachment">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::RejectTransitGatewayVpcAttachmentOutcomeCallable RejectTransitGatewayVpcAttachmentCallable(const Model::RejectTransitGatewayVpcAttachmentRequest& request) const;
/**
* <p>Rejects a request to attach a VPC to a transit gateway.</p> <p>The VPC
* attachment must be in the <code>pendingAcceptance</code> state. Use
* <a>DescribeTransitGatewayVpcAttachments</a> to view your pending VPC attachment
* requests. Use <a>AcceptTransitGatewayVpcAttachment</a> to accept a VPC
* attachment request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayVpcAttachment">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void RejectTransitGatewayVpcAttachmentAsync(const Model::RejectTransitGatewayVpcAttachmentRequest& request, const RejectTransitGatewayVpcAttachmentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Rejects one or more VPC endpoint connection requests to your VPC endpoint
* service.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcEndpointConnections">AWS
* API Reference</a></p>
*/
virtual Model::RejectVpcEndpointConnectionsOutcome RejectVpcEndpointConnections(const Model::RejectVpcEndpointConnectionsRequest& request) const;
/**
* <p>Rejects one or more VPC endpoint connection requests to your VPC endpoint
* service.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcEndpointConnections">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::RejectVpcEndpointConnectionsOutcomeCallable RejectVpcEndpointConnectionsCallable(const Model::RejectVpcEndpointConnectionsRequest& request) const;
/**
* <p>Rejects one or more VPC endpoint connection requests to your VPC endpoint
* service.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcEndpointConnections">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void RejectVpcEndpointConnectionsAsync(const Model::RejectVpcEndpointConnectionsRequest& request, const RejectVpcEndpointConnectionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Rejects a VPC peering connection request. The VPC peering connection must be
* in the <code>pending-acceptance</code> state. Use the
* <a>DescribeVpcPeeringConnections</a> 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
* <a>DeleteVpcPeeringConnection</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnection">AWS
* API Reference</a></p>
*/
virtual Model::RejectVpcPeeringConnectionOutcome RejectVpcPeeringConnection(const Model::RejectVpcPeeringConnectionRequest& request) const;
/**
* <p>Rejects a VPC peering connection request. The VPC peering connection must be
* in the <code>pending-acceptance</code> state. Use the
* <a>DescribeVpcPeeringConnections</a> 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
* <a>DeleteVpcPeeringConnection</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnection">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::RejectVpcPeeringConnectionOutcomeCallable RejectVpcPeeringConnectionCallable(const Model::RejectVpcPeeringConnectionRequest& request) const;
/**
* <p>Rejects a VPC peering connection request. The VPC peering connection must be
* in the <code>pending-acceptance</code> state. Use the
* <a>DescribeVpcPeeringConnections</a> 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
* <a>DeleteVpcPeeringConnection</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnection">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void RejectVpcPeeringConnectionAsync(const Model::RejectVpcPeeringConnectionRequest& request, const RejectVpcPeeringConnectionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Releases the specified Elastic IP address.</p> <p>[EC2-Classic, 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 <a>DisassociateAddress</a>.</p> <p>[Nondefault VPC] You must
* use <a>DisassociateAddress</a> to disassociate the Elastic IP address before you
* can release it. Otherwise, Amazon EC2 returns an error
* (<code>InvalidIPAddress.InUse</code>).</p> <p>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 <code>AuthFailure</code> error if the address is already allocated to another
* AWS account.</p> <p>[EC2-VPC] After you release an Elastic IP address for use in
* a VPC, you might be able to recover it. For more information, see
* <a>AllocateAddress</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddress">AWS
* API Reference</a></p>
*/
virtual Model::ReleaseAddressOutcome ReleaseAddress(const Model::ReleaseAddressRequest& request) const;
/**
* <p>Releases the specified Elastic IP address.</p> <p>[EC2-Classic, 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 <a>DisassociateAddress</a>.</p> <p>[Nondefault VPC] You must
* use <a>DisassociateAddress</a> to disassociate the Elastic IP address before you
* can release it. Otherwise, Amazon EC2 returns an error
* (<code>InvalidIPAddress.InUse</code>).</p> <p>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 <code>AuthFailure</code> error if the address is already allocated to another
* AWS account.</p> <p>[EC2-VPC] After you release an Elastic IP address for use in
* a VPC, you might be able to recover it. For more information, see
* <a>AllocateAddress</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddress">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ReleaseAddressOutcomeCallable ReleaseAddressCallable(const Model::ReleaseAddressRequest& request) const;
/**
* <p>Releases the specified Elastic IP address.</p> <p>[EC2-Classic, 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 <a>DisassociateAddress</a>.</p> <p>[Nondefault VPC] You must
* use <a>DisassociateAddress</a> to disassociate the Elastic IP address before you
* can release it. Otherwise, Amazon EC2 returns an error
* (<code>InvalidIPAddress.InUse</code>).</p> <p>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 <code>AuthFailure</code> error if the address is already allocated to another
* AWS account.</p> <p>[EC2-VPC] After you release an Elastic IP address for use in
* a VPC, you might be able to recover it. For more information, see
* <a>AllocateAddress</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddress">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ReleaseAddressAsync(const Model::ReleaseAddressRequest& request, const ReleaseAddressResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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
* <code>released</code> 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.</p> <p>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.</p> <p>Released hosts still appear in a <a>DescribeHosts</a>
* response.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHosts">AWS
* API Reference</a></p>
*/
virtual Model::ReleaseHostsOutcome ReleaseHosts(const Model::ReleaseHostsRequest& request) const;
/**
* <p>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
* <code>released</code> 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.</p> <p>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.</p> <p>Released hosts still appear in a <a>DescribeHosts</a>
* response.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHosts">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ReleaseHostsOutcomeCallable ReleaseHostsCallable(const Model::ReleaseHostsRequest& request) const;
/**
* <p>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
* <code>released</code> 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.</p> <p>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.</p> <p>Released hosts still appear in a <a>DescribeHosts</a>
* response.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHosts">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ReleaseHostsAsync(const Model::ReleaseHostsRequest& request, const ReleaseHostsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p> <p>Use <a>DescribeIamInstanceProfileAssociations</a> to get the
* association ID.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociation">AWS
* API Reference</a></p>
*/
virtual Model::ReplaceIamInstanceProfileAssociationOutcome ReplaceIamInstanceProfileAssociation(const Model::ReplaceIamInstanceProfileAssociationRequest& request) const;
/**
* <p>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.</p> <p>Use <a>DescribeIamInstanceProfileAssociations</a> to get the
* association ID.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociation">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ReplaceIamInstanceProfileAssociationOutcomeCallable ReplaceIamInstanceProfileAssociationCallable(const Model::ReplaceIamInstanceProfileAssociationRequest& request) const;
/**
* <p>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.</p> <p>Use <a>DescribeIamInstanceProfileAssociations</a> to get the
* association ID.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociation">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ReplaceIamInstanceProfileAssociationAsync(const Model::ReplaceIamInstanceProfileAssociationRequest& request, const ReplaceIamInstanceProfileAssociationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html">Network
* ACLs</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p> <p>This is
* an idempotent operation.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociation">AWS
* API Reference</a></p>
*/
virtual Model::ReplaceNetworkAclAssociationOutcome ReplaceNetworkAclAssociation(const Model::ReplaceNetworkAclAssociationRequest& request) const;
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html">Network
* ACLs</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p> <p>This is
* an idempotent operation.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociation">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ReplaceNetworkAclAssociationOutcomeCallable ReplaceNetworkAclAssociationCallable(const Model::ReplaceNetworkAclAssociationRequest& request) const;
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html">Network
* ACLs</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p> <p>This is
* an idempotent operation.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociation">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ReplaceNetworkAclAssociationAsync(const Model::ReplaceNetworkAclAssociationRequest& request, const ReplaceNetworkAclAssociationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Replaces an entry (rule) in a network ACL. For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html">Network
* ACLs</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntry">AWS
* API Reference</a></p>
*/
virtual Model::ReplaceNetworkAclEntryOutcome ReplaceNetworkAclEntry(const Model::ReplaceNetworkAclEntryRequest& request) const;
/**
* <p>Replaces an entry (rule) in a network ACL. For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html">Network
* ACLs</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntry">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ReplaceNetworkAclEntryOutcomeCallable ReplaceNetworkAclEntryCallable(const Model::ReplaceNetworkAclEntryRequest& request) const;
/**
* <p>Replaces an entry (rule) in a network ACL. For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html">Network
* ACLs</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntry">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ReplaceNetworkAclEntryAsync(const Model::ReplaceNetworkAclEntryRequest& request, const ReplaceNetworkAclEntryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Replaces an existing route within a route table in a VPC. You must provide
* only one of the following: internet gateway, virtual private gateway, NAT
* instance, NAT gateway, VPC peering connection, network interface, egress-only
* internet gateway, or transit gateway.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html">Route
* Tables</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRoute">AWS
* API Reference</a></p>
*/
virtual Model::ReplaceRouteOutcome ReplaceRoute(const Model::ReplaceRouteRequest& request) const;
/**
* <p>Replaces an existing route within a route table in a VPC. You must provide
* only one of the following: internet gateway, virtual private gateway, NAT
* instance, NAT gateway, VPC peering connection, network interface, egress-only
* internet gateway, or transit gateway.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html">Route
* Tables</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRoute">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ReplaceRouteOutcomeCallable ReplaceRouteCallable(const Model::ReplaceRouteRequest& request) const;
/**
* <p>Replaces an existing route within a route table in a VPC. You must provide
* only one of the following: internet gateway, virtual private gateway, NAT
* instance, NAT gateway, VPC peering connection, network interface, egress-only
* internet gateway, or transit gateway.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html">Route
* Tables</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRoute">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ReplaceRouteAsync(const Model::ReplaceRouteRequest& request, const ReplaceRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html">Route
* Tables</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p> <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociation">AWS
* API Reference</a></p>
*/
virtual Model::ReplaceRouteTableAssociationOutcome ReplaceRouteTableAssociation(const Model::ReplaceRouteTableAssociationRequest& request) const;
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html">Route
* Tables</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p> <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociation">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ReplaceRouteTableAssociationOutcomeCallable ReplaceRouteTableAssociationCallable(const Model::ReplaceRouteTableAssociationRequest& request) const;
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html">Route
* Tables</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p> <p>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.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociation">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ReplaceRouteTableAssociationAsync(const Model::ReplaceRouteTableAssociationRequest& request, const ReplaceRouteTableAssociationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Replaces the specified route in the specified transit gateway route
* table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceTransitGatewayRoute">AWS
* API Reference</a></p>
*/
virtual Model::ReplaceTransitGatewayRouteOutcome ReplaceTransitGatewayRoute(const Model::ReplaceTransitGatewayRouteRequest& request) const;
/**
* <p>Replaces the specified route in the specified transit gateway route
* table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceTransitGatewayRoute">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ReplaceTransitGatewayRouteOutcomeCallable ReplaceTransitGatewayRouteCallable(const Model::ReplaceTransitGatewayRouteRequest& request) const;
/**
* <p>Replaces the specified route in the specified transit gateway route
* table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceTransitGatewayRoute">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ReplaceTransitGatewayRouteAsync(const Model::ReplaceTransitGatewayRouteRequest& request, const ReplaceTransitGatewayRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Submits feedback about the status of an instance. The instance must be in the
* <code>running</code> state. If your experience with the instance differs from
* the instance status returned by <a>DescribeInstanceStatus</a>, use
* <a>ReportInstanceStatus</a> to report your experience with the instance. Amazon
* EC2 collects this information to improve the accuracy of status checks.</p>
* <p>Use of this action does not change the value returned by
* <a>DescribeInstanceStatus</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatus">AWS
* API Reference</a></p>
*/
virtual Model::ReportInstanceStatusOutcome ReportInstanceStatus(const Model::ReportInstanceStatusRequest& request) const;
/**
* <p>Submits feedback about the status of an instance. The instance must be in the
* <code>running</code> state. If your experience with the instance differs from
* the instance status returned by <a>DescribeInstanceStatus</a>, use
* <a>ReportInstanceStatus</a> to report your experience with the instance. Amazon
* EC2 collects this information to improve the accuracy of status checks.</p>
* <p>Use of this action does not change the value returned by
* <a>DescribeInstanceStatus</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatus">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ReportInstanceStatusOutcomeCallable ReportInstanceStatusCallable(const Model::ReportInstanceStatusRequest& request) const;
/**
* <p>Submits feedback about the status of an instance. The instance must be in the
* <code>running</code> state. If your experience with the instance differs from
* the instance status returned by <a>DescribeInstanceStatus</a>, use
* <a>ReportInstanceStatus</a> to report your experience with the instance. Amazon
* EC2 collects this information to improve the accuracy of status checks.</p>
* <p>Use of this action does not change the value returned by
* <a>DescribeInstanceStatus</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatus">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ReportInstanceStatusAsync(const Model::ReportInstanceStatusRequest& request, const ReportInstanceStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates a Spot Fleet request.</p> <p>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.</p> <p>You can submit a single request that
* includes multiple launch specifications that vary by instance type, AMI,
* Availability Zone, or subnet.</p> <p>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.</p> <p>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.</p> <p>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 <code>spot-fleet-request</code> and
* <code>instance</code> resource types are supported.</p> <p>For more information,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html">Spot
* Fleet requests</a> in the <i>Amazon EC2 User Guide for Linux
* Instances</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleet">AWS
* API Reference</a></p>
*/
virtual Model::RequestSpotFleetOutcome RequestSpotFleet(const Model::RequestSpotFleetRequest& request) const;
/**
* <p>Creates a Spot Fleet request.</p> <p>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.</p> <p>You can submit a single request that
* includes multiple launch specifications that vary by instance type, AMI,
* Availability Zone, or subnet.</p> <p>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.</p> <p>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.</p> <p>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 <code>spot-fleet-request</code> and
* <code>instance</code> resource types are supported.</p> <p>For more information,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html">Spot
* Fleet requests</a> in the <i>Amazon EC2 User Guide for Linux
* Instances</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleet">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::RequestSpotFleetOutcomeCallable RequestSpotFleetCallable(const Model::RequestSpotFleetRequest& request) const;
/**
* <p>Creates a Spot Fleet request.</p> <p>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.</p> <p>You can submit a single request that
* includes multiple launch specifications that vary by instance type, AMI,
* Availability Zone, or subnet.</p> <p>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.</p> <p>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.</p> <p>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 <code>spot-fleet-request</code> and
* <code>instance</code> resource types are supported.</p> <p>For more information,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html">Spot
* Fleet requests</a> in the <i>Amazon EC2 User Guide for Linux
* Instances</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleet">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void RequestSpotFleetAsync(const Model::RequestSpotFleetRequest& request, const RequestSpotFleetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates a Spot Instance request.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html">Spot
* Instance requests</a> in the <i>Amazon EC2 User Guide for Linux
* Instances</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstances">AWS
* API Reference</a></p>
*/
virtual Model::RequestSpotInstancesOutcome RequestSpotInstances(const Model::RequestSpotInstancesRequest& request) const;
/**
* <p>Creates a Spot Instance request.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html">Spot
* Instance requests</a> in the <i>Amazon EC2 User Guide for Linux
* Instances</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstances">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::RequestSpotInstancesOutcomeCallable RequestSpotInstancesCallable(const Model::RequestSpotInstancesRequest& request) const;
/**
* <p>Creates a Spot Instance request.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html">Spot
* Instance requests</a> in the <i>Amazon EC2 User Guide for Linux
* Instances</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstances">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void RequestSpotInstancesAsync(const Model::RequestSpotInstancesRequest& request, const RequestSpotInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Resets the default customer master key (CMK) for EBS encryption for your
* account in this Region to the AWS managed CMK for EBS.</p> <p>After resetting
* the default CMK to the AWS managed CMK, you can continue to encrypt by a
* customer managed CMK by specifying it when you create the volume. For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html">Amazon
* EBS Encryption</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetEbsDefaultKmsKeyId">AWS
* API Reference</a></p>
*/
virtual Model::ResetEbsDefaultKmsKeyIdOutcome ResetEbsDefaultKmsKeyId(const Model::ResetEbsDefaultKmsKeyIdRequest& request) const;
/**
* <p>Resets the default customer master key (CMK) for EBS encryption for your
* account in this Region to the AWS managed CMK for EBS.</p> <p>After resetting
* the default CMK to the AWS managed CMK, you can continue to encrypt by a
* customer managed CMK by specifying it when you create the volume. For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html">Amazon
* EBS Encryption</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetEbsDefaultKmsKeyId">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ResetEbsDefaultKmsKeyIdOutcomeCallable ResetEbsDefaultKmsKeyIdCallable(const Model::ResetEbsDefaultKmsKeyIdRequest& request) const;
/**
* <p>Resets the default customer master key (CMK) for EBS encryption for your
* account in this Region to the AWS managed CMK for EBS.</p> <p>After resetting
* the default CMK to the AWS managed CMK, you can continue to encrypt by a
* customer managed CMK by specifying it when you create the volume. For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html">Amazon
* EBS Encryption</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetEbsDefaultKmsKeyId">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ResetEbsDefaultKmsKeyIdAsync(const Model::ResetEbsDefaultKmsKeyIdRequest& request, const ResetEbsDefaultKmsKeyIdResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Resets the specified attribute of the specified Amazon FPGA Image (AFI) to
* its default value. You can only reset the load permission
* attribute.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetFpgaImageAttribute">AWS
* API Reference</a></p>
*/
virtual Model::ResetFpgaImageAttributeOutcome ResetFpgaImageAttribute(const Model::ResetFpgaImageAttributeRequest& request) const;
/**
* <p>Resets the specified attribute of the specified Amazon FPGA Image (AFI) to
* its default value. You can only reset the load permission
* attribute.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetFpgaImageAttribute">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ResetFpgaImageAttributeOutcomeCallable ResetFpgaImageAttributeCallable(const Model::ResetFpgaImageAttributeRequest& request) const;
/**
* <p>Resets the specified attribute of the specified Amazon FPGA Image (AFI) to
* its default value. You can only reset the load permission
* attribute.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetFpgaImageAttribute">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ResetFpgaImageAttributeAsync(const Model::ResetFpgaImageAttributeRequest& request, const ResetFpgaImageAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Resets an attribute of an AMI to its default value.</p> <p>The
* productCodes attribute can't be reset.</p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttribute">AWS
* API Reference</a></p>
*/
virtual Model::ResetImageAttributeOutcome ResetImageAttribute(const Model::ResetImageAttributeRequest& request) const;
/**
* <p>Resets an attribute of an AMI to its default value.</p> <p>The
* productCodes attribute can't be reset.</p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttribute">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ResetImageAttributeOutcomeCallable ResetImageAttributeCallable(const Model::ResetImageAttributeRequest& request) const;
/**
* <p>Resets an attribute of an AMI to its default value.</p> <p>The
* productCodes attribute can't be reset.</p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttribute">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ResetImageAttributeAsync(const Model::ResetImageAttributeRequest& request, const ResetImageAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Resets an attribute of an instance to its default value. To reset the
* <code>kernel</code> or <code>ramdisk</code>, the instance must be in a stopped
* state. To reset the <code>sourceDestCheck</code>, the instance can be either
* running or stopped.</p> <p>The <code>sourceDestCheck</code> attribute controls
* whether source/destination checking is enabled. The default value is
* <code>true</code>, which means checking is enabled. This value must be
* <code>false</code> for a NAT instance to perform NAT. For more information, see
* <a
* href="https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html">NAT
* Instances</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttribute">AWS
* API Reference</a></p>
*/
virtual Model::ResetInstanceAttributeOutcome ResetInstanceAttribute(const Model::ResetInstanceAttributeRequest& request) const;
/**
* <p>Resets an attribute of an instance to its default value. To reset the
* <code>kernel</code> or <code>ramdisk</code>, the instance must be in a stopped
* state. To reset the <code>sourceDestCheck</code>, the instance can be either
* running or stopped.</p> <p>The <code>sourceDestCheck</code> attribute controls
* whether source/destination checking is enabled. The default value is
* <code>true</code>, which means checking is enabled. This value must be
* <code>false</code> for a NAT instance to perform NAT. For more information, see
* <a
* href="https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html">NAT
* Instances</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttribute">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ResetInstanceAttributeOutcomeCallable ResetInstanceAttributeCallable(const Model::ResetInstanceAttributeRequest& request) const;
/**
* <p>Resets an attribute of an instance to its default value. To reset the
* <code>kernel</code> or <code>ramdisk</code>, the instance must be in a stopped
* state. To reset the <code>sourceDestCheck</code>, the instance can be either
* running or stopped.</p> <p>The <code>sourceDestCheck</code> attribute controls
* whether source/destination checking is enabled. The default value is
* <code>true</code>, which means checking is enabled. This value must be
* <code>false</code> for a NAT instance to perform NAT. For more information, see
* <a
* href="https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html">NAT
* Instances</a> in the <i>Amazon Virtual Private Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttribute">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ResetInstanceAttributeAsync(const Model::ResetInstanceAttributeRequest& request, const ResetInstanceAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Resets a network interface attribute. You can specify only one attribute at a
* time.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttribute">AWS
* API Reference</a></p>
*/
virtual Model::ResetNetworkInterfaceAttributeOutcome ResetNetworkInterfaceAttribute(const Model::ResetNetworkInterfaceAttributeRequest& request) const;
/**
* <p>Resets a network interface attribute. You can specify only one attribute at a
* time.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttribute">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ResetNetworkInterfaceAttributeOutcomeCallable ResetNetworkInterfaceAttributeCallable(const Model::ResetNetworkInterfaceAttributeRequest& request) const;
/**
* <p>Resets a network interface attribute. You can specify only one attribute at a
* time.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttribute">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ResetNetworkInterfaceAttributeAsync(const Model::ResetNetworkInterfaceAttributeRequest& request, const ResetNetworkInterfaceAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Resets permission settings for the specified snapshot.</p> <p>For more
* information about modifying snapshot permissions, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html">Sharing
* snapshots</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttribute">AWS
* API Reference</a></p>
*/
virtual Model::ResetSnapshotAttributeOutcome ResetSnapshotAttribute(const Model::ResetSnapshotAttributeRequest& request) const;
/**
* <p>Resets permission settings for the specified snapshot.</p> <p>For more
* information about modifying snapshot permissions, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html">Sharing
* snapshots</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttribute">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ResetSnapshotAttributeOutcomeCallable ResetSnapshotAttributeCallable(const Model::ResetSnapshotAttributeRequest& request) const;
/**
* <p>Resets permission settings for the specified snapshot.</p> <p>For more
* information about modifying snapshot permissions, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html">Sharing
* snapshots</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttribute">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ResetSnapshotAttributeAsync(const Model::ResetSnapshotAttributeRequest& request, const ResetSnapshotAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>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.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassic">AWS
* API Reference</a></p>
*/
virtual Model::RestoreAddressToClassicOutcome RestoreAddressToClassic(const Model::RestoreAddressToClassicRequest& request) const;
/**
* <p>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.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassic">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::RestoreAddressToClassicOutcomeCallable RestoreAddressToClassicCallable(const Model::RestoreAddressToClassicRequest& request) const;
/**
* <p>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.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassic">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void RestoreAddressToClassicAsync(const Model::RestoreAddressToClassicRequest& request, const RestoreAddressToClassicResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Restores the entries from a previous version of a managed prefix list to a
* new version of the prefix list.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreManagedPrefixListVersion">AWS
* API Reference</a></p>
*/
virtual Model::RestoreManagedPrefixListVersionOutcome RestoreManagedPrefixListVersion(const Model::RestoreManagedPrefixListVersionRequest& request) const;
/**
* <p>Restores the entries from a previous version of a managed prefix list to a
* new version of the prefix list.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreManagedPrefixListVersion">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::RestoreManagedPrefixListVersionOutcomeCallable RestoreManagedPrefixListVersionCallable(const Model::RestoreManagedPrefixListVersionRequest& request) const;
/**
* <p>Restores the entries from a previous version of a managed prefix list to a
* new version of the prefix list.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreManagedPrefixListVersion">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void RestoreManagedPrefixListVersionAsync(const Model::RestoreManagedPrefixListVersionRequest& request, const RestoreManagedPrefixListVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Removes an ingress authorization rule from a Client VPN endpoint.
* </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeClientVpnIngress">AWS
* API Reference</a></p>
*/
virtual Model::RevokeClientVpnIngressOutcome RevokeClientVpnIngress(const Model::RevokeClientVpnIngressRequest& request) const;
/**
* <p>Removes an ingress authorization rule from a Client VPN endpoint.
* </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeClientVpnIngress">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::RevokeClientVpnIngressOutcomeCallable RevokeClientVpnIngressCallable(const Model::RevokeClientVpnIngressRequest& request) const;
/**
* <p>Removes an ingress authorization rule from a Client VPN endpoint.
* </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeClientVpnIngress">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void RevokeClientVpnIngressAsync(const Model::RevokeClientVpnIngressRequest& request, const RevokeClientVpnIngressResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>[VPC only] Removes the specified egress rules from a security group for
* EC2-VPC. This action doesn't apply to security groups for use in EC2-Classic. To
* remove a rule, the values that you specify (for example, ports) must match the
* existing rule's values exactly.</p> <p>Each rule consists of the protocol and
* the IPv4 or IPv6 CIDR range or source security group. 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 have to specify the description to
* revoke the rule.</p> <p>Rule changes are propagated to instances within the
* security group as quickly as possible. However, a small delay might
* occur.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgress">AWS
* API Reference</a></p>
*/
virtual Model::RevokeSecurityGroupEgressOutcome RevokeSecurityGroupEgress(const Model::RevokeSecurityGroupEgressRequest& request) const;
/**
* <p>[VPC only] Removes the specified egress rules from a security group for
* EC2-VPC. This action doesn't apply to security groups for use in EC2-Classic. To
* remove a rule, the values that you specify (for example, ports) must match the
* existing rule's values exactly.</p> <p>Each rule consists of the protocol and
* the IPv4 or IPv6 CIDR range or source security group. 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 have to specify the description to
* revoke the rule.</p> <p>Rule changes are propagated to instances within the
* security group as quickly as possible. However, a small delay might
* occur.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgress">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::RevokeSecurityGroupEgressOutcomeCallable RevokeSecurityGroupEgressCallable(const Model::RevokeSecurityGroupEgressRequest& request) const;
/**
* <p>[VPC only] Removes the specified egress rules from a security group for
* EC2-VPC. This action doesn't apply to security groups for use in EC2-Classic. To
* remove a rule, the values that you specify (for example, ports) must match the
* existing rule's values exactly.</p> <p>Each rule consists of the protocol and
* the IPv4 or IPv6 CIDR range or source security group. 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 have to specify the description to
* revoke the rule.</p> <p>Rule changes are propagated to instances within the
* security group as quickly as possible. However, a small delay might
* occur.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgress">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void RevokeSecurityGroupEgressAsync(const Model::RevokeSecurityGroupEgressRequest& request, const RevokeSecurityGroupEgressResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Removes the specified ingress rules from a security group. To remove a rule,
* the values that you specify (for example, ports) must match the existing rule's
* values exactly.</p> <p>[EC2-Classic only] If the values you specify do
* not match the existing rule's values, no error is returned. Use
* <a>DescribeSecurityGroups</a> to verify that the rule has been removed.</p>
* <p>Each rule consists of the protocol and the CIDR range or source
* security group. 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
* have to specify the description to revoke the rule.</p> <p>Rule changes are
* propagated to instances within the security group as quickly as possible.
* However, a small delay might occur.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngress">AWS
* API Reference</a></p>
*/
virtual Model::RevokeSecurityGroupIngressOutcome RevokeSecurityGroupIngress(const Model::RevokeSecurityGroupIngressRequest& request) const;
/**
* <p>Removes the specified ingress rules from a security group. To remove a rule,
* the values that you specify (for example, ports) must match the existing rule's
* values exactly.</p> <p>[EC2-Classic only] If the values you specify do
* not match the existing rule's values, no error is returned. Use
* <a>DescribeSecurityGroups</a> to verify that the rule has been removed.</p>
* <p>Each rule consists of the protocol and the CIDR range or source
* security group. 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
* have to specify the description to revoke the rule.</p> <p>Rule changes are
* propagated to instances within the security group as quickly as possible.
* However, a small delay might occur.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngress">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::RevokeSecurityGroupIngressOutcomeCallable RevokeSecurityGroupIngressCallable(const Model::RevokeSecurityGroupIngressRequest& request) const;
/**
* <p>Removes the specified ingress rules from a security group. To remove a rule,
* the values that you specify (for example, ports) must match the existing rule's
* values exactly.</p> <p>[EC2-Classic only] If the values you specify do
* not match the existing rule's values, no error is returned. Use
* <a>DescribeSecurityGroups</a> to verify that the rule has been removed.</p>
* <p>Each rule consists of the protocol and the CIDR range or source
* security group. 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
* have to specify the description to revoke the rule.</p> <p>Rule changes are
* propagated to instances within the security group as quickly as possible.
* However, a small delay might occur.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngress">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void RevokeSecurityGroupIngressAsync(const Model::RevokeSecurityGroupIngressRequest& request, const RevokeSecurityGroupIngressResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Launches the specified number of instances using an AMI for which you have
* permissions.</p> <p>You can specify a number of options, or leave the default
* options. The following rules apply:</p> <ul> <li> <p>[EC2-VPC] 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.</p> </li> <li> <p>[EC2-Classic] If don't specify an Availability Zone,
* we choose one for you.</p> </li> <li> <p>Some instance types must be launched
* into a VPC. If you do not have a default VPC, or if you do not specify a subnet
* ID, the request fails. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-vpc.html#vpc-only-instance-types">Instance
* types available only in a VPC</a>.</p> </li> <li> <p>[EC2-VPC] 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.</p>
* </li> <li> <p>Not all instance types support IPv6 addresses. For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html">Instance
* types</a>.</p> </li> <li> <p>If you don't specify a security group ID, we use
* the default security group. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html">Security
* groups</a>.</p> </li> <li> <p>If any of the AMIs have a product code attached
* for which the user has not subscribed, the request fails.</p> </li> </ul> <p>You
* can create a <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html">launch
* template</a>, which is a resource that contains the parameters to launch an
* instance. When you launch an instance using <a>RunInstances</a>, you can specify
* the launch template instead of specifying the launch parameters.</p> <p>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.</p> <p>An instance is ready for you to
* use when it's in the <code>running</code> state. You can check the state of your
* instance using <a>DescribeInstances</a>. You can tag instances and EBS volumes
* during launch, after launch, or both. For more information, see
* <a>CreateTags</a> and <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html">Tagging
* your Amazon EC2 resources</a>.</p> <p>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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html">Key
* pairs</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> <p>For
* troubleshooting, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html">What
* to do if an instance immediately terminates</a>, and <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html">Troubleshooting
* connecting to your instance</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstances">AWS
* API Reference</a></p>
*/
virtual Model::RunInstancesOutcome RunInstances(const Model::RunInstancesRequest& request) const;
/**
* <p>Launches the specified number of instances using an AMI for which you have
* permissions.</p> <p>You can specify a number of options, or leave the default
* options. The following rules apply:</p> <ul> <li> <p>[EC2-VPC] 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.</p> </li> <li> <p>[EC2-Classic] If don't specify an Availability Zone,
* we choose one for you.</p> </li> <li> <p>Some instance types must be launched
* into a VPC. If you do not have a default VPC, or if you do not specify a subnet
* ID, the request fails. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-vpc.html#vpc-only-instance-types">Instance
* types available only in a VPC</a>.</p> </li> <li> <p>[EC2-VPC] 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.</p>
* </li> <li> <p>Not all instance types support IPv6 addresses. For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html">Instance
* types</a>.</p> </li> <li> <p>If you don't specify a security group ID, we use
* the default security group. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html">Security
* groups</a>.</p> </li> <li> <p>If any of the AMIs have a product code attached
* for which the user has not subscribed, the request fails.</p> </li> </ul> <p>You
* can create a <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html">launch
* template</a>, which is a resource that contains the parameters to launch an
* instance. When you launch an instance using <a>RunInstances</a>, you can specify
* the launch template instead of specifying the launch parameters.</p> <p>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.</p> <p>An instance is ready for you to
* use when it's in the <code>running</code> state. You can check the state of your
* instance using <a>DescribeInstances</a>. You can tag instances and EBS volumes
* during launch, after launch, or both. For more information, see
* <a>CreateTags</a> and <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html">Tagging
* your Amazon EC2 resources</a>.</p> <p>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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html">Key
* pairs</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> <p>For
* troubleshooting, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html">What
* to do if an instance immediately terminates</a>, and <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html">Troubleshooting
* connecting to your instance</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstances">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::RunInstancesOutcomeCallable RunInstancesCallable(const Model::RunInstancesRequest& request) const;
/**
* <p>Launches the specified number of instances using an AMI for which you have
* permissions.</p> <p>You can specify a number of options, or leave the default
* options. The following rules apply:</p> <ul> <li> <p>[EC2-VPC] 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.</p> </li> <li> <p>[EC2-Classic] If don't specify an Availability Zone,
* we choose one for you.</p> </li> <li> <p>Some instance types must be launched
* into a VPC. If you do not have a default VPC, or if you do not specify a subnet
* ID, the request fails. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-vpc.html#vpc-only-instance-types">Instance
* types available only in a VPC</a>.</p> </li> <li> <p>[EC2-VPC] 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.</p>
* </li> <li> <p>Not all instance types support IPv6 addresses. For more
* information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html">Instance
* types</a>.</p> </li> <li> <p>If you don't specify a security group ID, we use
* the default security group. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html">Security
* groups</a>.</p> </li> <li> <p>If any of the AMIs have a product code attached
* for which the user has not subscribed, the request fails.</p> </li> </ul> <p>You
* can create a <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html">launch
* template</a>, which is a resource that contains the parameters to launch an
* instance. When you launch an instance using <a>RunInstances</a>, you can specify
* the launch template instead of specifying the launch parameters.</p> <p>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.</p> <p>An instance is ready for you to
* use when it's in the <code>running</code> state. You can check the state of your
* instance using <a>DescribeInstances</a>. You can tag instances and EBS volumes
* during launch, after launch, or both. For more information, see
* <a>CreateTags</a> and <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html">Tagging
* your Amazon EC2 resources</a>.</p> <p>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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html">Key
* pairs</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> <p>For
* troubleshooting, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html">What
* to do if an instance immediately terminates</a>, and <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html">Troubleshooting
* connecting to your instance</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstances">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void RunInstancesAsync(const Model::RunInstancesRequest& request, const RunInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Launches the specified Scheduled Instances.</p> <p>Before you can launch a
* Scheduled Instance, you must purchase it and obtain an identifier using
* <a>PurchaseScheduledInstances</a>.</p> <p>You must launch a Scheduled Instance
* during its scheduled time period. You can't stop or reboot a Scheduled Instance,
* but you can terminate it as needed. If you terminate a Scheduled Instance before
* the current scheduled time period ends, you can launch it again after a few
* minutes. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-scheduled-instances.html">Scheduled
* Instances</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstances">AWS
* API Reference</a></p>
*/
virtual Model::RunScheduledInstancesOutcome RunScheduledInstances(const Model::RunScheduledInstancesRequest& request) const;
/**
* <p>Launches the specified Scheduled Instances.</p> <p>Before you can launch a
* Scheduled Instance, you must purchase it and obtain an identifier using
* <a>PurchaseScheduledInstances</a>.</p> <p>You must launch a Scheduled Instance
* during its scheduled time period. You can't stop or reboot a Scheduled Instance,
* but you can terminate it as needed. If you terminate a Scheduled Instance before
* the current scheduled time period ends, you can launch it again after a few
* minutes. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-scheduled-instances.html">Scheduled
* Instances</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstances">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::RunScheduledInstancesOutcomeCallable RunScheduledInstancesCallable(const Model::RunScheduledInstancesRequest& request) const;
/**
* <p>Launches the specified Scheduled Instances.</p> <p>Before you can launch a
* Scheduled Instance, you must purchase it and obtain an identifier using
* <a>PurchaseScheduledInstances</a>.</p> <p>You must launch a Scheduled Instance
* during its scheduled time period. You can't stop or reboot a Scheduled Instance,
* but you can terminate it as needed. If you terminate a Scheduled Instance before
* the current scheduled time period ends, you can launch it again after a few
* minutes. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-scheduled-instances.html">Scheduled
* Instances</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstances">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void RunScheduledInstancesAsync(const Model::RunScheduledInstancesRequest& request, const RunScheduledInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Searches for routes in the specified local gateway route table.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchLocalGatewayRoutes">AWS
* API Reference</a></p>
*/
virtual Model::SearchLocalGatewayRoutesOutcome SearchLocalGatewayRoutes(const Model::SearchLocalGatewayRoutesRequest& request) const;
/**
* <p>Searches for routes in the specified local gateway route table.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchLocalGatewayRoutes">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::SearchLocalGatewayRoutesOutcomeCallable SearchLocalGatewayRoutesCallable(const Model::SearchLocalGatewayRoutesRequest& request) const;
/**
* <p>Searches for routes in the specified local gateway route table.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchLocalGatewayRoutes">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void SearchLocalGatewayRoutesAsync(const Model::SearchLocalGatewayRoutesRequest& request, const SearchLocalGatewayRoutesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Searches one or more transit gateway multicast groups and returns the group
* membership information.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchTransitGatewayMulticastGroups">AWS
* API Reference</a></p>
*/
virtual Model::SearchTransitGatewayMulticastGroupsOutcome SearchTransitGatewayMulticastGroups(const Model::SearchTransitGatewayMulticastGroupsRequest& request) const;
/**
* <p>Searches one or more transit gateway multicast groups and returns the group
* membership information.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchTransitGatewayMulticastGroups">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::SearchTransitGatewayMulticastGroupsOutcomeCallable SearchTransitGatewayMulticastGroupsCallable(const Model::SearchTransitGatewayMulticastGroupsRequest& request) const;
/**
* <p>Searches one or more transit gateway multicast groups and returns the group
* membership information.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchTransitGatewayMulticastGroups">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void SearchTransitGatewayMulticastGroupsAsync(const Model::SearchTransitGatewayMulticastGroupsRequest& request, const SearchTransitGatewayMulticastGroupsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Searches for routes in the specified transit gateway route
* table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchTransitGatewayRoutes">AWS
* API Reference</a></p>
*/
virtual Model::SearchTransitGatewayRoutesOutcome SearchTransitGatewayRoutes(const Model::SearchTransitGatewayRoutesRequest& request) const;
/**
* <p>Searches for routes in the specified transit gateway route
* table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchTransitGatewayRoutes">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::SearchTransitGatewayRoutesOutcomeCallable SearchTransitGatewayRoutesCallable(const Model::SearchTransitGatewayRoutesRequest& request) const;
/**
* <p>Searches for routes in the specified transit gateway route
* table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchTransitGatewayRoutes">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void SearchTransitGatewayRoutesAsync(const Model::SearchTransitGatewayRoutesRequest& request, const SearchTransitGatewayRoutesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Sends a diagnostic interrupt to the specified Amazon EC2 instance to trigger
* a <i>kernel panic</i> (on Linux instances), or a <i>blue screen</i>/<i>stop
* error</i> (on Windows instances). For instances based on Intel and AMD
* processors, the interrupt is received as a <i>non-maskable interrupt</i>
* (NMI).</p> <p>In general, the operating system crashes and reboots when a kernel
* panic or stop error is triggered. The operating system can also be configured to
* perform diagnostic tasks, such as generating a memory dump file, loading a
* secondary kernel, or obtaining a call trace.</p> <p>Before sending a diagnostic
* interrupt to your instance, ensure that its operating system is configured to
* perform the required diagnostic tasks.</p> <p>For more information about
* configuring your operating system to generate a crash dump when a kernel panic
* or stop error occurs, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/diagnostic-interrupt.html">Send
* a diagnostic interrupt</a> (Linux instances) or <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/diagnostic-interrupt.html">Send
* a Diagnostic Interrupt</a> (Windows instances).</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SendDiagnosticInterrupt">AWS
* API Reference</a></p>
*/
virtual Model::SendDiagnosticInterruptOutcome SendDiagnosticInterrupt(const Model::SendDiagnosticInterruptRequest& request) const;
/**
* <p>Sends a diagnostic interrupt to the specified Amazon EC2 instance to trigger
* a <i>kernel panic</i> (on Linux instances), or a <i>blue screen</i>/<i>stop
* error</i> (on Windows instances). For instances based on Intel and AMD
* processors, the interrupt is received as a <i>non-maskable interrupt</i>
* (NMI).</p> <p>In general, the operating system crashes and reboots when a kernel
* panic or stop error is triggered. The operating system can also be configured to
* perform diagnostic tasks, such as generating a memory dump file, loading a
* secondary kernel, or obtaining a call trace.</p> <p>Before sending a diagnostic
* interrupt to your instance, ensure that its operating system is configured to
* perform the required diagnostic tasks.</p> <p>For more information about
* configuring your operating system to generate a crash dump when a kernel panic
* or stop error occurs, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/diagnostic-interrupt.html">Send
* a diagnostic interrupt</a> (Linux instances) or <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/diagnostic-interrupt.html">Send
* a Diagnostic Interrupt</a> (Windows instances).</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SendDiagnosticInterrupt">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::SendDiagnosticInterruptOutcomeCallable SendDiagnosticInterruptCallable(const Model::SendDiagnosticInterruptRequest& request) const;
/**
* <p>Sends a diagnostic interrupt to the specified Amazon EC2 instance to trigger
* a <i>kernel panic</i> (on Linux instances), or a <i>blue screen</i>/<i>stop
* error</i> (on Windows instances). For instances based on Intel and AMD
* processors, the interrupt is received as a <i>non-maskable interrupt</i>
* (NMI).</p> <p>In general, the operating system crashes and reboots when a kernel
* panic or stop error is triggered. The operating system can also be configured to
* perform diagnostic tasks, such as generating a memory dump file, loading a
* secondary kernel, or obtaining a call trace.</p> <p>Before sending a diagnostic
* interrupt to your instance, ensure that its operating system is configured to
* perform the required diagnostic tasks.</p> <p>For more information about
* configuring your operating system to generate a crash dump when a kernel panic
* or stop error occurs, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/diagnostic-interrupt.html">Send
* a diagnostic interrupt</a> (Linux instances) or <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/diagnostic-interrupt.html">Send
* a Diagnostic Interrupt</a> (Windows instances).</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SendDiagnosticInterrupt">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void SendDiagnosticInterruptAsync(const Model::SendDiagnosticInterruptRequest& request, const SendDiagnosticInterruptResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Starts an Amazon EBS-backed instance that you've previously stopped.</p>
* <p>Instances that use Amazon EBS volumes as their root devices can be quickly
* stopped and started. When an instance is stopped, the compute resources are
* released and you are not billed for instance usage. However, your root partition
* Amazon EBS volume remains and continues to persist your data, and you are
* charged for Amazon EBS volume usage. You can restart your instance at any time.
* Every time you start your Windows instance, Amazon EC2 charges you for a full
* instance hour. If you stop and restart your Windows instance, a new instance
* hour begins and Amazon EC2 charges you for another full instance hour even if
* you are still within the same 60-minute period when it was stopped. Every time
* you start your Linux instance, Amazon EC2 charges a one-minute minimum for
* instance usage, and thereafter charges per second for instance usage.</p>
* <p>Before stopping an instance, make sure it is in a state from which it can be
* restarted. Stopping an instance does not preserve data stored in RAM.</p>
* <p>Performing this operation on an instance that uses an instance store as its
* root device returns an error.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html">Stopping
* instances</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstances">AWS
* API Reference</a></p>
*/
virtual Model::StartInstancesOutcome StartInstances(const Model::StartInstancesRequest& request) const;
/**
* <p>Starts an Amazon EBS-backed instance that you've previously stopped.</p>
* <p>Instances that use Amazon EBS volumes as their root devices can be quickly
* stopped and started. When an instance is stopped, the compute resources are
* released and you are not billed for instance usage. However, your root partition
* Amazon EBS volume remains and continues to persist your data, and you are
* charged for Amazon EBS volume usage. You can restart your instance at any time.
* Every time you start your Windows instance, Amazon EC2 charges you for a full
* instance hour. If you stop and restart your Windows instance, a new instance
* hour begins and Amazon EC2 charges you for another full instance hour even if
* you are still within the same 60-minute period when it was stopped. Every time
* you start your Linux instance, Amazon EC2 charges a one-minute minimum for
* instance usage, and thereafter charges per second for instance usage.</p>
* <p>Before stopping an instance, make sure it is in a state from which it can be
* restarted. Stopping an instance does not preserve data stored in RAM.</p>
* <p>Performing this operation on an instance that uses an instance store as its
* root device returns an error.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html">Stopping
* instances</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstances">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::StartInstancesOutcomeCallable StartInstancesCallable(const Model::StartInstancesRequest& request) const;
/**
* <p>Starts an Amazon EBS-backed instance that you've previously stopped.</p>
* <p>Instances that use Amazon EBS volumes as their root devices can be quickly
* stopped and started. When an instance is stopped, the compute resources are
* released and you are not billed for instance usage. However, your root partition
* Amazon EBS volume remains and continues to persist your data, and you are
* charged for Amazon EBS volume usage. You can restart your instance at any time.
* Every time you start your Windows instance, Amazon EC2 charges you for a full
* instance hour. If you stop and restart your Windows instance, a new instance
* hour begins and Amazon EC2 charges you for another full instance hour even if
* you are still within the same 60-minute period when it was stopped. Every time
* you start your Linux instance, Amazon EC2 charges a one-minute minimum for
* instance usage, and thereafter charges per second for instance usage.</p>
* <p>Before stopping an instance, make sure it is in a state from which it can be
* restarted. Stopping an instance does not preserve data stored in RAM.</p>
* <p>Performing this operation on an instance that uses an instance store as its
* root device returns an error.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html">Stopping
* instances</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstances">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void StartInstancesAsync(const Model::StartInstancesRequest& request, const StartInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Initiates the verification process to prove that the service provider owns
* the private DNS name domain for the endpoint service.</p> <p>The service
* provider must successfully perform the verification before the consumer can use
* the name to access the service.</p> <p>Before the service provider runs this
* command, they must add a record to the DNS server. For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/ndpoint-services-dns-validation.html#add-dns-txt-record">Adding
* a TXT Record to Your Domain's DNS Server </a> in the <i>Amazon VPC User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartVpcEndpointServicePrivateDnsVerification">AWS
* API Reference</a></p>
*/
virtual Model::StartVpcEndpointServicePrivateDnsVerificationOutcome StartVpcEndpointServicePrivateDnsVerification(const Model::StartVpcEndpointServicePrivateDnsVerificationRequest& request) const;
/**
* <p>Initiates the verification process to prove that the service provider owns
* the private DNS name domain for the endpoint service.</p> <p>The service
* provider must successfully perform the verification before the consumer can use
* the name to access the service.</p> <p>Before the service provider runs this
* command, they must add a record to the DNS server. For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/ndpoint-services-dns-validation.html#add-dns-txt-record">Adding
* a TXT Record to Your Domain's DNS Server </a> in the <i>Amazon VPC User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartVpcEndpointServicePrivateDnsVerification">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::StartVpcEndpointServicePrivateDnsVerificationOutcomeCallable StartVpcEndpointServicePrivateDnsVerificationCallable(const Model::StartVpcEndpointServicePrivateDnsVerificationRequest& request) const;
/**
* <p>Initiates the verification process to prove that the service provider owns
* the private DNS name domain for the endpoint service.</p> <p>The service
* provider must successfully perform the verification before the consumer can use
* the name to access the service.</p> <p>Before the service provider runs this
* command, they must add a record to the DNS server. For more information, see <a
* href="https://docs.aws.amazon.com/vpc/latest/userguide/ndpoint-services-dns-validation.html#add-dns-txt-record">Adding
* a TXT Record to Your Domain's DNS Server </a> in the <i>Amazon VPC User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartVpcEndpointServicePrivateDnsVerification">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void StartVpcEndpointServicePrivateDnsVerificationAsync(const Model::StartVpcEndpointServicePrivateDnsVerificationRequest& request, const StartVpcEndpointServicePrivateDnsVerificationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Stops an Amazon EBS-backed instance.</p> <p>You can use the Stop action to
* hibernate an instance if the instance is <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#enabling-hibernation">enabled
* for hibernation</a> and it meets the <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites">hibernation
* prerequisites</a>. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html">Hibernate
* your instance</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* <p>We don't charge usage for a stopped instance, or data transfer fees; however,
* your root partition Amazon EBS volume remains and continues to persist your
* data, and you are charged for Amazon EBS volume usage. Every time you start your
* Windows instance, Amazon EC2 charges you for a full instance hour. If you stop
* and restart your Windows instance, a new instance hour begins and Amazon EC2
* charges you for another full instance hour even if you are still within the same
* 60-minute period when it was stopped. Every time you start your Linux instance,
* Amazon EC2 charges a one-minute minimum for instance usage, and thereafter
* charges per second for instance usage.</p> <p>You can't stop or hibernate
* instance store-backed instances. You can't use the Stop action to hibernate Spot
* Instances, but you can specify that Amazon EC2 should hibernate Spot Instances
* when they are interrupted. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-interruptions.html#hibernate-spot-instances">Hibernating
* interrupted Spot Instances</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p> <p>When you stop or hibernate an instance, we shut it down. You
* can restart your instance at any time. Before stopping or hibernating an
* instance, make sure it is in a state from which it can be restarted. Stopping an
* instance does not preserve data stored in RAM, but hibernating an instance does
* preserve data stored in RAM. If an instance cannot hibernate successfully, a
* normal shutdown occurs.</p> <p>Stopping and hibernating an instance is different
* to rebooting or terminating it. For example, when you stop or hibernate an
* instance, the root device and any other devices attached to the instance
* persist. When you terminate an instance, the root device and any other devices
* attached during the instance launch are automatically deleted. For more
* information about the differences between rebooting, stopping, hibernating, and
* terminating instances, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html">Instance
* lifecycle</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> <p>When
* you stop an instance, we attempt to shut it down forcibly after a short while.
* If your instance appears stuck in the stopping state after a period of time,
* there may be an issue with the underlying host computer. For more information,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesStopping.html">Troubleshooting
* stopping your instance</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstances">AWS
* API Reference</a></p>
*/
virtual Model::StopInstancesOutcome StopInstances(const Model::StopInstancesRequest& request) const;
/**
* <p>Stops an Amazon EBS-backed instance.</p> <p>You can use the Stop action to
* hibernate an instance if the instance is <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#enabling-hibernation">enabled
* for hibernation</a> and it meets the <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites">hibernation
* prerequisites</a>. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html">Hibernate
* your instance</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* <p>We don't charge usage for a stopped instance, or data transfer fees; however,
* your root partition Amazon EBS volume remains and continues to persist your
* data, and you are charged for Amazon EBS volume usage. Every time you start your
* Windows instance, Amazon EC2 charges you for a full instance hour. If you stop
* and restart your Windows instance, a new instance hour begins and Amazon EC2
* charges you for another full instance hour even if you are still within the same
* 60-minute period when it was stopped. Every time you start your Linux instance,
* Amazon EC2 charges a one-minute minimum for instance usage, and thereafter
* charges per second for instance usage.</p> <p>You can't stop or hibernate
* instance store-backed instances. You can't use the Stop action to hibernate Spot
* Instances, but you can specify that Amazon EC2 should hibernate Spot Instances
* when they are interrupted. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-interruptions.html#hibernate-spot-instances">Hibernating
* interrupted Spot Instances</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p> <p>When you stop or hibernate an instance, we shut it down. You
* can restart your instance at any time. Before stopping or hibernating an
* instance, make sure it is in a state from which it can be restarted. Stopping an
* instance does not preserve data stored in RAM, but hibernating an instance does
* preserve data stored in RAM. If an instance cannot hibernate successfully, a
* normal shutdown occurs.</p> <p>Stopping and hibernating an instance is different
* to rebooting or terminating it. For example, when you stop or hibernate an
* instance, the root device and any other devices attached to the instance
* persist. When you terminate an instance, the root device and any other devices
* attached during the instance launch are automatically deleted. For more
* information about the differences between rebooting, stopping, hibernating, and
* terminating instances, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html">Instance
* lifecycle</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> <p>When
* you stop an instance, we attempt to shut it down forcibly after a short while.
* If your instance appears stuck in the stopping state after a period of time,
* there may be an issue with the underlying host computer. For more information,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesStopping.html">Troubleshooting
* stopping your instance</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstances">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::StopInstancesOutcomeCallable StopInstancesCallable(const Model::StopInstancesRequest& request) const;
/**
* <p>Stops an Amazon EBS-backed instance.</p> <p>You can use the Stop action to
* hibernate an instance if the instance is <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#enabling-hibernation">enabled
* for hibernation</a> and it meets the <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites">hibernation
* prerequisites</a>. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html">Hibernate
* your instance</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* <p>We don't charge usage for a stopped instance, or data transfer fees; however,
* your root partition Amazon EBS volume remains and continues to persist your
* data, and you are charged for Amazon EBS volume usage. Every time you start your
* Windows instance, Amazon EC2 charges you for a full instance hour. If you stop
* and restart your Windows instance, a new instance hour begins and Amazon EC2
* charges you for another full instance hour even if you are still within the same
* 60-minute period when it was stopped. Every time you start your Linux instance,
* Amazon EC2 charges a one-minute minimum for instance usage, and thereafter
* charges per second for instance usage.</p> <p>You can't stop or hibernate
* instance store-backed instances. You can't use the Stop action to hibernate Spot
* Instances, but you can specify that Amazon EC2 should hibernate Spot Instances
* when they are interrupted. For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-interruptions.html#hibernate-spot-instances">Hibernating
* interrupted Spot Instances</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p> <p>When you stop or hibernate an instance, we shut it down. You
* can restart your instance at any time. Before stopping or hibernating an
* instance, make sure it is in a state from which it can be restarted. Stopping an
* instance does not preserve data stored in RAM, but hibernating an instance does
* preserve data stored in RAM. If an instance cannot hibernate successfully, a
* normal shutdown occurs.</p> <p>Stopping and hibernating an instance is different
* to rebooting or terminating it. For example, when you stop or hibernate an
* instance, the root device and any other devices attached to the instance
* persist. When you terminate an instance, the root device and any other devices
* attached during the instance launch are automatically deleted. For more
* information about the differences between rebooting, stopping, hibernating, and
* terminating instances, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html">Instance
* lifecycle</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> <p>When
* you stop an instance, we attempt to shut it down forcibly after a short while.
* If your instance appears stuck in the stopping state after a period of time,
* there may be an issue with the underlying host computer. For more information,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesStopping.html">Troubleshooting
* stopping your instance</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstances">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void StopInstancesAsync(const Model::StopInstancesRequest& request, const StopInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Terminates active Client VPN endpoint connections. This action can be used to
* terminate a specific client connection, or up to five connections established by
* a specific user.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateClientVpnConnections">AWS
* API Reference</a></p>
*/
virtual Model::TerminateClientVpnConnectionsOutcome TerminateClientVpnConnections(const Model::TerminateClientVpnConnectionsRequest& request) const;
/**
* <p>Terminates active Client VPN endpoint connections. This action can be used to
* terminate a specific client connection, or up to five connections established by
* a specific user.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateClientVpnConnections">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::TerminateClientVpnConnectionsOutcomeCallable TerminateClientVpnConnectionsCallable(const Model::TerminateClientVpnConnectionsRequest& request) const;
/**
* <p>Terminates active Client VPN endpoint connections. This action can be used to
* terminate a specific client connection, or up to five connections established by
* a specific user.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateClientVpnConnections">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void TerminateClientVpnConnectionsAsync(const Model::TerminateClientVpnConnectionsRequest& request, const TerminateClientVpnConnectionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Shuts down the specified instances. This operation is idempotent; if you
* terminate an instance more than once, each call succeeds. </p> <p>If you specify
* multiple instances and the request fails (for example, because of a single
* incorrect instance ID), none of the instances are terminated.</p> <p>Terminated
* instances remain visible after termination (for approximately one hour).</p>
* <p>By default, Amazon EC2 deletes all EBS volumes that were attached when the
* instance launched. Volumes attached after instance launch continue running.</p>
* <p>You can stop, start, and terminate EBS-backed instances. You can only
* terminate instance store-backed instances. What happens to an instance differs
* if you stop it or terminate it. For example, when you stop an instance, the root
* device and any other devices attached to the instance persist. When you
* terminate an instance, any attached EBS volumes with the
* <code>DeleteOnTermination</code> block device mapping parameter set to
* <code>true</code> are automatically deleted. For more information about the
* differences between stopping and terminating instances, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html">Instance
* lifecycle</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> <p>For
* more information about troubleshooting, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesShuttingDown.html">Troubleshooting
* terminating your instance</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstances">AWS
* API Reference</a></p>
*/
virtual Model::TerminateInstancesOutcome TerminateInstances(const Model::TerminateInstancesRequest& request) const;
/**
* <p>Shuts down the specified instances. This operation is idempotent; if you
* terminate an instance more than once, each call succeeds. </p> <p>If you specify
* multiple instances and the request fails (for example, because of a single
* incorrect instance ID), none of the instances are terminated.</p> <p>Terminated
* instances remain visible after termination (for approximately one hour).</p>
* <p>By default, Amazon EC2 deletes all EBS volumes that were attached when the
* instance launched. Volumes attached after instance launch continue running.</p>
* <p>You can stop, start, and terminate EBS-backed instances. You can only
* terminate instance store-backed instances. What happens to an instance differs
* if you stop it or terminate it. For example, when you stop an instance, the root
* device and any other devices attached to the instance persist. When you
* terminate an instance, any attached EBS volumes with the
* <code>DeleteOnTermination</code> block device mapping parameter set to
* <code>true</code> are automatically deleted. For more information about the
* differences between stopping and terminating instances, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html">Instance
* lifecycle</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> <p>For
* more information about troubleshooting, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesShuttingDown.html">Troubleshooting
* terminating your instance</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstances">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::TerminateInstancesOutcomeCallable TerminateInstancesCallable(const Model::TerminateInstancesRequest& request) const;
/**
* <p>Shuts down the specified instances. This operation is idempotent; if you
* terminate an instance more than once, each call succeeds. </p> <p>If you specify
* multiple instances and the request fails (for example, because of a single
* incorrect instance ID), none of the instances are terminated.</p> <p>Terminated
* instances remain visible after termination (for approximately one hour).</p>
* <p>By default, Amazon EC2 deletes all EBS volumes that were attached when the
* instance launched. Volumes attached after instance launch continue running.</p>
* <p>You can stop, start, and terminate EBS-backed instances. You can only
* terminate instance store-backed instances. What happens to an instance differs
* if you stop it or terminate it. For example, when you stop an instance, the root
* device and any other devices attached to the instance persist. When you
* terminate an instance, any attached EBS volumes with the
* <code>DeleteOnTermination</code> block device mapping parameter set to
* <code>true</code> are automatically deleted. For more information about the
* differences between stopping and terminating instances, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html">Instance
* lifecycle</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> <p>For
* more information about troubleshooting, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesShuttingDown.html">Troubleshooting
* terminating your instance</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstances">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void TerminateInstancesAsync(const Model::TerminateInstancesRequest& request, const TerminateInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Unassigns one or more IPv6 addresses from a network interface.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6Addresses">AWS
* API Reference</a></p>
*/
virtual Model::UnassignIpv6AddressesOutcome UnassignIpv6Addresses(const Model::UnassignIpv6AddressesRequest& request) const;
/**
* <p>Unassigns one or more IPv6 addresses from a network interface.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6Addresses">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::UnassignIpv6AddressesOutcomeCallable UnassignIpv6AddressesCallable(const Model::UnassignIpv6AddressesRequest& request) const;
/**
* <p>Unassigns one or more IPv6 addresses from a network interface.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6Addresses">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void UnassignIpv6AddressesAsync(const Model::UnassignIpv6AddressesRequest& request, const UnassignIpv6AddressesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Unassigns one or more secondary private IP addresses from a network
* interface.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddresses">AWS
* API Reference</a></p>
*/
virtual Model::UnassignPrivateIpAddressesOutcome UnassignPrivateIpAddresses(const Model::UnassignPrivateIpAddressesRequest& request) const;
/**
* <p>Unassigns one or more secondary private IP addresses from a network
* interface.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddresses">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::UnassignPrivateIpAddressesOutcomeCallable UnassignPrivateIpAddressesCallable(const Model::UnassignPrivateIpAddressesRequest& request) const;
/**
* <p>Unassigns one or more secondary private IP addresses from a network
* interface.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddresses">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void UnassignPrivateIpAddressesAsync(const Model::UnassignPrivateIpAddressesRequest& request, const UnassignPrivateIpAddressesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Disables detailed monitoring for a running instance. For more information,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html">Monitoring
* your instances and volumes</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstances">AWS
* API Reference</a></p>
*/
virtual Model::UnmonitorInstancesOutcome UnmonitorInstances(const Model::UnmonitorInstancesRequest& request) const;
/**
* <p>Disables detailed monitoring for a running instance. For more information,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html">Monitoring
* your instances and volumes</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstances">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::UnmonitorInstancesOutcomeCallable UnmonitorInstancesCallable(const Model::UnmonitorInstancesRequest& request) const;
/**
* <p>Disables detailed monitoring for a running instance. For more information,
* see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html">Monitoring
* your instances and volumes</a> in the <i>Amazon Elastic Compute Cloud User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstances">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void UnmonitorInstancesAsync(const Model::UnmonitorInstancesRequest& request, const UnmonitorInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>[VPC only] Updates the description of an egress (outbound) security group
* rule. You can replace an existing description, or add a description to a rule
* that did not have one previously.</p> <p>You specify the description as part of
* the IP permissions structure. You can remove a description for a security group
* rule by omitting the description parameter in the request.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsEgress">AWS
* API Reference</a></p>
*/
virtual Model::UpdateSecurityGroupRuleDescriptionsEgressOutcome UpdateSecurityGroupRuleDescriptionsEgress(const Model::UpdateSecurityGroupRuleDescriptionsEgressRequest& request) const;
/**
* <p>[VPC only] Updates the description of an egress (outbound) security group
* rule. You can replace an existing description, or add a description to a rule
* that did not have one previously.</p> <p>You specify the description as part of
* the IP permissions structure. You can remove a description for a security group
* rule by omitting the description parameter in the request.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsEgress">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::UpdateSecurityGroupRuleDescriptionsEgressOutcomeCallable UpdateSecurityGroupRuleDescriptionsEgressCallable(const Model::UpdateSecurityGroupRuleDescriptionsEgressRequest& request) const;
/**
* <p>[VPC only] Updates the description of an egress (outbound) security group
* rule. You can replace an existing description, or add a description to a rule
* that did not have one previously.</p> <p>You specify the description as part of
* the IP permissions structure. You can remove a description for a security group
* rule by omitting the description parameter in the request.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsEgress">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void UpdateSecurityGroupRuleDescriptionsEgressAsync(const Model::UpdateSecurityGroupRuleDescriptionsEgressRequest& request, const UpdateSecurityGroupRuleDescriptionsEgressResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Updates the description of an ingress (inbound) security group rule. You can
* replace an existing description, or add a description to a rule that did not
* have one previously.</p> <p>You specify the description as part of the IP
* permissions structure. You can remove a description for a security group rule by
* omitting the description parameter in the request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsIngress">AWS
* API Reference</a></p>
*/
virtual Model::UpdateSecurityGroupRuleDescriptionsIngressOutcome UpdateSecurityGroupRuleDescriptionsIngress(const Model::UpdateSecurityGroupRuleDescriptionsIngressRequest& request) const;
/**
* <p>Updates the description of an ingress (inbound) security group rule. You can
* replace an existing description, or add a description to a rule that did not
* have one previously.</p> <p>You specify the description as part of the IP
* permissions structure. You can remove a description for a security group rule by
* omitting the description parameter in the request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsIngress">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::UpdateSecurityGroupRuleDescriptionsIngressOutcomeCallable UpdateSecurityGroupRuleDescriptionsIngressCallable(const Model::UpdateSecurityGroupRuleDescriptionsIngressRequest& request) const;
/**
* <p>Updates the description of an ingress (inbound) security group rule. You can
* replace an existing description, or add a description to a rule that did not
* have one previously.</p> <p>You specify the description as part of the IP
* permissions structure. You can remove a description for a security group rule by
* omitting the description parameter in the request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsIngress">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void UpdateSecurityGroupRuleDescriptionsIngressAsync(const Model::UpdateSecurityGroupRuleDescriptionsIngressRequest& request, const UpdateSecurityGroupRuleDescriptionsIngressResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Stops advertising an address range that is provisioned as an address
* pool.</p> <p>You can perform this operation at most once every 10 seconds, even
* if you specify different address ranges each time.</p> <p>It can take a few
* minutes before traffic to the specified addresses stops routing to AWS because
* of BGP propagation delays.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/WithdrawByoipCidr">AWS
* API Reference</a></p>
*/
virtual Model::WithdrawByoipCidrOutcome WithdrawByoipCidr(const Model::WithdrawByoipCidrRequest& request) const;
/**
* <p>Stops advertising an address range that is provisioned as an address
* pool.</p> <p>You can perform this operation at most once every 10 seconds, even
* if you specify different address ranges each time.</p> <p>It can take a few
* minutes before traffic to the specified addresses stops routing to AWS because
* of BGP propagation delays.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/WithdrawByoipCidr">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::WithdrawByoipCidrOutcomeCallable WithdrawByoipCidrCallable(const Model::WithdrawByoipCidrRequest& request) const;
/**
* <p>Stops advertising an address range that is provisioned as an address
* pool.</p> <p>You can perform this operation at most once every 10 seconds, even
* if you specify different address ranges each time.</p> <p>It can take a few
* minutes before traffic to the specified addresses stops routing to AWS because
* of BGP propagation delays.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/WithdrawByoipCidr">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void WithdrawByoipCidrAsync(const Model::WithdrawByoipCidrRequest& request, const WithdrawByoipCidrResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
void OverrideEndpoint(const Aws::String& endpoint);
private:
void init(const Aws::Client::ClientConfiguration& clientConfiguration);
void AcceptReservedInstancesExchangeQuoteAsyncHelper(const Model::AcceptReservedInstancesExchangeQuoteRequest& request, const AcceptReservedInstancesExchangeQuoteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void AcceptTransitGatewayPeeringAttachmentAsyncHelper(const Model::AcceptTransitGatewayPeeringAttachmentRequest& request, const AcceptTransitGatewayPeeringAttachmentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void AcceptTransitGatewayVpcAttachmentAsyncHelper(const Model::AcceptTransitGatewayVpcAttachmentRequest& request, const AcceptTransitGatewayVpcAttachmentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void AcceptVpcEndpointConnectionsAsyncHelper(const Model::AcceptVpcEndpointConnectionsRequest& request, const AcceptVpcEndpointConnectionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void AcceptVpcPeeringConnectionAsyncHelper(const Model::AcceptVpcPeeringConnectionRequest& request, const AcceptVpcPeeringConnectionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void AdvertiseByoipCidrAsyncHelper(const Model::AdvertiseByoipCidrRequest& request, const AdvertiseByoipCidrResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void AllocateAddressAsyncHelper(const Model::AllocateAddressRequest& request, const AllocateAddressResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void AllocateHostsAsyncHelper(const Model::AllocateHostsRequest& request, const AllocateHostsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ApplySecurityGroupsToClientVpnTargetNetworkAsyncHelper(const Model::ApplySecurityGroupsToClientVpnTargetNetworkRequest& request, const ApplySecurityGroupsToClientVpnTargetNetworkResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void AssignIpv6AddressesAsyncHelper(const Model::AssignIpv6AddressesRequest& request, const AssignIpv6AddressesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void AssignPrivateIpAddressesAsyncHelper(const Model::AssignPrivateIpAddressesRequest& request, const AssignPrivateIpAddressesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void AssociateAddressAsyncHelper(const Model::AssociateAddressRequest& request, const AssociateAddressResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void AssociateClientVpnTargetNetworkAsyncHelper(const Model::AssociateClientVpnTargetNetworkRequest& request, const AssociateClientVpnTargetNetworkResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void AssociateDhcpOptionsAsyncHelper(const Model::AssociateDhcpOptionsRequest& request, const AssociateDhcpOptionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void AssociateIamInstanceProfileAsyncHelper(const Model::AssociateIamInstanceProfileRequest& request, const AssociateIamInstanceProfileResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void AssociateRouteTableAsyncHelper(const Model::AssociateRouteTableRequest& request, const AssociateRouteTableResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void AssociateSubnetCidrBlockAsyncHelper(const Model::AssociateSubnetCidrBlockRequest& request, const AssociateSubnetCidrBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void AssociateTransitGatewayMulticastDomainAsyncHelper(const Model::AssociateTransitGatewayMulticastDomainRequest& request, const AssociateTransitGatewayMulticastDomainResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void AssociateTransitGatewayRouteTableAsyncHelper(const Model::AssociateTransitGatewayRouteTableRequest& request, const AssociateTransitGatewayRouteTableResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void AssociateVpcCidrBlockAsyncHelper(const Model::AssociateVpcCidrBlockRequest& request, const AssociateVpcCidrBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void AttachClassicLinkVpcAsyncHelper(const Model::AttachClassicLinkVpcRequest& request, const AttachClassicLinkVpcResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void AttachInternetGatewayAsyncHelper(const Model::AttachInternetGatewayRequest& request, const AttachInternetGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void AttachNetworkInterfaceAsyncHelper(const Model::AttachNetworkInterfaceRequest& request, const AttachNetworkInterfaceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void AttachVolumeAsyncHelper(const Model::AttachVolumeRequest& request, const AttachVolumeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void AttachVpnGatewayAsyncHelper(const Model::AttachVpnGatewayRequest& request, const AttachVpnGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void AuthorizeClientVpnIngressAsyncHelper(const Model::AuthorizeClientVpnIngressRequest& request, const AuthorizeClientVpnIngressResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void AuthorizeSecurityGroupEgressAsyncHelper(const Model::AuthorizeSecurityGroupEgressRequest& request, const AuthorizeSecurityGroupEgressResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void AuthorizeSecurityGroupIngressAsyncHelper(const Model::AuthorizeSecurityGroupIngressRequest& request, const AuthorizeSecurityGroupIngressResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void BundleInstanceAsyncHelper(const Model::BundleInstanceRequest& request, const BundleInstanceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CancelBundleTaskAsyncHelper(const Model::CancelBundleTaskRequest& request, const CancelBundleTaskResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CancelCapacityReservationAsyncHelper(const Model::CancelCapacityReservationRequest& request, const CancelCapacityReservationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CancelConversionTaskAsyncHelper(const Model::CancelConversionTaskRequest& request, const CancelConversionTaskResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CancelExportTaskAsyncHelper(const Model::CancelExportTaskRequest& request, const CancelExportTaskResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CancelImportTaskAsyncHelper(const Model::CancelImportTaskRequest& request, const CancelImportTaskResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CancelReservedInstancesListingAsyncHelper(const Model::CancelReservedInstancesListingRequest& request, const CancelReservedInstancesListingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CancelSpotFleetRequestsAsyncHelper(const Model::CancelSpotFleetRequestsRequest& request, const CancelSpotFleetRequestsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CancelSpotInstanceRequestsAsyncHelper(const Model::CancelSpotInstanceRequestsRequest& request, const CancelSpotInstanceRequestsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ConfirmProductInstanceAsyncHelper(const Model::ConfirmProductInstanceRequest& request, const ConfirmProductInstanceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CopyFpgaImageAsyncHelper(const Model::CopyFpgaImageRequest& request, const CopyFpgaImageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CopyImageAsyncHelper(const Model::CopyImageRequest& request, const CopyImageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CopySnapshotAsyncHelper(const Model::CopySnapshotRequest& request, const CopySnapshotResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateCapacityReservationAsyncHelper(const Model::CreateCapacityReservationRequest& request, const CreateCapacityReservationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateCarrierGatewayAsyncHelper(const Model::CreateCarrierGatewayRequest& request, const CreateCarrierGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateClientVpnEndpointAsyncHelper(const Model::CreateClientVpnEndpointRequest& request, const CreateClientVpnEndpointResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateClientVpnRouteAsyncHelper(const Model::CreateClientVpnRouteRequest& request, const CreateClientVpnRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateCustomerGatewayAsyncHelper(const Model::CreateCustomerGatewayRequest& request, const CreateCustomerGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateDefaultSubnetAsyncHelper(const Model::CreateDefaultSubnetRequest& request, const CreateDefaultSubnetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateDefaultVpcAsyncHelper(const Model::CreateDefaultVpcRequest& request, const CreateDefaultVpcResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateDhcpOptionsAsyncHelper(const Model::CreateDhcpOptionsRequest& request, const CreateDhcpOptionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateEgressOnlyInternetGatewayAsyncHelper(const Model::CreateEgressOnlyInternetGatewayRequest& request, const CreateEgressOnlyInternetGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateFleetAsyncHelper(const Model::CreateFleetRequest& request, const CreateFleetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateFlowLogsAsyncHelper(const Model::CreateFlowLogsRequest& request, const CreateFlowLogsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateFpgaImageAsyncHelper(const Model::CreateFpgaImageRequest& request, const CreateFpgaImageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateImageAsyncHelper(const Model::CreateImageRequest& request, const CreateImageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateInstanceExportTaskAsyncHelper(const Model::CreateInstanceExportTaskRequest& request, const CreateInstanceExportTaskResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateInternetGatewayAsyncHelper(const Model::CreateInternetGatewayRequest& request, const CreateInternetGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateKeyPairAsyncHelper(const Model::CreateKeyPairRequest& request, const CreateKeyPairResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateLaunchTemplateAsyncHelper(const Model::CreateLaunchTemplateRequest& request, const CreateLaunchTemplateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateLaunchTemplateVersionAsyncHelper(const Model::CreateLaunchTemplateVersionRequest& request, const CreateLaunchTemplateVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateLocalGatewayRouteAsyncHelper(const Model::CreateLocalGatewayRouteRequest& request, const CreateLocalGatewayRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateLocalGatewayRouteTableVpcAssociationAsyncHelper(const Model::CreateLocalGatewayRouteTableVpcAssociationRequest& request, const CreateLocalGatewayRouteTableVpcAssociationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateManagedPrefixListAsyncHelper(const Model::CreateManagedPrefixListRequest& request, const CreateManagedPrefixListResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateNatGatewayAsyncHelper(const Model::CreateNatGatewayRequest& request, const CreateNatGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateNetworkAclAsyncHelper(const Model::CreateNetworkAclRequest& request, const CreateNetworkAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateNetworkAclEntryAsyncHelper(const Model::CreateNetworkAclEntryRequest& request, const CreateNetworkAclEntryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateNetworkInterfaceAsyncHelper(const Model::CreateNetworkInterfaceRequest& request, const CreateNetworkInterfaceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateNetworkInterfacePermissionAsyncHelper(const Model::CreateNetworkInterfacePermissionRequest& request, const CreateNetworkInterfacePermissionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreatePlacementGroupAsyncHelper(const Model::CreatePlacementGroupRequest& request, const CreatePlacementGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateReservedInstancesListingAsyncHelper(const Model::CreateReservedInstancesListingRequest& request, const CreateReservedInstancesListingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateRouteAsyncHelper(const Model::CreateRouteRequest& request, const CreateRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateRouteTableAsyncHelper(const Model::CreateRouteTableRequest& request, const CreateRouteTableResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateSecurityGroupAsyncHelper(const Model::CreateSecurityGroupRequest& request, const CreateSecurityGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateSnapshotAsyncHelper(const Model::CreateSnapshotRequest& request, const CreateSnapshotResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateSnapshotsAsyncHelper(const Model::CreateSnapshotsRequest& request, const CreateSnapshotsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateSpotDatafeedSubscriptionAsyncHelper(const Model::CreateSpotDatafeedSubscriptionRequest& request, const CreateSpotDatafeedSubscriptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateSubnetAsyncHelper(const Model::CreateSubnetRequest& request, const CreateSubnetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateTagsAsyncHelper(const Model::CreateTagsRequest& request, const CreateTagsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateTrafficMirrorFilterAsyncHelper(const Model::CreateTrafficMirrorFilterRequest& request, const CreateTrafficMirrorFilterResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateTrafficMirrorFilterRuleAsyncHelper(const Model::CreateTrafficMirrorFilterRuleRequest& request, const CreateTrafficMirrorFilterRuleResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateTrafficMirrorSessionAsyncHelper(const Model::CreateTrafficMirrorSessionRequest& request, const CreateTrafficMirrorSessionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateTrafficMirrorTargetAsyncHelper(const Model::CreateTrafficMirrorTargetRequest& request, const CreateTrafficMirrorTargetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateTransitGatewayAsyncHelper(const Model::CreateTransitGatewayRequest& request, const CreateTransitGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateTransitGatewayMulticastDomainAsyncHelper(const Model::CreateTransitGatewayMulticastDomainRequest& request, const CreateTransitGatewayMulticastDomainResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateTransitGatewayPeeringAttachmentAsyncHelper(const Model::CreateTransitGatewayPeeringAttachmentRequest& request, const CreateTransitGatewayPeeringAttachmentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateTransitGatewayPrefixListReferenceAsyncHelper(const Model::CreateTransitGatewayPrefixListReferenceRequest& request, const CreateTransitGatewayPrefixListReferenceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateTransitGatewayRouteAsyncHelper(const Model::CreateTransitGatewayRouteRequest& request, const CreateTransitGatewayRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateTransitGatewayRouteTableAsyncHelper(const Model::CreateTransitGatewayRouteTableRequest& request, const CreateTransitGatewayRouteTableResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateTransitGatewayVpcAttachmentAsyncHelper(const Model::CreateTransitGatewayVpcAttachmentRequest& request, const CreateTransitGatewayVpcAttachmentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateVolumeAsyncHelper(const Model::CreateVolumeRequest& request, const CreateVolumeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateVpcAsyncHelper(const Model::CreateVpcRequest& request, const CreateVpcResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateVpcEndpointAsyncHelper(const Model::CreateVpcEndpointRequest& request, const CreateVpcEndpointResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateVpcEndpointConnectionNotificationAsyncHelper(const Model::CreateVpcEndpointConnectionNotificationRequest& request, const CreateVpcEndpointConnectionNotificationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateVpcEndpointServiceConfigurationAsyncHelper(const Model::CreateVpcEndpointServiceConfigurationRequest& request, const CreateVpcEndpointServiceConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateVpcPeeringConnectionAsyncHelper(const Model::CreateVpcPeeringConnectionRequest& request, const CreateVpcPeeringConnectionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateVpnConnectionAsyncHelper(const Model::CreateVpnConnectionRequest& request, const CreateVpnConnectionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateVpnConnectionRouteAsyncHelper(const Model::CreateVpnConnectionRouteRequest& request, const CreateVpnConnectionRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateVpnGatewayAsyncHelper(const Model::CreateVpnGatewayRequest& request, const CreateVpnGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteCarrierGatewayAsyncHelper(const Model::DeleteCarrierGatewayRequest& request, const DeleteCarrierGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteClientVpnEndpointAsyncHelper(const Model::DeleteClientVpnEndpointRequest& request, const DeleteClientVpnEndpointResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteClientVpnRouteAsyncHelper(const Model::DeleteClientVpnRouteRequest& request, const DeleteClientVpnRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteCustomerGatewayAsyncHelper(const Model::DeleteCustomerGatewayRequest& request, const DeleteCustomerGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteDhcpOptionsAsyncHelper(const Model::DeleteDhcpOptionsRequest& request, const DeleteDhcpOptionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteEgressOnlyInternetGatewayAsyncHelper(const Model::DeleteEgressOnlyInternetGatewayRequest& request, const DeleteEgressOnlyInternetGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteFleetsAsyncHelper(const Model::DeleteFleetsRequest& request, const DeleteFleetsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteFlowLogsAsyncHelper(const Model::DeleteFlowLogsRequest& request, const DeleteFlowLogsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteFpgaImageAsyncHelper(const Model::DeleteFpgaImageRequest& request, const DeleteFpgaImageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteInternetGatewayAsyncHelper(const Model::DeleteInternetGatewayRequest& request, const DeleteInternetGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteKeyPairAsyncHelper(const Model::DeleteKeyPairRequest& request, const DeleteKeyPairResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteLaunchTemplateAsyncHelper(const Model::DeleteLaunchTemplateRequest& request, const DeleteLaunchTemplateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteLaunchTemplateVersionsAsyncHelper(const Model::DeleteLaunchTemplateVersionsRequest& request, const DeleteLaunchTemplateVersionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteLocalGatewayRouteAsyncHelper(const Model::DeleteLocalGatewayRouteRequest& request, const DeleteLocalGatewayRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteLocalGatewayRouteTableVpcAssociationAsyncHelper(const Model::DeleteLocalGatewayRouteTableVpcAssociationRequest& request, const DeleteLocalGatewayRouteTableVpcAssociationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteManagedPrefixListAsyncHelper(const Model::DeleteManagedPrefixListRequest& request, const DeleteManagedPrefixListResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteNatGatewayAsyncHelper(const Model::DeleteNatGatewayRequest& request, const DeleteNatGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteNetworkAclAsyncHelper(const Model::DeleteNetworkAclRequest& request, const DeleteNetworkAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteNetworkAclEntryAsyncHelper(const Model::DeleteNetworkAclEntryRequest& request, const DeleteNetworkAclEntryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteNetworkInterfaceAsyncHelper(const Model::DeleteNetworkInterfaceRequest& request, const DeleteNetworkInterfaceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteNetworkInterfacePermissionAsyncHelper(const Model::DeleteNetworkInterfacePermissionRequest& request, const DeleteNetworkInterfacePermissionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeletePlacementGroupAsyncHelper(const Model::DeletePlacementGroupRequest& request, const DeletePlacementGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteQueuedReservedInstancesAsyncHelper(const Model::DeleteQueuedReservedInstancesRequest& request, const DeleteQueuedReservedInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteRouteAsyncHelper(const Model::DeleteRouteRequest& request, const DeleteRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteRouteTableAsyncHelper(const Model::DeleteRouteTableRequest& request, const DeleteRouteTableResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteSecurityGroupAsyncHelper(const Model::DeleteSecurityGroupRequest& request, const DeleteSecurityGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteSnapshotAsyncHelper(const Model::DeleteSnapshotRequest& request, const DeleteSnapshotResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteSpotDatafeedSubscriptionAsyncHelper(const Model::DeleteSpotDatafeedSubscriptionRequest& request, const DeleteSpotDatafeedSubscriptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteSubnetAsyncHelper(const Model::DeleteSubnetRequest& request, const DeleteSubnetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteTagsAsyncHelper(const Model::DeleteTagsRequest& request, const DeleteTagsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteTrafficMirrorFilterAsyncHelper(const Model::DeleteTrafficMirrorFilterRequest& request, const DeleteTrafficMirrorFilterResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteTrafficMirrorFilterRuleAsyncHelper(const Model::DeleteTrafficMirrorFilterRuleRequest& request, const DeleteTrafficMirrorFilterRuleResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteTrafficMirrorSessionAsyncHelper(const Model::DeleteTrafficMirrorSessionRequest& request, const DeleteTrafficMirrorSessionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteTrafficMirrorTargetAsyncHelper(const Model::DeleteTrafficMirrorTargetRequest& request, const DeleteTrafficMirrorTargetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteTransitGatewayAsyncHelper(const Model::DeleteTransitGatewayRequest& request, const DeleteTransitGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteTransitGatewayMulticastDomainAsyncHelper(const Model::DeleteTransitGatewayMulticastDomainRequest& request, const DeleteTransitGatewayMulticastDomainResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteTransitGatewayPeeringAttachmentAsyncHelper(const Model::DeleteTransitGatewayPeeringAttachmentRequest& request, const DeleteTransitGatewayPeeringAttachmentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteTransitGatewayPrefixListReferenceAsyncHelper(const Model::DeleteTransitGatewayPrefixListReferenceRequest& request, const DeleteTransitGatewayPrefixListReferenceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteTransitGatewayRouteAsyncHelper(const Model::DeleteTransitGatewayRouteRequest& request, const DeleteTransitGatewayRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteTransitGatewayRouteTableAsyncHelper(const Model::DeleteTransitGatewayRouteTableRequest& request, const DeleteTransitGatewayRouteTableResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteTransitGatewayVpcAttachmentAsyncHelper(const Model::DeleteTransitGatewayVpcAttachmentRequest& request, const DeleteTransitGatewayVpcAttachmentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteVolumeAsyncHelper(const Model::DeleteVolumeRequest& request, const DeleteVolumeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteVpcAsyncHelper(const Model::DeleteVpcRequest& request, const DeleteVpcResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteVpcEndpointConnectionNotificationsAsyncHelper(const Model::DeleteVpcEndpointConnectionNotificationsRequest& request, const DeleteVpcEndpointConnectionNotificationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteVpcEndpointServiceConfigurationsAsyncHelper(const Model::DeleteVpcEndpointServiceConfigurationsRequest& request, const DeleteVpcEndpointServiceConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteVpcEndpointsAsyncHelper(const Model::DeleteVpcEndpointsRequest& request, const DeleteVpcEndpointsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteVpcPeeringConnectionAsyncHelper(const Model::DeleteVpcPeeringConnectionRequest& request, const DeleteVpcPeeringConnectionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteVpnConnectionAsyncHelper(const Model::DeleteVpnConnectionRequest& request, const DeleteVpnConnectionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteVpnConnectionRouteAsyncHelper(const Model::DeleteVpnConnectionRouteRequest& request, const DeleteVpnConnectionRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteVpnGatewayAsyncHelper(const Model::DeleteVpnGatewayRequest& request, const DeleteVpnGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeprovisionByoipCidrAsyncHelper(const Model::DeprovisionByoipCidrRequest& request, const DeprovisionByoipCidrResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeregisterImageAsyncHelper(const Model::DeregisterImageRequest& request, const DeregisterImageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeregisterInstanceEventNotificationAttributesAsyncHelper(const Model::DeregisterInstanceEventNotificationAttributesRequest& request, const DeregisterInstanceEventNotificationAttributesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeregisterTransitGatewayMulticastGroupMembersAsyncHelper(const Model::DeregisterTransitGatewayMulticastGroupMembersRequest& request, const DeregisterTransitGatewayMulticastGroupMembersResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeregisterTransitGatewayMulticastGroupSourcesAsyncHelper(const Model::DeregisterTransitGatewayMulticastGroupSourcesRequest& request, const DeregisterTransitGatewayMulticastGroupSourcesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeAccountAttributesAsyncHelper(const Model::DescribeAccountAttributesRequest& request, const DescribeAccountAttributesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeAddressesAsyncHelper(const Model::DescribeAddressesRequest& request, const DescribeAddressesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeAggregateIdFormatAsyncHelper(const Model::DescribeAggregateIdFormatRequest& request, const DescribeAggregateIdFormatResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeAvailabilityZonesAsyncHelper(const Model::DescribeAvailabilityZonesRequest& request, const DescribeAvailabilityZonesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeBundleTasksAsyncHelper(const Model::DescribeBundleTasksRequest& request, const DescribeBundleTasksResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeByoipCidrsAsyncHelper(const Model::DescribeByoipCidrsRequest& request, const DescribeByoipCidrsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeCapacityReservationsAsyncHelper(const Model::DescribeCapacityReservationsRequest& request, const DescribeCapacityReservationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeCarrierGatewaysAsyncHelper(const Model::DescribeCarrierGatewaysRequest& request, const DescribeCarrierGatewaysResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeClassicLinkInstancesAsyncHelper(const Model::DescribeClassicLinkInstancesRequest& request, const DescribeClassicLinkInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeClientVpnAuthorizationRulesAsyncHelper(const Model::DescribeClientVpnAuthorizationRulesRequest& request, const DescribeClientVpnAuthorizationRulesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeClientVpnConnectionsAsyncHelper(const Model::DescribeClientVpnConnectionsRequest& request, const DescribeClientVpnConnectionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeClientVpnEndpointsAsyncHelper(const Model::DescribeClientVpnEndpointsRequest& request, const DescribeClientVpnEndpointsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeClientVpnRoutesAsyncHelper(const Model::DescribeClientVpnRoutesRequest& request, const DescribeClientVpnRoutesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeClientVpnTargetNetworksAsyncHelper(const Model::DescribeClientVpnTargetNetworksRequest& request, const DescribeClientVpnTargetNetworksResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeCoipPoolsAsyncHelper(const Model::DescribeCoipPoolsRequest& request, const DescribeCoipPoolsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeConversionTasksAsyncHelper(const Model::DescribeConversionTasksRequest& request, const DescribeConversionTasksResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeCustomerGatewaysAsyncHelper(const Model::DescribeCustomerGatewaysRequest& request, const DescribeCustomerGatewaysResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeDhcpOptionsAsyncHelper(const Model::DescribeDhcpOptionsRequest& request, const DescribeDhcpOptionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeEgressOnlyInternetGatewaysAsyncHelper(const Model::DescribeEgressOnlyInternetGatewaysRequest& request, const DescribeEgressOnlyInternetGatewaysResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeElasticGpusAsyncHelper(const Model::DescribeElasticGpusRequest& request, const DescribeElasticGpusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeExportImageTasksAsyncHelper(const Model::DescribeExportImageTasksRequest& request, const DescribeExportImageTasksResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeExportTasksAsyncHelper(const Model::DescribeExportTasksRequest& request, const DescribeExportTasksResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeFastSnapshotRestoresAsyncHelper(const Model::DescribeFastSnapshotRestoresRequest& request, const DescribeFastSnapshotRestoresResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeFleetHistoryAsyncHelper(const Model::DescribeFleetHistoryRequest& request, const DescribeFleetHistoryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeFleetInstancesAsyncHelper(const Model::DescribeFleetInstancesRequest& request, const DescribeFleetInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeFleetsAsyncHelper(const Model::DescribeFleetsRequest& request, const DescribeFleetsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeFlowLogsAsyncHelper(const Model::DescribeFlowLogsRequest& request, const DescribeFlowLogsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeFpgaImageAttributeAsyncHelper(const Model::DescribeFpgaImageAttributeRequest& request, const DescribeFpgaImageAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeFpgaImagesAsyncHelper(const Model::DescribeFpgaImagesRequest& request, const DescribeFpgaImagesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeHostReservationOfferingsAsyncHelper(const Model::DescribeHostReservationOfferingsRequest& request, const DescribeHostReservationOfferingsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeHostReservationsAsyncHelper(const Model::DescribeHostReservationsRequest& request, const DescribeHostReservationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeHostsAsyncHelper(const Model::DescribeHostsRequest& request, const DescribeHostsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeIamInstanceProfileAssociationsAsyncHelper(const Model::DescribeIamInstanceProfileAssociationsRequest& request, const DescribeIamInstanceProfileAssociationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeIdFormatAsyncHelper(const Model::DescribeIdFormatRequest& request, const DescribeIdFormatResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeIdentityIdFormatAsyncHelper(const Model::DescribeIdentityIdFormatRequest& request, const DescribeIdentityIdFormatResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeImageAttributeAsyncHelper(const Model::DescribeImageAttributeRequest& request, const DescribeImageAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeImagesAsyncHelper(const Model::DescribeImagesRequest& request, const DescribeImagesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeImportImageTasksAsyncHelper(const Model::DescribeImportImageTasksRequest& request, const DescribeImportImageTasksResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeImportSnapshotTasksAsyncHelper(const Model::DescribeImportSnapshotTasksRequest& request, const DescribeImportSnapshotTasksResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeInstanceAttributeAsyncHelper(const Model::DescribeInstanceAttributeRequest& request, const DescribeInstanceAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeInstanceCreditSpecificationsAsyncHelper(const Model::DescribeInstanceCreditSpecificationsRequest& request, const DescribeInstanceCreditSpecificationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeInstanceEventNotificationAttributesAsyncHelper(const Model::DescribeInstanceEventNotificationAttributesRequest& request, const DescribeInstanceEventNotificationAttributesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeInstanceStatusAsyncHelper(const Model::DescribeInstanceStatusRequest& request, const DescribeInstanceStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeInstanceTypeOfferingsAsyncHelper(const Model::DescribeInstanceTypeOfferingsRequest& request, const DescribeInstanceTypeOfferingsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeInstanceTypesAsyncHelper(const Model::DescribeInstanceTypesRequest& request, const DescribeInstanceTypesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeInstancesAsyncHelper(const Model::DescribeInstancesRequest& request, const DescribeInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeInternetGatewaysAsyncHelper(const Model::DescribeInternetGatewaysRequest& request, const DescribeInternetGatewaysResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeIpv6PoolsAsyncHelper(const Model::DescribeIpv6PoolsRequest& request, const DescribeIpv6PoolsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeKeyPairsAsyncHelper(const Model::DescribeKeyPairsRequest& request, const DescribeKeyPairsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeLaunchTemplateVersionsAsyncHelper(const Model::DescribeLaunchTemplateVersionsRequest& request, const DescribeLaunchTemplateVersionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeLaunchTemplatesAsyncHelper(const Model::DescribeLaunchTemplatesRequest& request, const DescribeLaunchTemplatesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsAsyncHelper(const Model::DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest& request, const DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeLocalGatewayRouteTableVpcAssociationsAsyncHelper(const Model::DescribeLocalGatewayRouteTableVpcAssociationsRequest& request, const DescribeLocalGatewayRouteTableVpcAssociationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeLocalGatewayRouteTablesAsyncHelper(const Model::DescribeLocalGatewayRouteTablesRequest& request, const DescribeLocalGatewayRouteTablesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeLocalGatewayVirtualInterfaceGroupsAsyncHelper(const Model::DescribeLocalGatewayVirtualInterfaceGroupsRequest& request, const DescribeLocalGatewayVirtualInterfaceGroupsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeLocalGatewayVirtualInterfacesAsyncHelper(const Model::DescribeLocalGatewayVirtualInterfacesRequest& request, const DescribeLocalGatewayVirtualInterfacesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeLocalGatewaysAsyncHelper(const Model::DescribeLocalGatewaysRequest& request, const DescribeLocalGatewaysResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeManagedPrefixListsAsyncHelper(const Model::DescribeManagedPrefixListsRequest& request, const DescribeManagedPrefixListsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeMovingAddressesAsyncHelper(const Model::DescribeMovingAddressesRequest& request, const DescribeMovingAddressesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeNatGatewaysAsyncHelper(const Model::DescribeNatGatewaysRequest& request, const DescribeNatGatewaysResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeNetworkAclsAsyncHelper(const Model::DescribeNetworkAclsRequest& request, const DescribeNetworkAclsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeNetworkInterfaceAttributeAsyncHelper(const Model::DescribeNetworkInterfaceAttributeRequest& request, const DescribeNetworkInterfaceAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeNetworkInterfacePermissionsAsyncHelper(const Model::DescribeNetworkInterfacePermissionsRequest& request, const DescribeNetworkInterfacePermissionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeNetworkInterfacesAsyncHelper(const Model::DescribeNetworkInterfacesRequest& request, const DescribeNetworkInterfacesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribePlacementGroupsAsyncHelper(const Model::DescribePlacementGroupsRequest& request, const DescribePlacementGroupsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribePrefixListsAsyncHelper(const Model::DescribePrefixListsRequest& request, const DescribePrefixListsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribePrincipalIdFormatAsyncHelper(const Model::DescribePrincipalIdFormatRequest& request, const DescribePrincipalIdFormatResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribePublicIpv4PoolsAsyncHelper(const Model::DescribePublicIpv4PoolsRequest& request, const DescribePublicIpv4PoolsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeRegionsAsyncHelper(const Model::DescribeRegionsRequest& request, const DescribeRegionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeReservedInstancesAsyncHelper(const Model::DescribeReservedInstancesRequest& request, const DescribeReservedInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeReservedInstancesListingsAsyncHelper(const Model::DescribeReservedInstancesListingsRequest& request, const DescribeReservedInstancesListingsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeReservedInstancesModificationsAsyncHelper(const Model::DescribeReservedInstancesModificationsRequest& request, const DescribeReservedInstancesModificationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeReservedInstancesOfferingsAsyncHelper(const Model::DescribeReservedInstancesOfferingsRequest& request, const DescribeReservedInstancesOfferingsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeRouteTablesAsyncHelper(const Model::DescribeRouteTablesRequest& request, const DescribeRouteTablesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeScheduledInstanceAvailabilityAsyncHelper(const Model::DescribeScheduledInstanceAvailabilityRequest& request, const DescribeScheduledInstanceAvailabilityResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeScheduledInstancesAsyncHelper(const Model::DescribeScheduledInstancesRequest& request, const DescribeScheduledInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeSecurityGroupReferencesAsyncHelper(const Model::DescribeSecurityGroupReferencesRequest& request, const DescribeSecurityGroupReferencesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeSecurityGroupsAsyncHelper(const Model::DescribeSecurityGroupsRequest& request, const DescribeSecurityGroupsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeSnapshotAttributeAsyncHelper(const Model::DescribeSnapshotAttributeRequest& request, const DescribeSnapshotAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeSnapshotsAsyncHelper(const Model::DescribeSnapshotsRequest& request, const DescribeSnapshotsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeSpotDatafeedSubscriptionAsyncHelper(const Model::DescribeSpotDatafeedSubscriptionRequest& request, const DescribeSpotDatafeedSubscriptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeSpotFleetInstancesAsyncHelper(const Model::DescribeSpotFleetInstancesRequest& request, const DescribeSpotFleetInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeSpotFleetRequestHistoryAsyncHelper(const Model::DescribeSpotFleetRequestHistoryRequest& request, const DescribeSpotFleetRequestHistoryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeSpotFleetRequestsAsyncHelper(const Model::DescribeSpotFleetRequestsRequest& request, const DescribeSpotFleetRequestsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeSpotInstanceRequestsAsyncHelper(const Model::DescribeSpotInstanceRequestsRequest& request, const DescribeSpotInstanceRequestsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeSpotPriceHistoryAsyncHelper(const Model::DescribeSpotPriceHistoryRequest& request, const DescribeSpotPriceHistoryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeStaleSecurityGroupsAsyncHelper(const Model::DescribeStaleSecurityGroupsRequest& request, const DescribeStaleSecurityGroupsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeSubnetsAsyncHelper(const Model::DescribeSubnetsRequest& request, const DescribeSubnetsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeTagsAsyncHelper(const Model::DescribeTagsRequest& request, const DescribeTagsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeTrafficMirrorFiltersAsyncHelper(const Model::DescribeTrafficMirrorFiltersRequest& request, const DescribeTrafficMirrorFiltersResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeTrafficMirrorSessionsAsyncHelper(const Model::DescribeTrafficMirrorSessionsRequest& request, const DescribeTrafficMirrorSessionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeTrafficMirrorTargetsAsyncHelper(const Model::DescribeTrafficMirrorTargetsRequest& request, const DescribeTrafficMirrorTargetsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeTransitGatewayAttachmentsAsyncHelper(const Model::DescribeTransitGatewayAttachmentsRequest& request, const DescribeTransitGatewayAttachmentsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeTransitGatewayMulticastDomainsAsyncHelper(const Model::DescribeTransitGatewayMulticastDomainsRequest& request, const DescribeTransitGatewayMulticastDomainsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeTransitGatewayPeeringAttachmentsAsyncHelper(const Model::DescribeTransitGatewayPeeringAttachmentsRequest& request, const DescribeTransitGatewayPeeringAttachmentsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeTransitGatewayRouteTablesAsyncHelper(const Model::DescribeTransitGatewayRouteTablesRequest& request, const DescribeTransitGatewayRouteTablesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeTransitGatewayVpcAttachmentsAsyncHelper(const Model::DescribeTransitGatewayVpcAttachmentsRequest& request, const DescribeTransitGatewayVpcAttachmentsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeTransitGatewaysAsyncHelper(const Model::DescribeTransitGatewaysRequest& request, const DescribeTransitGatewaysResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeVolumeAttributeAsyncHelper(const Model::DescribeVolumeAttributeRequest& request, const DescribeVolumeAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeVolumeStatusAsyncHelper(const Model::DescribeVolumeStatusRequest& request, const DescribeVolumeStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeVolumesAsyncHelper(const Model::DescribeVolumesRequest& request, const DescribeVolumesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeVolumesModificationsAsyncHelper(const Model::DescribeVolumesModificationsRequest& request, const DescribeVolumesModificationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeVpcAttributeAsyncHelper(const Model::DescribeVpcAttributeRequest& request, const DescribeVpcAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeVpcClassicLinkAsyncHelper(const Model::DescribeVpcClassicLinkRequest& request, const DescribeVpcClassicLinkResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeVpcClassicLinkDnsSupportAsyncHelper(const Model::DescribeVpcClassicLinkDnsSupportRequest& request, const DescribeVpcClassicLinkDnsSupportResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeVpcEndpointConnectionNotificationsAsyncHelper(const Model::DescribeVpcEndpointConnectionNotificationsRequest& request, const DescribeVpcEndpointConnectionNotificationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeVpcEndpointConnectionsAsyncHelper(const Model::DescribeVpcEndpointConnectionsRequest& request, const DescribeVpcEndpointConnectionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeVpcEndpointServiceConfigurationsAsyncHelper(const Model::DescribeVpcEndpointServiceConfigurationsRequest& request, const DescribeVpcEndpointServiceConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeVpcEndpointServicePermissionsAsyncHelper(const Model::DescribeVpcEndpointServicePermissionsRequest& request, const DescribeVpcEndpointServicePermissionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeVpcEndpointServicesAsyncHelper(const Model::DescribeVpcEndpointServicesRequest& request, const DescribeVpcEndpointServicesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeVpcEndpointsAsyncHelper(const Model::DescribeVpcEndpointsRequest& request, const DescribeVpcEndpointsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeVpcPeeringConnectionsAsyncHelper(const Model::DescribeVpcPeeringConnectionsRequest& request, const DescribeVpcPeeringConnectionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeVpcsAsyncHelper(const Model::DescribeVpcsRequest& request, const DescribeVpcsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeVpnConnectionsAsyncHelper(const Model::DescribeVpnConnectionsRequest& request, const DescribeVpnConnectionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeVpnGatewaysAsyncHelper(const Model::DescribeVpnGatewaysRequest& request, const DescribeVpnGatewaysResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DetachClassicLinkVpcAsyncHelper(const Model::DetachClassicLinkVpcRequest& request, const DetachClassicLinkVpcResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DetachInternetGatewayAsyncHelper(const Model::DetachInternetGatewayRequest& request, const DetachInternetGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DetachNetworkInterfaceAsyncHelper(const Model::DetachNetworkInterfaceRequest& request, const DetachNetworkInterfaceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DetachVolumeAsyncHelper(const Model::DetachVolumeRequest& request, const DetachVolumeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DetachVpnGatewayAsyncHelper(const Model::DetachVpnGatewayRequest& request, const DetachVpnGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DisableEbsEncryptionByDefaultAsyncHelper(const Model::DisableEbsEncryptionByDefaultRequest& request, const DisableEbsEncryptionByDefaultResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DisableFastSnapshotRestoresAsyncHelper(const Model::DisableFastSnapshotRestoresRequest& request, const DisableFastSnapshotRestoresResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DisableTransitGatewayRouteTablePropagationAsyncHelper(const Model::DisableTransitGatewayRouteTablePropagationRequest& request, const DisableTransitGatewayRouteTablePropagationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DisableVgwRoutePropagationAsyncHelper(const Model::DisableVgwRoutePropagationRequest& request, const DisableVgwRoutePropagationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DisableVpcClassicLinkAsyncHelper(const Model::DisableVpcClassicLinkRequest& request, const DisableVpcClassicLinkResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DisableVpcClassicLinkDnsSupportAsyncHelper(const Model::DisableVpcClassicLinkDnsSupportRequest& request, const DisableVpcClassicLinkDnsSupportResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DisassociateAddressAsyncHelper(const Model::DisassociateAddressRequest& request, const DisassociateAddressResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DisassociateClientVpnTargetNetworkAsyncHelper(const Model::DisassociateClientVpnTargetNetworkRequest& request, const DisassociateClientVpnTargetNetworkResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DisassociateIamInstanceProfileAsyncHelper(const Model::DisassociateIamInstanceProfileRequest& request, const DisassociateIamInstanceProfileResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DisassociateRouteTableAsyncHelper(const Model::DisassociateRouteTableRequest& request, const DisassociateRouteTableResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DisassociateSubnetCidrBlockAsyncHelper(const Model::DisassociateSubnetCidrBlockRequest& request, const DisassociateSubnetCidrBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DisassociateTransitGatewayMulticastDomainAsyncHelper(const Model::DisassociateTransitGatewayMulticastDomainRequest& request, const DisassociateTransitGatewayMulticastDomainResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DisassociateTransitGatewayRouteTableAsyncHelper(const Model::DisassociateTransitGatewayRouteTableRequest& request, const DisassociateTransitGatewayRouteTableResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DisassociateVpcCidrBlockAsyncHelper(const Model::DisassociateVpcCidrBlockRequest& request, const DisassociateVpcCidrBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void EnableEbsEncryptionByDefaultAsyncHelper(const Model::EnableEbsEncryptionByDefaultRequest& request, const EnableEbsEncryptionByDefaultResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void EnableFastSnapshotRestoresAsyncHelper(const Model::EnableFastSnapshotRestoresRequest& request, const EnableFastSnapshotRestoresResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void EnableTransitGatewayRouteTablePropagationAsyncHelper(const Model::EnableTransitGatewayRouteTablePropagationRequest& request, const EnableTransitGatewayRouteTablePropagationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void EnableVgwRoutePropagationAsyncHelper(const Model::EnableVgwRoutePropagationRequest& request, const EnableVgwRoutePropagationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void EnableVolumeIOAsyncHelper(const Model::EnableVolumeIORequest& request, const EnableVolumeIOResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void EnableVpcClassicLinkAsyncHelper(const Model::EnableVpcClassicLinkRequest& request, const EnableVpcClassicLinkResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void EnableVpcClassicLinkDnsSupportAsyncHelper(const Model::EnableVpcClassicLinkDnsSupportRequest& request, const EnableVpcClassicLinkDnsSupportResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ExportClientVpnClientCertificateRevocationListAsyncHelper(const Model::ExportClientVpnClientCertificateRevocationListRequest& request, const ExportClientVpnClientCertificateRevocationListResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ExportClientVpnClientConfigurationAsyncHelper(const Model::ExportClientVpnClientConfigurationRequest& request, const ExportClientVpnClientConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ExportImageAsyncHelper(const Model::ExportImageRequest& request, const ExportImageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ExportTransitGatewayRoutesAsyncHelper(const Model::ExportTransitGatewayRoutesRequest& request, const ExportTransitGatewayRoutesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void GetAssociatedIpv6PoolCidrsAsyncHelper(const Model::GetAssociatedIpv6PoolCidrsRequest& request, const GetAssociatedIpv6PoolCidrsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void GetCapacityReservationUsageAsyncHelper(const Model::GetCapacityReservationUsageRequest& request, const GetCapacityReservationUsageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void GetCoipPoolUsageAsyncHelper(const Model::GetCoipPoolUsageRequest& request, const GetCoipPoolUsageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void GetConsoleOutputAsyncHelper(const Model::GetConsoleOutputRequest& request, const GetConsoleOutputResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void GetConsoleScreenshotAsyncHelper(const Model::GetConsoleScreenshotRequest& request, const GetConsoleScreenshotResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void GetDefaultCreditSpecificationAsyncHelper(const Model::GetDefaultCreditSpecificationRequest& request, const GetDefaultCreditSpecificationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void GetEbsDefaultKmsKeyIdAsyncHelper(const Model::GetEbsDefaultKmsKeyIdRequest& request, const GetEbsDefaultKmsKeyIdResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void GetEbsEncryptionByDefaultAsyncHelper(const Model::GetEbsEncryptionByDefaultRequest& request, const GetEbsEncryptionByDefaultResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void GetGroupsForCapacityReservationAsyncHelper(const Model::GetGroupsForCapacityReservationRequest& request, const GetGroupsForCapacityReservationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void GetHostReservationPurchasePreviewAsyncHelper(const Model::GetHostReservationPurchasePreviewRequest& request, const GetHostReservationPurchasePreviewResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void GetLaunchTemplateDataAsyncHelper(const Model::GetLaunchTemplateDataRequest& request, const GetLaunchTemplateDataResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void GetManagedPrefixListAssociationsAsyncHelper(const Model::GetManagedPrefixListAssociationsRequest& request, const GetManagedPrefixListAssociationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void GetManagedPrefixListEntriesAsyncHelper(const Model::GetManagedPrefixListEntriesRequest& request, const GetManagedPrefixListEntriesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void GetPasswordDataAsyncHelper(const Model::GetPasswordDataRequest& request, const GetPasswordDataResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void GetReservedInstancesExchangeQuoteAsyncHelper(const Model::GetReservedInstancesExchangeQuoteRequest& request, const GetReservedInstancesExchangeQuoteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void GetTransitGatewayAttachmentPropagationsAsyncHelper(const Model::GetTransitGatewayAttachmentPropagationsRequest& request, const GetTransitGatewayAttachmentPropagationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void GetTransitGatewayMulticastDomainAssociationsAsyncHelper(const Model::GetTransitGatewayMulticastDomainAssociationsRequest& request, const GetTransitGatewayMulticastDomainAssociationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void GetTransitGatewayPrefixListReferencesAsyncHelper(const Model::GetTransitGatewayPrefixListReferencesRequest& request, const GetTransitGatewayPrefixListReferencesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void GetTransitGatewayRouteTableAssociationsAsyncHelper(const Model::GetTransitGatewayRouteTableAssociationsRequest& request, const GetTransitGatewayRouteTableAssociationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void GetTransitGatewayRouteTablePropagationsAsyncHelper(const Model::GetTransitGatewayRouteTablePropagationsRequest& request, const GetTransitGatewayRouteTablePropagationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ImportClientVpnClientCertificateRevocationListAsyncHelper(const Model::ImportClientVpnClientCertificateRevocationListRequest& request, const ImportClientVpnClientCertificateRevocationListResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ImportImageAsyncHelper(const Model::ImportImageRequest& request, const ImportImageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ImportInstanceAsyncHelper(const Model::ImportInstanceRequest& request, const ImportInstanceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ImportKeyPairAsyncHelper(const Model::ImportKeyPairRequest& request, const ImportKeyPairResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ImportSnapshotAsyncHelper(const Model::ImportSnapshotRequest& request, const ImportSnapshotResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ImportVolumeAsyncHelper(const Model::ImportVolumeRequest& request, const ImportVolumeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyAvailabilityZoneGroupAsyncHelper(const Model::ModifyAvailabilityZoneGroupRequest& request, const ModifyAvailabilityZoneGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyCapacityReservationAsyncHelper(const Model::ModifyCapacityReservationRequest& request, const ModifyCapacityReservationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyClientVpnEndpointAsyncHelper(const Model::ModifyClientVpnEndpointRequest& request, const ModifyClientVpnEndpointResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyDefaultCreditSpecificationAsyncHelper(const Model::ModifyDefaultCreditSpecificationRequest& request, const ModifyDefaultCreditSpecificationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyEbsDefaultKmsKeyIdAsyncHelper(const Model::ModifyEbsDefaultKmsKeyIdRequest& request, const ModifyEbsDefaultKmsKeyIdResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyFleetAsyncHelper(const Model::ModifyFleetRequest& request, const ModifyFleetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyFpgaImageAttributeAsyncHelper(const Model::ModifyFpgaImageAttributeRequest& request, const ModifyFpgaImageAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyHostsAsyncHelper(const Model::ModifyHostsRequest& request, const ModifyHostsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyIdFormatAsyncHelper(const Model::ModifyIdFormatRequest& request, const ModifyIdFormatResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyIdentityIdFormatAsyncHelper(const Model::ModifyIdentityIdFormatRequest& request, const ModifyIdentityIdFormatResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyImageAttributeAsyncHelper(const Model::ModifyImageAttributeRequest& request, const ModifyImageAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyInstanceAttributeAsyncHelper(const Model::ModifyInstanceAttributeRequest& request, const ModifyInstanceAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyInstanceCapacityReservationAttributesAsyncHelper(const Model::ModifyInstanceCapacityReservationAttributesRequest& request, const ModifyInstanceCapacityReservationAttributesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyInstanceCreditSpecificationAsyncHelper(const Model::ModifyInstanceCreditSpecificationRequest& request, const ModifyInstanceCreditSpecificationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyInstanceEventStartTimeAsyncHelper(const Model::ModifyInstanceEventStartTimeRequest& request, const ModifyInstanceEventStartTimeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyInstanceMetadataOptionsAsyncHelper(const Model::ModifyInstanceMetadataOptionsRequest& request, const ModifyInstanceMetadataOptionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyInstancePlacementAsyncHelper(const Model::ModifyInstancePlacementRequest& request, const ModifyInstancePlacementResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyLaunchTemplateAsyncHelper(const Model::ModifyLaunchTemplateRequest& request, const ModifyLaunchTemplateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyManagedPrefixListAsyncHelper(const Model::ModifyManagedPrefixListRequest& request, const ModifyManagedPrefixListResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyNetworkInterfaceAttributeAsyncHelper(const Model::ModifyNetworkInterfaceAttributeRequest& request, const ModifyNetworkInterfaceAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyReservedInstancesAsyncHelper(const Model::ModifyReservedInstancesRequest& request, const ModifyReservedInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifySnapshotAttributeAsyncHelper(const Model::ModifySnapshotAttributeRequest& request, const ModifySnapshotAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifySpotFleetRequestAsyncHelper(const Model::ModifySpotFleetRequestRequest& request, const ModifySpotFleetRequestResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifySubnetAttributeAsyncHelper(const Model::ModifySubnetAttributeRequest& request, const ModifySubnetAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyTrafficMirrorFilterNetworkServicesAsyncHelper(const Model::ModifyTrafficMirrorFilterNetworkServicesRequest& request, const ModifyTrafficMirrorFilterNetworkServicesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyTrafficMirrorFilterRuleAsyncHelper(const Model::ModifyTrafficMirrorFilterRuleRequest& request, const ModifyTrafficMirrorFilterRuleResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyTrafficMirrorSessionAsyncHelper(const Model::ModifyTrafficMirrorSessionRequest& request, const ModifyTrafficMirrorSessionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyTransitGatewayAsyncHelper(const Model::ModifyTransitGatewayRequest& request, const ModifyTransitGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyTransitGatewayPrefixListReferenceAsyncHelper(const Model::ModifyTransitGatewayPrefixListReferenceRequest& request, const ModifyTransitGatewayPrefixListReferenceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyTransitGatewayVpcAttachmentAsyncHelper(const Model::ModifyTransitGatewayVpcAttachmentRequest& request, const ModifyTransitGatewayVpcAttachmentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyVolumeAsyncHelper(const Model::ModifyVolumeRequest& request, const ModifyVolumeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyVolumeAttributeAsyncHelper(const Model::ModifyVolumeAttributeRequest& request, const ModifyVolumeAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyVpcAttributeAsyncHelper(const Model::ModifyVpcAttributeRequest& request, const ModifyVpcAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyVpcEndpointAsyncHelper(const Model::ModifyVpcEndpointRequest& request, const ModifyVpcEndpointResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyVpcEndpointConnectionNotificationAsyncHelper(const Model::ModifyVpcEndpointConnectionNotificationRequest& request, const ModifyVpcEndpointConnectionNotificationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyVpcEndpointServiceConfigurationAsyncHelper(const Model::ModifyVpcEndpointServiceConfigurationRequest& request, const ModifyVpcEndpointServiceConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyVpcEndpointServicePermissionsAsyncHelper(const Model::ModifyVpcEndpointServicePermissionsRequest& request, const ModifyVpcEndpointServicePermissionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyVpcPeeringConnectionOptionsAsyncHelper(const Model::ModifyVpcPeeringConnectionOptionsRequest& request, const ModifyVpcPeeringConnectionOptionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyVpcTenancyAsyncHelper(const Model::ModifyVpcTenancyRequest& request, const ModifyVpcTenancyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyVpnConnectionAsyncHelper(const Model::ModifyVpnConnectionRequest& request, const ModifyVpnConnectionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyVpnTunnelCertificateAsyncHelper(const Model::ModifyVpnTunnelCertificateRequest& request, const ModifyVpnTunnelCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ModifyVpnTunnelOptionsAsyncHelper(const Model::ModifyVpnTunnelOptionsRequest& request, const ModifyVpnTunnelOptionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void MonitorInstancesAsyncHelper(const Model::MonitorInstancesRequest& request, const MonitorInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void MoveAddressToVpcAsyncHelper(const Model::MoveAddressToVpcRequest& request, const MoveAddressToVpcResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ProvisionByoipCidrAsyncHelper(const Model::ProvisionByoipCidrRequest& request, const ProvisionByoipCidrResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void PurchaseHostReservationAsyncHelper(const Model::PurchaseHostReservationRequest& request, const PurchaseHostReservationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void PurchaseReservedInstancesOfferingAsyncHelper(const Model::PurchaseReservedInstancesOfferingRequest& request, const PurchaseReservedInstancesOfferingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void PurchaseScheduledInstancesAsyncHelper(const Model::PurchaseScheduledInstancesRequest& request, const PurchaseScheduledInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void RebootInstancesAsyncHelper(const Model::RebootInstancesRequest& request, const RebootInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void RegisterImageAsyncHelper(const Model::RegisterImageRequest& request, const RegisterImageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void RegisterInstanceEventNotificationAttributesAsyncHelper(const Model::RegisterInstanceEventNotificationAttributesRequest& request, const RegisterInstanceEventNotificationAttributesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void RegisterTransitGatewayMulticastGroupMembersAsyncHelper(const Model::RegisterTransitGatewayMulticastGroupMembersRequest& request, const RegisterTransitGatewayMulticastGroupMembersResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void RegisterTransitGatewayMulticastGroupSourcesAsyncHelper(const Model::RegisterTransitGatewayMulticastGroupSourcesRequest& request, const RegisterTransitGatewayMulticastGroupSourcesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void RejectTransitGatewayPeeringAttachmentAsyncHelper(const Model::RejectTransitGatewayPeeringAttachmentRequest& request, const RejectTransitGatewayPeeringAttachmentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void RejectTransitGatewayVpcAttachmentAsyncHelper(const Model::RejectTransitGatewayVpcAttachmentRequest& request, const RejectTransitGatewayVpcAttachmentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void RejectVpcEndpointConnectionsAsyncHelper(const Model::RejectVpcEndpointConnectionsRequest& request, const RejectVpcEndpointConnectionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void RejectVpcPeeringConnectionAsyncHelper(const Model::RejectVpcPeeringConnectionRequest& request, const RejectVpcPeeringConnectionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ReleaseAddressAsyncHelper(const Model::ReleaseAddressRequest& request, const ReleaseAddressResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ReleaseHostsAsyncHelper(const Model::ReleaseHostsRequest& request, const ReleaseHostsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ReplaceIamInstanceProfileAssociationAsyncHelper(const Model::ReplaceIamInstanceProfileAssociationRequest& request, const ReplaceIamInstanceProfileAssociationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ReplaceNetworkAclAssociationAsyncHelper(const Model::ReplaceNetworkAclAssociationRequest& request, const ReplaceNetworkAclAssociationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ReplaceNetworkAclEntryAsyncHelper(const Model::ReplaceNetworkAclEntryRequest& request, const ReplaceNetworkAclEntryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ReplaceRouteAsyncHelper(const Model::ReplaceRouteRequest& request, const ReplaceRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ReplaceRouteTableAssociationAsyncHelper(const Model::ReplaceRouteTableAssociationRequest& request, const ReplaceRouteTableAssociationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ReplaceTransitGatewayRouteAsyncHelper(const Model::ReplaceTransitGatewayRouteRequest& request, const ReplaceTransitGatewayRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ReportInstanceStatusAsyncHelper(const Model::ReportInstanceStatusRequest& request, const ReportInstanceStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void RequestSpotFleetAsyncHelper(const Model::RequestSpotFleetRequest& request, const RequestSpotFleetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void RequestSpotInstancesAsyncHelper(const Model::RequestSpotInstancesRequest& request, const RequestSpotInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ResetEbsDefaultKmsKeyIdAsyncHelper(const Model::ResetEbsDefaultKmsKeyIdRequest& request, const ResetEbsDefaultKmsKeyIdResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ResetFpgaImageAttributeAsyncHelper(const Model::ResetFpgaImageAttributeRequest& request, const ResetFpgaImageAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ResetImageAttributeAsyncHelper(const Model::ResetImageAttributeRequest& request, const ResetImageAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ResetInstanceAttributeAsyncHelper(const Model::ResetInstanceAttributeRequest& request, const ResetInstanceAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ResetNetworkInterfaceAttributeAsyncHelper(const Model::ResetNetworkInterfaceAttributeRequest& request, const ResetNetworkInterfaceAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ResetSnapshotAttributeAsyncHelper(const Model::ResetSnapshotAttributeRequest& request, const ResetSnapshotAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void RestoreAddressToClassicAsyncHelper(const Model::RestoreAddressToClassicRequest& request, const RestoreAddressToClassicResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void RestoreManagedPrefixListVersionAsyncHelper(const Model::RestoreManagedPrefixListVersionRequest& request, const RestoreManagedPrefixListVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void RevokeClientVpnIngressAsyncHelper(const Model::RevokeClientVpnIngressRequest& request, const RevokeClientVpnIngressResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void RevokeSecurityGroupEgressAsyncHelper(const Model::RevokeSecurityGroupEgressRequest& request, const RevokeSecurityGroupEgressResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void RevokeSecurityGroupIngressAsyncHelper(const Model::RevokeSecurityGroupIngressRequest& request, const RevokeSecurityGroupIngressResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void RunInstancesAsyncHelper(const Model::RunInstancesRequest& request, const RunInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void RunScheduledInstancesAsyncHelper(const Model::RunScheduledInstancesRequest& request, const RunScheduledInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void SearchLocalGatewayRoutesAsyncHelper(const Model::SearchLocalGatewayRoutesRequest& request, const SearchLocalGatewayRoutesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void SearchTransitGatewayMulticastGroupsAsyncHelper(const Model::SearchTransitGatewayMulticastGroupsRequest& request, const SearchTransitGatewayMulticastGroupsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void SearchTransitGatewayRoutesAsyncHelper(const Model::SearchTransitGatewayRoutesRequest& request, const SearchTransitGatewayRoutesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void SendDiagnosticInterruptAsyncHelper(const Model::SendDiagnosticInterruptRequest& request, const SendDiagnosticInterruptResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void StartInstancesAsyncHelper(const Model::StartInstancesRequest& request, const StartInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void StartVpcEndpointServicePrivateDnsVerificationAsyncHelper(const Model::StartVpcEndpointServicePrivateDnsVerificationRequest& request, const StartVpcEndpointServicePrivateDnsVerificationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void StopInstancesAsyncHelper(const Model::StopInstancesRequest& request, const StopInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void TerminateClientVpnConnectionsAsyncHelper(const Model::TerminateClientVpnConnectionsRequest& request, const TerminateClientVpnConnectionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void TerminateInstancesAsyncHelper(const Model::TerminateInstancesRequest& request, const TerminateInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void UnassignIpv6AddressesAsyncHelper(const Model::UnassignIpv6AddressesRequest& request, const UnassignIpv6AddressesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void UnassignPrivateIpAddressesAsyncHelper(const Model::UnassignPrivateIpAddressesRequest& request, const UnassignPrivateIpAddressesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void UnmonitorInstancesAsyncHelper(const Model::UnmonitorInstancesRequest& request, const UnmonitorInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void UpdateSecurityGroupRuleDescriptionsEgressAsyncHelper(const Model::UpdateSecurityGroupRuleDescriptionsEgressRequest& request, const UpdateSecurityGroupRuleDescriptionsEgressResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void UpdateSecurityGroupRuleDescriptionsIngressAsyncHelper(const Model::UpdateSecurityGroupRuleDescriptionsIngressRequest& request, const UpdateSecurityGroupRuleDescriptionsIngressResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void WithdrawByoipCidrAsyncHelper(const Model::WithdrawByoipCidrRequest& request, const WithdrawByoipCidrResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
Aws::String m_uri;
Aws::String m_configScheme;
std::shared_ptr<Aws::Utils::Threading::Executor> m_executor;
};
} // namespace EC2
} // namespace Aws