AWS SDK for PHP 3.x
  • Namespace
  • Class
Did this page help you? SUBMIT FEEDBACK!

Namespaces

  • Aws
    • AccessAnalyzer
      • Exception
    • Acm
      • Exception
    • ACMPCA
      • Exception
    • AlexaForBusiness
      • Exception
    • Amplify
      • Exception
    • AmplifyBackend
      • Exception
    • Api
      • ErrorParser
      • Parser
        • Exception
      • Serializer
    • ApiGateway
      • Exception
    • ApiGatewayManagementApi
      • Exception
    • ApiGatewayV2
      • Exception
    • AppConfig
      • Exception
    • Appflow
      • Exception
    • AppIntegrationsService
      • Exception
    • ApplicationAutoScaling
      • Exception
    • ApplicationDiscoveryService
      • Exception
    • ApplicationInsights
      • Exception
    • AppMesh
      • Exception
    • AppRegistry
      • Exception
    • Appstream
      • Exception
    • AppSync
      • Exception
    • Arn
      • Exception
    • Athena
      • Exception
    • AuditManager
      • Exception
    • AugmentedAIRuntime
      • Exception
    • AutoScaling
      • Exception
    • AutoScalingPlans
      • Exception
    • Backup
      • Exception
    • Batch
      • Exception
    • Braket
      • Exception
    • Budgets
      • Exception
    • Chime
      • Exception
    • ClientSideMonitoring
      • Exception
    • Cloud9
      • Exception
    • CloudDirectory
      • Exception
    • CloudFormation
      • Exception
    • CloudFront
      • Exception
    • CloudHsm
      • Exception
    • CloudHSMV2
      • Exception
    • CloudSearch
      • Exception
    • CloudSearchDomain
      • Exception
    • CloudTrail
      • Exception
    • CloudWatch
      • Exception
    • CloudWatchEvents
      • Exception
    • CloudWatchLogs
      • Exception
    • CodeArtifact
      • Exception
    • CodeBuild
      • Exception
    • CodeCommit
      • Exception
    • CodeDeploy
      • Exception
    • CodeGuruProfiler
      • Exception
    • CodeGuruReviewer
      • Exception
    • CodePipeline
      • Exception
    • CodeStar
      • Exception
    • CodeStarconnections
      • Exception
    • CodeStarNotifications
      • Exception
    • CognitoIdentity
      • Exception
    • CognitoIdentityProvider
      • Exception
    • CognitoSync
      • Exception
    • Comprehend
      • Exception
    • ComprehendMedical
      • Exception
    • ComputeOptimizer
      • Exception
    • ConfigService
      • Exception
    • Connect
      • Exception
    • ConnectContactLens
      • Exception
    • ConnectParticipant
      • Exception
    • CostandUsageReportService
      • Exception
    • CostExplorer
      • Exception
    • Credentials
    • Crypto
      • Cipher
      • Polyfill
    • CustomerProfiles
      • Exception
    • DatabaseMigrationService
      • Exception
    • DataExchange
      • Exception
    • DataPipeline
      • Exception
    • DataSync
      • Exception
    • DAX
      • Exception
    • Detective
      • Exception
    • DeviceFarm
      • Exception
    • DevOpsGuru
      • Exception
    • DirectConnect
      • Exception
    • DirectoryService
      • Exception
    • DLM
      • Exception
    • DocDB
      • Exception
    • DynamoDb
      • Exception
    • DynamoDbStreams
      • Exception
    • EBS
      • Exception
    • Ec2
      • Exception
    • EC2InstanceConnect
      • Exception
    • Ecr
      • Exception
    • ECRPublic
      • Exception
    • Ecs
      • Exception
    • Efs
      • Exception
    • EKS
      • Exception
    • ElastiCache
      • Exception
    • ElasticBeanstalk
      • Exception
    • ElasticInference
      • Exception
    • ElasticLoadBalancing
      • Exception
    • ElasticLoadBalancingV2
      • Exception
    • ElasticsearchService
      • Exception
    • ElasticTranscoder
      • Exception
    • Emr
      • Exception
    • EMRContainers
      • Exception
    • Endpoint
    • EndpointDiscovery
      • Exception
    • EventBridge
      • Exception
    • Exception
    • Firehose
      • Exception
    • FIS
      • Exception
    • FMS
      • Exception
    • ForecastQueryService
      • Exception
    • ForecastService
      • Exception
    • FraudDetector
      • Exception
    • FSx
      • Exception
    • GameLift
      • Exception
    • Glacier
      • Exception
    • GlobalAccelerator
      • Exception
    • Glue
      • Exception
    • GlueDataBrew
      • Exception
    • Greengrass
      • Exception
    • GreengrassV2
      • Exception
    • GroundStation
      • Exception
    • GuardDuty
      • Exception
    • Handler
      • GuzzleV5
      • GuzzleV6
    • Health
      • Exception
    • HealthLake
      • Exception
    • Honeycode
      • Exception
    • Iam
      • Exception
    • IdentityStore
      • Exception
    • imagebuilder
      • Exception
    • ImportExport
      • Exception
    • Inspector
      • Exception
    • Iot
      • Exception
    • IoT1ClickDevicesService
      • Exception
    • IoT1ClickProjects
      • Exception
    • IoTAnalytics
      • Exception
    • IotDataPlane
      • Exception
    • IoTDeviceAdvisor
      • Exception
    • IoTEvents
      • Exception
    • IoTEventsData
      • Exception
    • IoTFleetHub
      • Exception
    • IoTJobsDataPlane
      • Exception
    • IoTSecureTunneling
      • Exception
    • IoTSiteWise
      • Exception
    • IoTThingsGraph
      • Exception
    • IoTWireless
      • Exception
    • IVS
      • Exception
    • Kafka
      • Exception
    • kendra
      • Exception
    • Kinesis
      • Exception
    • KinesisAnalytics
      • Exception
    • KinesisAnalyticsV2
      • Exception
    • KinesisVideo
      • Exception
    • KinesisVideoArchivedMedia
      • Exception
    • KinesisVideoMedia
      • Exception
    • KinesisVideoSignalingChannels
      • Exception
    • Kms
      • Exception
    • LakeFormation
      • Exception
    • Lambda
      • Exception
    • LexModelBuildingService
      • Exception
    • LexModelsV2
      • Exception
    • LexRuntimeService
      • Exception
    • LexRuntimeV2
      • Exception
    • LicenseManager
      • Exception
    • Lightsail
      • Exception
    • LocationService
      • Exception
    • LookoutEquipment
      • Exception
    • LookoutforVision
      • Exception
    • LookoutMetrics
      • Exception
    • MachineLearning
      • Exception
    • Macie
      • Exception
    • Macie2
      • Exception
    • ManagedBlockchain
      • Exception
    • MarketplaceCatalog
      • Exception
    • MarketplaceCommerceAnalytics
      • Exception
    • MarketplaceEntitlementService
      • Exception
    • MarketplaceMetering
      • Exception
    • MediaConnect
      • Exception
    • MediaConvert
      • Exception
    • MediaLive
      • Exception
    • MediaPackage
      • Exception
    • MediaPackageVod
      • Exception
    • MediaStore
      • Exception
    • MediaStoreData
      • Exception
    • MediaTailor
      • Exception
    • mgn
      • Exception
    • MigrationHub
      • Exception
    • MigrationHubConfig
      • Exception
    • Mobile
      • Exception
    • MQ
      • Exception
    • MTurk
      • Exception
    • Multipart
    • MWAA
      • Exception
    • Neptune
      • Exception
    • NetworkFirewall
      • Exception
    • NetworkManager
      • Exception
    • OpsWorks
      • Exception
    • OpsWorksCM
      • Exception
    • Organizations
      • Exception
    • Outposts
      • Exception
    • Personalize
      • Exception
    • PersonalizeEvents
      • Exception
    • PersonalizeRuntime
      • Exception
    • PI
      • Exception
    • Pinpoint
      • Exception
    • PinpointEmail
      • Exception
    • PinpointSMSVoice
      • Exception
    • Polly
      • Exception
    • Pricing
      • Exception
    • PrometheusService
      • Exception
    • QLDB
      • Exception
    • QLDBSession
      • Exception
    • QuickSight
      • Exception
    • RAM
      • Exception
    • Rds
      • Exception
    • RDSDataService
      • Exception
    • Redshift
      • Exception
    • RedshiftDataAPIService
      • Exception
    • Rekognition
      • Exception
    • ResourceGroups
      • Exception
    • ResourceGroupsTaggingAPI
      • Exception
    • Retry
      • Exception
    • RoboMaker
      • Exception
    • Route53
      • Exception
    • Route53Domains
      • Exception
    • Route53Resolver
      • Exception
    • S3
      • Crypto
      • Exception
      • RegionalEndpoint
        • Exception
      • UseArnRegion
        • Exception
    • S3Control
      • Exception
    • S3Outposts
      • Exception
    • SageMaker
      • Exception
    • SagemakerEdgeManager
      • Exception
    • SageMakerFeatureStoreRuntime
      • Exception
    • SageMakerRuntime
      • Exception
    • SavingsPlans
      • Exception
    • Schemas
      • Exception
    • SecretsManager
      • Exception
    • SecurityHub
      • Exception
    • ServerlessApplicationRepository
      • Exception
    • ServiceCatalog
      • Exception
    • ServiceDiscovery
      • Exception
    • ServiceQuotas
      • Exception
    • Ses
      • Exception
    • SesV2
      • Exception
    • Sfn
      • Exception
    • Shield
      • Exception
    • Signature
    • signer
      • Exception
    • Sms
      • Exception
    • SnowBall
      • Exception
    • Sns
      • Exception
    • Sqs
      • Exception
    • Ssm
      • Exception
    • SSO
      • Exception
    • SSOAdmin
      • Exception
    • SSOOIDC
      • Exception
    • StorageGateway
      • Exception
    • Sts
      • Exception
      • RegionalEndpoints
        • Exception
    • Support
      • Exception
    • Swf
      • Exception
    • Synthetics
      • Exception
    • Textract
      • Exception
    • TimestreamQuery
      • Exception
    • TimestreamWrite
      • Exception
    • TranscribeService
      • Exception
    • Transfer
      • Exception
    • Translate
      • Exception
    • Waf
      • Exception
    • WafRegional
      • Exception
    • WAFV2
      • Exception
    • WellArchitected
      • Exception
    • WorkDocs
      • Exception
    • WorkLink
      • Exception
    • WorkMail
      • Exception
    • WorkMailMessageFlow
      • Exception
    • WorkSpaces
      • Exception
    • XRay
      • Exception
  • GuzzleHttp
    • Promise
    • Psr7
  • Psr
    • Http
      • Message

Classes

  • Aws\AbstractConfigurationProvider
  • Aws\AccessAnalyzer\AccessAnalyzerClient
  • Aws\Acm\AcmClient
  • Aws\ACMPCA\ACMPCAClient
  • Aws\AlexaForBusiness\AlexaForBusinessClient
  • Aws\Amplify\AmplifyClient
  • Aws\AmplifyBackend\AmplifyBackendClient
  • Aws\Api\AbstractModel
  • Aws\Api\ApiProvider
  • Aws\Api\DateTimeResult
  • Aws\Api\DocModel
  • Aws\Api\ErrorParser\AbstractErrorParser
  • Aws\Api\ErrorParser\JsonRpcErrorParser
  • Aws\Api\ErrorParser\RestJsonErrorParser
  • Aws\Api\ErrorParser\XmlErrorParser
  • Aws\Api\ListShape
  • Aws\Api\MapShape
  • Aws\Api\Operation
  • Aws\Api\Parser\Crc32ValidatingParser
  • Aws\Api\Parser\DecodingEventStreamIterator
  • Aws\Api\Parser\EventParsingIterator
  • Aws\Api\Parser\JsonParser
  • Aws\Api\Parser\JsonRpcParser
  • Aws\Api\Parser\QueryParser
  • Aws\Api\Parser\RestJsonParser
  • Aws\Api\Parser\RestXmlParser
  • Aws\Api\Parser\XmlParser
  • Aws\Api\Serializer\XmlBody
  • Aws\Api\Service
  • Aws\Api\Shape
  • Aws\Api\ShapeMap
  • Aws\Api\StructureShape
  • Aws\Api\TimestampShape
  • Aws\Api\Validator
  • Aws\ApiGateway\ApiGatewayClient
  • Aws\ApiGatewayManagementApi\ApiGatewayManagementApiClient
  • Aws\ApiGatewayV2\ApiGatewayV2Client
  • Aws\AppConfig\AppConfigClient
  • Aws\Appflow\AppflowClient
  • Aws\AppIntegrationsService\AppIntegrationsServiceClient
  • Aws\ApplicationAutoScaling\ApplicationAutoScalingClient
  • Aws\ApplicationDiscoveryService\ApplicationDiscoveryServiceClient
  • Aws\ApplicationInsights\ApplicationInsightsClient
  • Aws\AppMesh\AppMeshClient
  • Aws\AppRegistry\AppRegistryClient
  • Aws\Appstream\AppstreamClient
  • Aws\AppSync\AppSyncClient
  • Aws\Athena\AthenaClient
  • Aws\AuditManager\AuditManagerClient
  • Aws\AugmentedAIRuntime\AugmentedAIRuntimeClient
  • Aws\AutoScaling\AutoScalingClient
  • Aws\AutoScalingPlans\AutoScalingPlansClient
  • Aws\AwsClient
  • Aws\Backup\BackupClient
  • Aws\Batch\BatchClient
  • Aws\Braket\BraketClient
  • Aws\Budgets\BudgetsClient
  • Aws\Chime\ChimeClient
  • Aws\ClientResolver
  • Aws\ClientSideMonitoring\Configuration
  • Aws\ClientSideMonitoring\ConfigurationProvider
  • Aws\Cloud9\Cloud9Client
  • Aws\CloudDirectory\CloudDirectoryClient
  • Aws\CloudFormation\CloudFormationClient
  • Aws\CloudFront\CloudFrontClient
  • Aws\CloudFront\CookieSigner
  • Aws\CloudFront\UrlSigner
  • Aws\CloudHsm\CloudHsmClient
  • Aws\CloudHSMV2\CloudHSMV2Client
  • Aws\CloudSearch\CloudSearchClient
  • Aws\CloudSearchDomain\CloudSearchDomainClient
  • Aws\CloudTrail\CloudTrailClient
  • Aws\CloudTrail\LogFileIterator
  • Aws\CloudTrail\LogFileReader
  • Aws\CloudTrail\LogRecordIterator
  • Aws\CloudWatch\CloudWatchClient
  • Aws\CloudWatchEvents\CloudWatchEventsClient
  • Aws\CloudWatchLogs\CloudWatchLogsClient
  • Aws\CodeArtifact\CodeArtifactClient
  • Aws\CodeBuild\CodeBuildClient
  • Aws\CodeCommit\CodeCommitClient
  • Aws\CodeDeploy\CodeDeployClient
  • Aws\CodeGuruProfiler\CodeGuruProfilerClient
  • Aws\CodeGuruReviewer\CodeGuruReviewerClient
  • Aws\CodePipeline\CodePipelineClient
  • Aws\CodeStar\CodeStarClient
  • Aws\CodeStarconnections\CodeStarconnectionsClient
  • Aws\CodeStarNotifications\CodeStarNotificationsClient
  • Aws\CognitoIdentity\CognitoIdentityClient
  • Aws\CognitoIdentity\CognitoIdentityProvider
  • Aws\CognitoIdentityProvider\CognitoIdentityProviderClient
  • Aws\CognitoSync\CognitoSyncClient
  • Aws\Command
  • Aws\CommandPool
  • Aws\Comprehend\ComprehendClient
  • Aws\ComprehendMedical\ComprehendMedicalClient
  • Aws\ComputeOptimizer\ComputeOptimizerClient
  • Aws\ConfigService\ConfigServiceClient
  • Aws\Connect\ConnectClient
  • Aws\ConnectContactLens\ConnectContactLensClient
  • Aws\ConnectParticipant\ConnectParticipantClient
  • Aws\CostandUsageReportService\CostandUsageReportServiceClient
  • Aws\CostExplorer\CostExplorerClient
  • Aws\Credentials\AssumeRoleCredentialProvider
  • Aws\Credentials\AssumeRoleWithWebIdentityCredentialProvider
  • Aws\Credentials\CredentialProvider
  • Aws\Credentials\Credentials
  • Aws\Credentials\EcsCredentialProvider
  • Aws\Credentials\InstanceProfileProvider
  • Aws\Crypto\AesDecryptingStream
  • Aws\Crypto\AesEncryptingStream
  • Aws\Crypto\AesGcmDecryptingStream
  • Aws\Crypto\AesGcmEncryptingStream
  • Aws\Crypto\Cipher\Cbc
  • Aws\Crypto\KmsMaterialsProvider
  • Aws\Crypto\KmsMaterialsProviderV2
  • Aws\Crypto\MaterialsProvider
  • Aws\Crypto\MaterialsProviderV2
  • Aws\Crypto\Polyfill\AesGcm
  • Aws\Crypto\Polyfill\ByteArray
  • Aws\Crypto\Polyfill\Gmac
  • Aws\Crypto\Polyfill\Key
  • Aws\CustomerProfiles\CustomerProfilesClient
  • Aws\DatabaseMigrationService\DatabaseMigrationServiceClient
  • Aws\DataExchange\DataExchangeClient
  • Aws\DataPipeline\DataPipelineClient
  • Aws\DataSync\DataSyncClient
  • Aws\DAX\DAXClient
  • Aws\Detective\DetectiveClient
  • Aws\DeviceFarm\DeviceFarmClient
  • Aws\DevOpsGuru\DevOpsGuruClient
  • Aws\DirectConnect\DirectConnectClient
  • Aws\DirectoryService\DirectoryServiceClient
  • Aws\DLM\DLMClient
  • Aws\DocDB\DocDBClient
  • Aws\DoctrineCacheAdapter
  • Aws\DynamoDb\BinaryValue
  • Aws\DynamoDb\DynamoDbClient
  • Aws\DynamoDb\LockingSessionConnection
  • Aws\DynamoDb\Marshaler
  • Aws\DynamoDb\NumberValue
  • Aws\DynamoDb\SessionHandler
  • Aws\DynamoDb\SetValue
  • Aws\DynamoDb\StandardSessionConnection
  • Aws\DynamoDb\WriteRequestBatch
  • Aws\DynamoDbStreams\DynamoDbStreamsClient
  • Aws\EBS\EBSClient
  • Aws\Ec2\Ec2Client
  • Aws\EC2InstanceConnect\EC2InstanceConnectClient
  • Aws\Ecr\EcrClient
  • Aws\ECRPublic\ECRPublicClient
  • Aws\Ecs\EcsClient
  • Aws\Efs\EfsClient
  • Aws\EKS\EKSClient
  • Aws\ElastiCache\ElastiCacheClient
  • Aws\ElasticBeanstalk\ElasticBeanstalkClient
  • Aws\ElasticInference\ElasticInferenceClient
  • Aws\ElasticLoadBalancing\ElasticLoadBalancingClient
  • Aws\ElasticLoadBalancingV2\ElasticLoadBalancingV2Client
  • Aws\ElasticsearchService\ElasticsearchServiceClient
  • Aws\ElasticTranscoder\ElasticTranscoderClient
  • Aws\Emr\EmrClient
  • Aws\EMRContainers\EMRContainersClient
  • Aws\Endpoint\EndpointProvider
  • Aws\Endpoint\Partition
  • Aws\Endpoint\PartitionEndpointProvider
  • Aws\Endpoint\PatternEndpointProvider
  • Aws\EndpointDiscovery\Configuration
  • Aws\EndpointDiscovery\ConfigurationProvider
  • Aws\EndpointDiscovery\EndpointDiscoveryMiddleware
  • Aws\EndpointDiscovery\EndpointList
  • Aws\EventBridge\EventBridgeClient
  • Aws\Firehose\FirehoseClient
  • Aws\FIS\FISClient
  • Aws\FMS\FMSClient
  • Aws\ForecastQueryService\ForecastQueryServiceClient
  • Aws\ForecastService\ForecastServiceClient
  • Aws\FraudDetector\FraudDetectorClient
  • Aws\FSx\FSxClient
  • Aws\GameLift\GameLiftClient
  • Aws\Glacier\GlacierClient
  • Aws\Glacier\MultipartUploader
  • Aws\Glacier\TreeHash
  • Aws\GlobalAccelerator\GlobalAcceleratorClient
  • Aws\Glue\GlueClient
  • Aws\GlueDataBrew\GlueDataBrewClient
  • Aws\Greengrass\GreengrassClient
  • Aws\GreengrassV2\GreengrassV2Client
  • Aws\GroundStation\GroundStationClient
  • Aws\GuardDuty\GuardDutyClient
  • Aws\Handler\GuzzleV5\GuzzleHandler
  • Aws\Handler\GuzzleV5\GuzzleStream
  • Aws\Handler\GuzzleV5\PsrStream
  • Aws\Handler\GuzzleV6\GuzzleHandler
  • Aws\HandlerList
  • Aws\HashingStream
  • Aws\Health\HealthClient
  • Aws\HealthLake\HealthLakeClient
  • Aws\History
  • Aws\Honeycode\HoneycodeClient
  • Aws\Iam\IamClient
  • Aws\IdempotencyTokenMiddleware
  • Aws\IdentityStore\IdentityStoreClient
  • Aws\imagebuilder\imagebuilderClient
  • Aws\ImportExport\ImportExportClient
  • Aws\Inspector\InspectorClient
  • Aws\IoT1ClickDevicesService\IoT1ClickDevicesServiceClient
  • Aws\IoT1ClickProjects\IoT1ClickProjectsClient
  • Aws\Iot\IotClient
  • Aws\IoTAnalytics\IoTAnalyticsClient
  • Aws\IotDataPlane\IotDataPlaneClient
  • Aws\IoTDeviceAdvisor\IoTDeviceAdvisorClient
  • Aws\IoTEvents\IoTEventsClient
  • Aws\IoTEventsData\IoTEventsDataClient
  • Aws\IoTFleetHub\IoTFleetHubClient
  • Aws\IoTJobsDataPlane\IoTJobsDataPlaneClient
  • Aws\IoTSecureTunneling\IoTSecureTunnelingClient
  • Aws\IoTSiteWise\IoTSiteWiseClient
  • Aws\IoTThingsGraph\IoTThingsGraphClient
  • Aws\IoTWireless\IoTWirelessClient
  • Aws\IVS\IVSClient
  • Aws\JsonCompiler
  • Aws\Kafka\KafkaClient
  • Aws\kendra\kendraClient
  • Aws\Kinesis\KinesisClient
  • Aws\KinesisAnalytics\KinesisAnalyticsClient
  • Aws\KinesisAnalyticsV2\KinesisAnalyticsV2Client
  • Aws\KinesisVideo\KinesisVideoClient
  • Aws\KinesisVideoArchivedMedia\KinesisVideoArchivedMediaClient
  • Aws\KinesisVideoMedia\KinesisVideoMediaClient
  • Aws\KinesisVideoSignalingChannels\KinesisVideoSignalingChannelsClient
  • Aws\Kms\KmsClient
  • Aws\LakeFormation\LakeFormationClient
  • Aws\Lambda\LambdaClient
  • Aws\LexModelBuildingService\LexModelBuildingServiceClient
  • Aws\LexModelsV2\LexModelsV2Client
  • Aws\LexRuntimeService\LexRuntimeServiceClient
  • Aws\LexRuntimeV2\LexRuntimeV2Client
  • Aws\LicenseManager\LicenseManagerClient
  • Aws\Lightsail\LightsailClient
  • Aws\LocationService\LocationServiceClient
  • Aws\LookoutEquipment\LookoutEquipmentClient
  • Aws\LookoutforVision\LookoutforVisionClient
  • Aws\LookoutMetrics\LookoutMetricsClient
  • Aws\LruArrayCache
  • Aws\MachineLearning\MachineLearningClient
  • Aws\Macie2\Macie2Client
  • Aws\Macie\MacieClient
  • Aws\ManagedBlockchain\ManagedBlockchainClient
  • Aws\MarketplaceCatalog\MarketplaceCatalogClient
  • Aws\MarketplaceCommerceAnalytics\MarketplaceCommerceAnalyticsClient
  • Aws\MarketplaceEntitlementService\MarketplaceEntitlementServiceClient
  • Aws\MarketplaceMetering\MarketplaceMeteringClient
  • Aws\MediaConnect\MediaConnectClient
  • Aws\MediaConvert\MediaConvertClient
  • Aws\MediaLive\MediaLiveClient
  • Aws\MediaPackage\MediaPackageClient
  • Aws\MediaPackageVod\MediaPackageVodClient
  • Aws\MediaStore\MediaStoreClient
  • Aws\MediaStoreData\MediaStoreDataClient
  • Aws\MediaTailor\MediaTailorClient
  • Aws\mgn\mgnClient
  • Aws\Middleware
  • Aws\MigrationHub\MigrationHubClient
  • Aws\MigrationHubConfig\MigrationHubConfigClient
  • Aws\Mobile\MobileClient
  • Aws\MockHandler
  • Aws\MQ\MQClient
  • Aws\MTurk\MTurkClient
  • Aws\Multipart\UploadState
  • Aws\MultiRegionClient
  • Aws\MWAA\MWAAClient
  • Aws\Neptune\NeptuneClient
  • Aws\NetworkFirewall\NetworkFirewallClient
  • Aws\NetworkManager\NetworkManagerClient
  • Aws\OpsWorks\OpsWorksClient
  • Aws\OpsWorksCM\OpsWorksCMClient
  • Aws\Organizations\OrganizationsClient
  • Aws\Outposts\OutpostsClient
  • Aws\Personalize\PersonalizeClient
  • Aws\PersonalizeEvents\PersonalizeEventsClient
  • Aws\PersonalizeRuntime\PersonalizeRuntimeClient
  • Aws\PhpHash
  • Aws\PI\PIClient
  • Aws\Pinpoint\PinpointClient
  • Aws\PinpointEmail\PinpointEmailClient
  • Aws\PinpointSMSVoice\PinpointSMSVoiceClient
  • Aws\Polly\PollyClient
  • Aws\PresignUrlMiddleware
  • Aws\Pricing\PricingClient
  • Aws\PrometheusService\PrometheusServiceClient
  • Aws\Psr16CacheAdapter
  • Aws\PsrCacheAdapter
  • Aws\QLDB\QLDBClient
  • Aws\QLDBSession\QLDBSessionClient
  • Aws\QuickSight\QuickSightClient
  • Aws\RAM\RAMClient
  • Aws\Rds\AuthTokenGenerator
  • Aws\Rds\RdsClient
  • Aws\RDSDataService\RDSDataServiceClient
  • Aws\Redshift\RedshiftClient
  • Aws\RedshiftDataAPIService\RedshiftDataAPIServiceClient
  • Aws\Rekognition\RekognitionClient
  • Aws\ResourceGroups\ResourceGroupsClient
  • Aws\ResourceGroupsTaggingAPI\ResourceGroupsTaggingAPIClient
  • Aws\Result
  • Aws\ResultPaginator
  • Aws\Retry\Configuration
  • Aws\Retry\ConfigurationProvider
  • Aws\RoboMaker\RoboMakerClient
  • Aws\Route53\Route53Client
  • Aws\Route53Domains\Route53DomainsClient
  • Aws\Route53Resolver\Route53ResolverClient
  • Aws\S3\BatchDelete
  • Aws\S3\Crypto\HeadersMetadataStrategy
  • Aws\S3\Crypto\InstructionFileMetadataStrategy
  • Aws\S3\Crypto\S3EncryptionClient
  • Aws\S3\Crypto\S3EncryptionClientV2
  • Aws\S3\Crypto\S3EncryptionMultipartUploader
  • Aws\S3\Crypto\S3EncryptionMultipartUploaderV2
  • Aws\S3\GetBucketLocationParser
  • Aws\S3\MultipartUploader
  • Aws\S3\ObjectCopier
  • Aws\S3\ObjectUploader
  • Aws\S3\PostObject
  • Aws\S3\PostObjectV4
  • Aws\S3\RegionalEndpoint\Configuration
  • Aws\S3\RegionalEndpoint\ConfigurationProvider
  • Aws\S3\S3Client
  • Aws\S3\S3MultiRegionClient
  • Aws\S3\S3UriParser
  • Aws\S3\StreamWrapper
  • Aws\S3\Transfer
  • Aws\S3\UseArnRegion\Configuration
  • Aws\S3\UseArnRegion\ConfigurationProvider
  • Aws\S3Control\S3ControlClient
  • Aws\S3Outposts\S3OutpostsClient
  • Aws\SageMaker\SageMakerClient
  • Aws\SagemakerEdgeManager\SagemakerEdgeManagerClient
  • Aws\SageMakerFeatureStoreRuntime\SageMakerFeatureStoreRuntimeClient
  • Aws\SageMakerRuntime\SageMakerRuntimeClient
  • Aws\SavingsPlans\SavingsPlansClient
  • Aws\Schemas\SchemasClient
  • Aws\Sdk
  • Aws\SecretsManager\SecretsManagerClient
  • Aws\SecurityHub\SecurityHubClient
  • Aws\ServerlessApplicationRepository\ServerlessApplicationRepositoryClient
  • Aws\ServiceCatalog\ServiceCatalogClient
  • Aws\ServiceDiscovery\ServiceDiscoveryClient
  • Aws\ServiceQuotas\ServiceQuotasClient
  • Aws\Ses\SesClient
  • Aws\SesV2\SesV2Client
  • Aws\Sfn\SfnClient
  • Aws\Shield\ShieldClient
  • Aws\Signature\AnonymousSignature
  • Aws\Signature\S3SignatureV4
  • Aws\Signature\SignatureProvider
  • Aws\Signature\SignatureV4
  • Aws\signer\signerClient
  • Aws\Sms\SmsClient
  • Aws\SnowBall\SnowBallClient
  • Aws\Sns\Message
  • Aws\Sns\MessageValidator
  • Aws\Sns\SnsClient
  • Aws\Sqs\SqsClient
  • Aws\Ssm\SsmClient
  • Aws\SSO\SSOClient
  • Aws\SSOAdmin\SSOAdminClient
  • Aws\SSOOIDC\SSOOIDCClient
  • Aws\StorageGateway\StorageGatewayClient
  • Aws\Sts\RegionalEndpoints\Configuration
  • Aws\Sts\RegionalEndpoints\ConfigurationProvider
  • Aws\Sts\StsClient
  • Aws\Support\SupportClient
  • Aws\Swf\SwfClient
  • Aws\Synthetics\SyntheticsClient
  • Aws\Textract\TextractClient
  • Aws\TimestreamQuery\TimestreamQueryClient
  • Aws\TimestreamWrite\TimestreamWriteClient
  • Aws\TraceMiddleware
  • Aws\TranscribeService\TranscribeServiceClient
  • Aws\Transfer\TransferClient
  • Aws\Translate\TranslateClient
  • Aws\Waf\WafClient
  • Aws\WafRegional\WafRegionalClient
  • Aws\WAFV2\WAFV2Client
  • Aws\Waiter
  • Aws\WellArchitected\WellArchitectedClient
  • Aws\WorkDocs\WorkDocsClient
  • Aws\WorkLink\WorkLinkClient
  • Aws\WorkMail\WorkMailClient
  • Aws\WorkMailMessageFlow\WorkMailMessageFlowClient
  • Aws\WorkSpaces\WorkSpacesClient
  • Aws\WrappedHttpHandler
  • Aws\XRay\XRayClient

Interfaces

  • Aws\AwsClientInterface
  • Aws\CacheInterface
  • Aws\ClientSideMonitoring\ConfigurationInterface
  • Aws\CommandInterface
  • Aws\ConfigurationProviderInterface
  • Aws\Credentials\CredentialsInterface
  • Aws\Crypto\AesStreamInterface
  • Aws\Crypto\AesStreamInterfaceV2
  • Aws\Crypto\Cipher\CipherMethod
  • Aws\Crypto\MaterialsProviderInterface
  • Aws\Crypto\MaterialsProviderInterfaceV2
  • Aws\Crypto\MetadataStrategyInterface
  • Aws\DynamoDb\SessionConnectionInterface
  • Aws\Endpoint\PartitionInterface
  • Aws\EndpointDiscovery\ConfigurationInterface
  • Aws\HashInterface
  • Aws\MonitoringEventsInterface
  • Aws\ResponseContainerInterface
  • Aws\ResultInterface
  • Aws\Retry\ConfigurationInterface
  • Aws\S3\RegionalEndpoint\ConfigurationInterface
  • Aws\S3\S3ClientInterface
  • Aws\S3\UseArnRegion\ConfigurationInterface
  • Aws\Signature\SignatureInterface
  • Aws\Sts\RegionalEndpoints\ConfigurationInterface

Traits

  • Aws\Api\ErrorParser\JsonParserTrait
  • Aws\Api\Parser\MetadataParserTrait
  • Aws\Api\Parser\PayloadParserTrait
  • Aws\AwsClientTrait
  • Aws\Crypto\Cipher\CipherBuilderTrait
  • Aws\Crypto\DecryptionTrait
  • Aws\Crypto\DecryptionTraitV2
  • Aws\Crypto\EncryptionTrait
  • Aws\Crypto\EncryptionTraitV2
  • Aws\Crypto\Polyfill\NeedsTrait
  • Aws\DynamoDb\SessionConnectionConfigTrait
  • Aws\HasDataTrait
  • Aws\HasMonitoringEventsTrait
  • Aws\Retry\RetryHelperTrait
  • Aws\S3\Crypto\CryptoParamsTrait
  • Aws\S3\Crypto\CryptoParamsTraitV2
  • Aws\S3\Crypto\UserAgentTrait
  • Aws\S3\MultipartUploadingTrait
  • Aws\S3\S3ClientTrait
  • Aws\Signature\SignatureTrait

Exceptions

  • Aws\AccessAnalyzer\Exception\AccessAnalyzerException
  • Aws\Acm\Exception\AcmException
  • Aws\ACMPCA\Exception\ACMPCAException
  • Aws\AlexaForBusiness\Exception\AlexaForBusinessException
  • Aws\Amplify\Exception\AmplifyException
  • Aws\AmplifyBackend\Exception\AmplifyBackendException
  • Aws\Api\Parser\Exception\ParserException
  • Aws\ApiGateway\Exception\ApiGatewayException
  • Aws\ApiGatewayManagementApi\Exception\ApiGatewayManagementApiException
  • Aws\ApiGatewayV2\Exception\ApiGatewayV2Exception
  • Aws\AppConfig\Exception\AppConfigException
  • Aws\Appflow\Exception\AppflowException
  • Aws\AppIntegrationsService\Exception\AppIntegrationsServiceException
  • Aws\ApplicationAutoScaling\Exception\ApplicationAutoScalingException
  • Aws\ApplicationDiscoveryService\Exception\ApplicationDiscoveryServiceException
  • Aws\ApplicationInsights\Exception\ApplicationInsightsException
  • Aws\AppMesh\Exception\AppMeshException
  • Aws\AppRegistry\Exception\AppRegistryException
  • Aws\Appstream\Exception\AppstreamException
  • Aws\AppSync\Exception\AppSyncException
  • Aws\Arn\Exception\InvalidArnException
  • Aws\Athena\Exception\AthenaException
  • Aws\AuditManager\Exception\AuditManagerException
  • Aws\AugmentedAIRuntime\Exception\AugmentedAIRuntimeException
  • Aws\AutoScaling\Exception\AutoScalingException
  • Aws\AutoScalingPlans\Exception\AutoScalingPlansException
  • Aws\Backup\Exception\BackupException
  • Aws\Batch\Exception\BatchException
  • Aws\Braket\Exception\BraketException
  • Aws\Budgets\Exception\BudgetsException
  • Aws\Chime\Exception\ChimeException
  • Aws\ClientSideMonitoring\Exception\ConfigurationException
  • Aws\Cloud9\Exception\Cloud9Exception
  • Aws\CloudDirectory\Exception\CloudDirectoryException
  • Aws\CloudFormation\Exception\CloudFormationException
  • Aws\CloudFront\Exception\CloudFrontException
  • Aws\CloudHsm\Exception\CloudHsmException
  • Aws\CloudHSMV2\Exception\CloudHSMV2Exception
  • Aws\CloudSearch\Exception\CloudSearchException
  • Aws\CloudSearchDomain\Exception\CloudSearchDomainException
  • Aws\CloudTrail\Exception\CloudTrailException
  • Aws\CloudWatch\Exception\CloudWatchException
  • Aws\CloudWatchEvents\Exception\CloudWatchEventsException
  • Aws\CloudWatchLogs\Exception\CloudWatchLogsException
  • Aws\CodeArtifact\Exception\CodeArtifactException
  • Aws\CodeBuild\Exception\CodeBuildException
  • Aws\CodeCommit\Exception\CodeCommitException
  • Aws\CodeDeploy\Exception\CodeDeployException
  • Aws\CodeGuruProfiler\Exception\CodeGuruProfilerException
  • Aws\CodeGuruReviewer\Exception\CodeGuruReviewerException
  • Aws\CodePipeline\Exception\CodePipelineException
  • Aws\CodeStar\Exception\CodeStarException
  • Aws\CodeStarconnections\Exception\CodeStarconnectionsException
  • Aws\CodeStarNotifications\Exception\CodeStarNotificationsException
  • Aws\CognitoIdentity\Exception\CognitoIdentityException
  • Aws\CognitoIdentityProvider\Exception\CognitoIdentityProviderException
  • Aws\CognitoSync\Exception\CognitoSyncException
  • Aws\Comprehend\Exception\ComprehendException
  • Aws\ComprehendMedical\Exception\ComprehendMedicalException
  • Aws\ComputeOptimizer\Exception\ComputeOptimizerException
  • Aws\ConfigService\Exception\ConfigServiceException
  • Aws\Connect\Exception\ConnectException
  • Aws\ConnectContactLens\Exception\ConnectContactLensException
  • Aws\ConnectParticipant\Exception\ConnectParticipantException
  • Aws\CostandUsageReportService\Exception\CostandUsageReportServiceException
  • Aws\CostExplorer\Exception\CostExplorerException
  • Aws\CustomerProfiles\Exception\CustomerProfilesException
  • Aws\DatabaseMigrationService\Exception\DatabaseMigrationServiceException
  • Aws\DataExchange\Exception\DataExchangeException
  • Aws\DataPipeline\Exception\DataPipelineException
  • Aws\DataSync\Exception\DataSyncException
  • Aws\DAX\Exception\DAXException
  • Aws\Detective\Exception\DetectiveException
  • Aws\DeviceFarm\Exception\DeviceFarmException
  • Aws\DevOpsGuru\Exception\DevOpsGuruException
  • Aws\DirectConnect\Exception\DirectConnectException
  • Aws\DirectoryService\Exception\DirectoryServiceException
  • Aws\DLM\Exception\DLMException
  • Aws\DocDB\Exception\DocDBException
  • Aws\DynamoDb\Exception\DynamoDbException
  • Aws\DynamoDbStreams\Exception\DynamoDbStreamsException
  • Aws\EBS\Exception\EBSException
  • Aws\Ec2\Exception\Ec2Exception
  • Aws\EC2InstanceConnect\Exception\EC2InstanceConnectException
  • Aws\Ecr\Exception\EcrException
  • Aws\ECRPublic\Exception\ECRPublicException
  • Aws\Ecs\Exception\EcsException
  • Aws\Efs\Exception\EfsException
  • Aws\EKS\Exception\EKSException
  • Aws\ElastiCache\Exception\ElastiCacheException
  • Aws\ElasticBeanstalk\Exception\ElasticBeanstalkException
  • Aws\ElasticInference\Exception\ElasticInferenceException
  • Aws\ElasticLoadBalancing\Exception\ElasticLoadBalancingException
  • Aws\ElasticLoadBalancingV2\Exception\ElasticLoadBalancingV2Exception
  • Aws\ElasticsearchService\Exception\ElasticsearchServiceException
  • Aws\ElasticTranscoder\Exception\ElasticTranscoderException
  • Aws\Emr\Exception\EmrException
  • Aws\EMRContainers\Exception\EMRContainersException
  • Aws\EndpointDiscovery\Exception\ConfigurationException
  • Aws\EventBridge\Exception\EventBridgeException
  • Aws\Exception\AwsException
  • Aws\Exception\CouldNotCreateChecksumException
  • Aws\Exception\CredentialsException
  • Aws\Exception\CryptoException
  • Aws\Exception\CryptoPolyfillException
  • Aws\Exception\EventStreamDataException
  • Aws\Exception\IncalculablePayloadException
  • Aws\Exception\InvalidJsonException
  • Aws\Exception\InvalidRegionException
  • Aws\Exception\MultipartUploadException
  • Aws\Exception\UnresolvedApiException
  • Aws\Exception\UnresolvedEndpointException
  • Aws\Exception\UnresolvedSignatureException
  • Aws\Firehose\Exception\FirehoseException
  • Aws\FIS\Exception\FISException
  • Aws\FMS\Exception\FMSException
  • Aws\ForecastQueryService\Exception\ForecastQueryServiceException
  • Aws\ForecastService\Exception\ForecastServiceException
  • Aws\FraudDetector\Exception\FraudDetectorException
  • Aws\FSx\Exception\FSxException
  • Aws\GameLift\Exception\GameLiftException
  • Aws\Glacier\Exception\GlacierException
  • Aws\GlobalAccelerator\Exception\GlobalAcceleratorException
  • Aws\Glue\Exception\GlueException
  • Aws\GlueDataBrew\Exception\GlueDataBrewException
  • Aws\Greengrass\Exception\GreengrassException
  • Aws\GreengrassV2\Exception\GreengrassV2Exception
  • Aws\GroundStation\Exception\GroundStationException
  • Aws\GuardDuty\Exception\GuardDutyException
  • Aws\Health\Exception\HealthException
  • Aws\HealthLake\Exception\HealthLakeException
  • Aws\Honeycode\Exception\HoneycodeException
  • Aws\Iam\Exception\IamException
  • Aws\IdentityStore\Exception\IdentityStoreException
  • Aws\imagebuilder\Exception\imagebuilderException
  • Aws\ImportExport\Exception\ImportExportException
  • Aws\Inspector\Exception\InspectorException
  • Aws\IoT1ClickDevicesService\Exception\IoT1ClickDevicesServiceException
  • Aws\IoT1ClickProjects\Exception\IoT1ClickProjectsException
  • Aws\Iot\Exception\IotException
  • Aws\IoTAnalytics\Exception\IoTAnalyticsException
  • Aws\IotDataPlane\Exception\IotDataPlaneException
  • Aws\IoTDeviceAdvisor\Exception\IoTDeviceAdvisorException
  • Aws\IoTEvents\Exception\IoTEventsException
  • Aws\IoTEventsData\Exception\IoTEventsDataException
  • Aws\IoTFleetHub\Exception\IoTFleetHubException
  • Aws\IoTJobsDataPlane\Exception\IoTJobsDataPlaneException
  • Aws\IoTSecureTunneling\Exception\IoTSecureTunnelingException
  • Aws\IoTSiteWise\Exception\IoTSiteWiseException
  • Aws\IoTThingsGraph\Exception\IoTThingsGraphException
  • Aws\IoTWireless\Exception\IoTWirelessException
  • Aws\IVS\Exception\IVSException
  • Aws\Kafka\Exception\KafkaException
  • Aws\kendra\Exception\kendraException
  • Aws\Kinesis\Exception\KinesisException
  • Aws\KinesisAnalytics\Exception\KinesisAnalyticsException
  • Aws\KinesisAnalyticsV2\Exception\KinesisAnalyticsV2Exception
  • Aws\KinesisVideo\Exception\KinesisVideoException
  • Aws\KinesisVideoArchivedMedia\Exception\KinesisVideoArchivedMediaException
  • Aws\KinesisVideoMedia\Exception\KinesisVideoMediaException
  • Aws\KinesisVideoSignalingChannels\Exception\KinesisVideoSignalingChannelsException
  • Aws\Kms\Exception\KmsException
  • Aws\LakeFormation\Exception\LakeFormationException
  • Aws\Lambda\Exception\LambdaException
  • Aws\LexModelBuildingService\Exception\LexModelBuildingServiceException
  • Aws\LexModelsV2\Exception\LexModelsV2Exception
  • Aws\LexRuntimeService\Exception\LexRuntimeServiceException
  • Aws\LexRuntimeV2\Exception\LexRuntimeV2Exception
  • Aws\LicenseManager\Exception\LicenseManagerException
  • Aws\Lightsail\Exception\LightsailException
  • Aws\LocationService\Exception\LocationServiceException
  • Aws\LookoutEquipment\Exception\LookoutEquipmentException
  • Aws\LookoutforVision\Exception\LookoutforVisionException
  • Aws\LookoutMetrics\Exception\LookoutMetricsException
  • Aws\MachineLearning\Exception\MachineLearningException
  • Aws\Macie2\Exception\Macie2Exception
  • Aws\Macie\Exception\MacieException
  • Aws\ManagedBlockchain\Exception\ManagedBlockchainException
  • Aws\MarketplaceCatalog\Exception\MarketplaceCatalogException
  • Aws\MarketplaceCommerceAnalytics\Exception\MarketplaceCommerceAnalyticsException
  • Aws\MarketplaceEntitlementService\Exception\MarketplaceEntitlementServiceException
  • Aws\MarketplaceMetering\Exception\MarketplaceMeteringException
  • Aws\MediaConnect\Exception\MediaConnectException
  • Aws\MediaConvert\Exception\MediaConvertException
  • Aws\MediaLive\Exception\MediaLiveException
  • Aws\MediaPackage\Exception\MediaPackageException
  • Aws\MediaPackageVod\Exception\MediaPackageVodException
  • Aws\MediaStore\Exception\MediaStoreException
  • Aws\MediaStoreData\Exception\MediaStoreDataException
  • Aws\MediaTailor\Exception\MediaTailorException
  • Aws\mgn\Exception\mgnException
  • Aws\MigrationHub\Exception\MigrationHubException
  • Aws\MigrationHubConfig\Exception\MigrationHubConfigException
  • Aws\Mobile\Exception\MobileException
  • Aws\MQ\Exception\MQException
  • Aws\MTurk\Exception\MTurkException
  • Aws\MWAA\Exception\MWAAException
  • Aws\Neptune\Exception\NeptuneException
  • Aws\NetworkFirewall\Exception\NetworkFirewallException
  • Aws\NetworkManager\Exception\NetworkManagerException
  • Aws\OpsWorks\Exception\OpsWorksException
  • Aws\OpsWorksCM\Exception\OpsWorksCMException
  • Aws\Organizations\Exception\OrganizationsException
  • Aws\Outposts\Exception\OutpostsException
  • Aws\Personalize\Exception\PersonalizeException
  • Aws\PersonalizeEvents\Exception\PersonalizeEventsException
  • Aws\PersonalizeRuntime\Exception\PersonalizeRuntimeException
  • Aws\PI\Exception\PIException
  • Aws\Pinpoint\Exception\PinpointException
  • Aws\PinpointEmail\Exception\PinpointEmailException
  • Aws\PinpointSMSVoice\Exception\PinpointSMSVoiceException
  • Aws\Polly\Exception\PollyException
  • Aws\Pricing\Exception\PricingException
  • Aws\PrometheusService\Exception\PrometheusServiceException
  • Aws\QLDB\Exception\QLDBException
  • Aws\QLDBSession\Exception\QLDBSessionException
  • Aws\QuickSight\Exception\QuickSightException
  • Aws\RAM\Exception\RAMException
  • Aws\Rds\Exception\RdsException
  • Aws\RDSDataService\Exception\RDSDataServiceException
  • Aws\Redshift\Exception\RedshiftException
  • Aws\RedshiftDataAPIService\Exception\RedshiftDataAPIServiceException
  • Aws\Rekognition\Exception\RekognitionException
  • Aws\ResourceGroups\Exception\ResourceGroupsException
  • Aws\ResourceGroupsTaggingAPI\Exception\ResourceGroupsTaggingAPIException
  • Aws\Retry\Exception\ConfigurationException
  • Aws\RoboMaker\Exception\RoboMakerException
  • Aws\Route53\Exception\Route53Exception
  • Aws\Route53Domains\Exception\Route53DomainsException
  • Aws\Route53Resolver\Exception\Route53ResolverException
  • Aws\S3\Exception\DeleteMultipleObjectsException
  • Aws\S3\Exception\PermanentRedirectException
  • Aws\S3\Exception\S3Exception
  • Aws\S3\Exception\S3MultipartUploadException
  • Aws\S3\RegionalEndpoint\Exception\ConfigurationException
  • Aws\S3\UseArnRegion\Exception\ConfigurationException
  • Aws\S3Control\Exception\S3ControlException
  • Aws\S3Outposts\Exception\S3OutpostsException
  • Aws\SageMaker\Exception\SageMakerException
  • Aws\SagemakerEdgeManager\Exception\SagemakerEdgeManagerException
  • Aws\SageMakerFeatureStoreRuntime\Exception\SageMakerFeatureStoreRuntimeException
  • Aws\SageMakerRuntime\Exception\SageMakerRuntimeException
  • Aws\SavingsPlans\Exception\SavingsPlansException
  • Aws\Schemas\Exception\SchemasException
  • Aws\SecretsManager\Exception\SecretsManagerException
  • Aws\SecurityHub\Exception\SecurityHubException
  • Aws\ServerlessApplicationRepository\Exception\ServerlessApplicationRepositoryException
  • Aws\ServiceCatalog\Exception\ServiceCatalogException
  • Aws\ServiceDiscovery\Exception\ServiceDiscoveryException
  • Aws\ServiceQuotas\Exception\ServiceQuotasException
  • Aws\Ses\Exception\SesException
  • Aws\SesV2\Exception\SesV2Exception
  • Aws\Sfn\Exception\SfnException
  • Aws\Shield\Exception\ShieldException
  • Aws\signer\Exception\signerException
  • Aws\Sms\Exception\SmsException
  • Aws\SnowBall\Exception\SnowBallException
  • Aws\Sns\Exception\InvalidSnsMessageException
  • Aws\Sns\Exception\SnsException
  • Aws\Sqs\Exception\SqsException
  • Aws\Ssm\Exception\SsmException
  • Aws\SSO\Exception\SSOException
  • Aws\SSOAdmin\Exception\SSOAdminException
  • Aws\SSOOIDC\Exception\SSOOIDCException
  • Aws\StorageGateway\Exception\StorageGatewayException
  • Aws\Sts\Exception\StsException
  • Aws\Sts\RegionalEndpoints\Exception\ConfigurationException
  • Aws\Support\Exception\SupportException
  • Aws\Swf\Exception\SwfException
  • Aws\Synthetics\Exception\SyntheticsException
  • Aws\Textract\Exception\TextractException
  • Aws\TimestreamQuery\Exception\TimestreamQueryException
  • Aws\TimestreamWrite\Exception\TimestreamWriteException
  • Aws\TranscribeService\Exception\TranscribeServiceException
  • Aws\Transfer\Exception\TransferException
  • Aws\Translate\Exception\TranslateException
  • Aws\Waf\Exception\WafException
  • Aws\WafRegional\Exception\WafRegionalException
  • Aws\WAFV2\Exception\WAFV2Exception
  • Aws\WellArchitected\Exception\WellArchitectedException
  • Aws\WorkDocs\Exception\WorkDocsException
  • Aws\WorkLink\Exception\WorkLinkException
  • Aws\WorkMail\Exception\WorkMailException
  • Aws\WorkMailMessageFlow\Exception\WorkMailMessageFlowException
  • Aws\WorkSpaces\Exception\WorkSpacesException
  • Aws\XRay\Exception\XRayException

Functions

  • Aws\boolean_value
  • Aws\clear_compiled_json
  • Aws\constantly
  • Aws\default_http_handler
  • Aws\default_user_agent
  • Aws\describe_type
  • Aws\dir_iterator
  • Aws\filter
  • Aws\flatmap
  • Aws\guzzle_major_version
  • Aws\is_valid_epoch
  • Aws\is_valid_hostlabel
  • Aws\is_valid_hostname
  • Aws\load_compiled_json
  • Aws\manifest
  • Aws\map
  • Aws\or_chain
  • Aws\parse_ini_file
  • Aws\partition
  • Aws\recursive_dir_iterator
  • Aws\serialize

Amazon Elastic Compute Cloud 2016-11-15

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

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

Operation Summary

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

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

  • AcceptReservedInstancesExchangeQuote ( array $params = [] )

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

  • AcceptTransitGatewayMulticastDomainAssociations ( array $params = [] )

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

  • AcceptTransitGatewayPeeringAttachment ( array $params = [] )

    Accepts a transit gateway peering attachment request.

  • AcceptTransitGatewayVpcAttachment ( array $params = [] )

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

  • AcceptVpcEndpointConnections ( array $params = [] )

    Accepts one or more interface VPC endpoint connection requests to your VPC endpoint service.

  • AcceptVpcPeeringConnection ( array $params = [] )

    Accept a VPC peering connection request.

  • AdvertiseByoipCidr ( array $params = [] )

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

  • AllocateAddress ( array $params = [] )

    Allocates an Elastic IP address to your AWS account.

  • AllocateHosts ( array $params = [] )

    Allocates a Dedicated Host to your account.

  • ApplySecurityGroupsToClientVpnTargetNetwork ( array $params = [] )

    Applies a security group to the association between the target network and the Client VPN endpoint.

  • AssignIpv6Addresses ( array $params = [] )

    Assigns one or more IPv6 addresses to the specified network interface.

  • AssignPrivateIpAddresses ( array $params = [] )

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

  • AssociateAddress ( array $params = [] )

    Associates an Elastic IP address, or carrier IP address (for instances that are in subnets in Wavelength Zones) with an instance or a network interface.

  • AssociateClientVpnTargetNetwork ( array $params = [] )

    Associates a target network with a Client VPN endpoint.

  • AssociateDhcpOptions ( array $params = [] )

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

  • AssociateEnclaveCertificateIamRole ( array $params = [] )

    Associates an AWS Identity and Access Management (IAM) role with an AWS Certificate Manager (ACM) certificate.

  • AssociateIamInstanceProfile ( array $params = [] )

    Associates an IAM instance profile with a running or stopped instance.

  • AssociateRouteTable ( array $params = [] )

    Associates a subnet in your VPC or an internet gateway or virtual private gateway attached to your VPC with a route table in your VPC.

  • AssociateSubnetCidrBlock ( array $params = [] )

    Associates a CIDR block with your subnet.

  • AssociateTransitGatewayMulticastDomain ( array $params = [] )

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

  • AssociateTransitGatewayRouteTable ( array $params = [] )

    Associates the specified attachment with the specified transit gateway route table.

  • AssociateVpcCidrBlock ( array $params = [] )

    Associates a CIDR block with your VPC.

  • AttachClassicLinkVpc ( array $params = [] )

    Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or more of the VPC's security groups.

  • AttachInternetGateway ( array $params = [] )

    Attaches an internet gateway or a virtual private gateway to a VPC, enabling connectivity between the internet and the VPC.

  • AttachNetworkInterface ( array $params = [] )

    Attaches a network interface to an instance.

  • AttachVolume ( array $params = [] )

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

  • AttachVpnGateway ( array $params = [] )

    Attaches a virtual private gateway to a VPC.

  • AuthorizeClientVpnIngress ( array $params = [] )

    Adds an ingress authorization rule to a Client VPN endpoint.

  • AuthorizeSecurityGroupEgress ( array $params = [] )

    [VPC only] Adds the specified egress rules to a security group for use with a VPC.

  • AuthorizeSecurityGroupIngress ( array $params = [] )

    Adds the specified ingress rules to a security group.

  • BundleInstance ( array $params = [] )

    Bundles an Amazon instance store-backed Windows instance.

  • CancelBundleTask ( array $params = [] )

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

  • CancelCapacityReservation ( array $params = [] )

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

  • CancelConversionTask ( array $params = [] )

    Cancels an active conversion task.

  • CancelExportTask ( array $params = [] )

    Cancels an active export task.

  • CancelImportTask ( array $params = [] )

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

  • CancelReservedInstancesListing ( array $params = [] )

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

  • CancelSpotFleetRequests ( array $params = [] )

    Cancels the specified Spot Fleet requests.

  • CancelSpotInstanceRequests ( array $params = [] )

    Cancels one or more Spot Instance requests.

  • ConfirmProductInstance ( array $params = [] )

    Determines whether a product code is associated with an instance.

  • CopyFpgaImage ( array $params = [] )

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

  • CopyImage ( array $params = [] )

    Initiates the copy of an AMI.

  • CopySnapshot ( array $params = [] )

    Copies a point-in-time snapshot of an EBS volume and stores it in Amazon S3.

  • CreateCapacityReservation ( array $params = [] )

    Creates a new Capacity Reservation with the specified attributes.

  • CreateCarrierGateway ( array $params = [] )

    Creates a carrier gateway.

  • CreateClientVpnEndpoint ( array $params = [] )

    Creates a Client VPN endpoint.

  • CreateClientVpnRoute ( array $params = [] )

    Adds a route to a network to a Client VPN endpoint.

  • CreateCustomerGateway ( array $params = [] )

    Provides information to AWS about your VPN customer gateway device.

  • CreateDefaultSubnet ( array $params = [] )

    Creates a default subnet with a size /20 IPv4 CIDR block in the specified Availability Zone in your default VPC.

  • CreateDefaultVpc ( array $params = [] )

    Creates a default VPC with a size /16 IPv4 CIDR block and a default subnet in each Availability Zone.

  • CreateDhcpOptions ( array $params = [] )

    Creates a set of DHCP options for your VPC.

  • CreateEgressOnlyInternetGateway ( array $params = [] )

    [IPv6 only] Creates an egress-only internet gateway for your VPC.

  • CreateFleet ( array $params = [] )

    Launches an EC2 Fleet.

  • CreateFlowLogs ( array $params = [] )

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

  • CreateFpgaImage ( array $params = [] )

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

  • CreateImage ( array $params = [] )

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

  • CreateInstanceExportTask ( array $params = [] )

    Exports a running or stopped instance to an Amazon S3 bucket.

  • CreateInternetGateway ( array $params = [] )

    Creates an internet gateway for use with a VPC.

  • CreateKeyPair ( array $params = [] )

    Creates a 2048-bit RSA key pair with the specified name.

  • CreateLaunchTemplate ( array $params = [] )

    Creates a launch template.

  • CreateLaunchTemplateVersion ( array $params = [] )

    Creates a new version for a launch template.

  • CreateLocalGatewayRoute ( array $params = [] )

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

  • CreateLocalGatewayRouteTableVpcAssociation ( array $params = [] )

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

  • CreateManagedPrefixList ( array $params = [] )

    Creates a managed prefix list.

  • CreateNatGateway ( array $params = [] )

    Creates a NAT gateway in the specified public subnet.

  • CreateNetworkAcl ( array $params = [] )

    Creates a network ACL in a VPC.

  • CreateNetworkAclEntry ( array $params = [] )

    Creates an entry (a rule) in a network ACL with the specified rule number.

  • CreateNetworkInsightsPath ( array $params = [] )

    Creates a path to analyze for reachability.

  • CreateNetworkInterface ( array $params = [] )

    Creates a network interface in the specified subnet.

  • CreateNetworkInterfacePermission ( array $params = [] )

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

  • CreatePlacementGroup ( array $params = [] )

    Creates a placement group in which to launch instances.

  • CreateReplaceRootVolumeTask ( array $params = [] )

    Creates a root volume replacement task for an Amazon EC2 instance.

  • CreateReservedInstancesListing ( array $params = [] )

    Creates a listing for Amazon EC2 Standard Reserved Instances to be sold in the Reserved Instance Marketplace.

  • CreateRestoreImageTask ( array $params = [] )

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

  • CreateRoute ( array $params = [] )

    Creates a route in a route table within a VPC.

  • CreateRouteTable ( array $params = [] )

    Creates a route table for the specified VPC.

  • CreateSecurityGroup ( array $params = [] )

    Creates a security group.

  • CreateSnapshot ( array $params = [] )

    Creates a snapshot of an EBS volume and stores it in Amazon S3.

  • CreateSnapshots ( array $params = [] )

    Creates crash-consistent snapshots of multiple EBS volumes and stores the data in S3.

  • CreateSpotDatafeedSubscription ( array $params = [] )

    Creates a data feed for Spot Instances, enabling you to view Spot Instance usage logs.

  • CreateStoreImageTask ( array $params = [] )

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

  • CreateSubnet ( array $params = [] )

    Creates a subnet in a specified VPC.

  • CreateTags ( array $params = [] )

    Adds or overwrites only the specified tags for the specified Amazon EC2 resource or resources.

  • CreateTrafficMirrorFilter ( array $params = [] )

    Creates a Traffic Mirror filter.

  • CreateTrafficMirrorFilterRule ( array $params = [] )

    Creates a Traffic Mirror filter rule.

  • CreateTrafficMirrorSession ( array $params = [] )

    Creates a Traffic Mirror session.

  • CreateTrafficMirrorTarget ( array $params = [] )

    Creates a target for your Traffic Mirror session.

  • CreateTransitGateway ( array $params = [] )

    Creates a transit gateway.

  • CreateTransitGatewayConnect ( array $params = [] )

    Creates a Connect attachment from a specified transit gateway attachment.

  • CreateTransitGatewayConnectPeer ( array $params = [] )

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

  • CreateTransitGatewayMulticastDomain ( array $params = [] )

    Creates a multicast domain using the specified transit gateway.

  • CreateTransitGatewayPeeringAttachment ( array $params = [] )

    Requests a transit gateway peering attachment between the specified transit gateway (requester) and a peer transit gateway (accepter).

  • CreateTransitGatewayPrefixListReference ( array $params = [] )

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

  • CreateTransitGatewayRoute ( array $params = [] )

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

  • CreateTransitGatewayRouteTable ( array $params = [] )

    Creates a route table for the specified transit gateway.

  • CreateTransitGatewayVpcAttachment ( array $params = [] )

    Attaches the specified VPC to the specified transit gateway.

  • CreateVolume ( array $params = [] )

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

  • CreateVpc ( array $params = [] )

    Creates a VPC with the specified IPv4 CIDR block.

  • CreateVpcEndpoint ( array $params = [] )

    Creates a VPC endpoint for a specified service.

  • CreateVpcEndpointConnectionNotification ( array $params = [] )

    Creates a connection notification for a specified VPC endpoint or VPC endpoint service.

  • CreateVpcEndpointServiceConfiguration ( array $params = [] )

    Creates a VPC endpoint service configuration to which service consumers (AWS accounts, IAM users, and IAM roles) can connect.

  • CreateVpcPeeringConnection ( array $params = [] )

    Requests a VPC peering connection between two VPCs: a requester VPC that you own and an accepter VPC with which to create the connection.

  • CreateVpnConnection ( array $params = [] )

    Creates a VPN connection between an existing virtual private gateway or transit gateway and a customer gateway.

  • CreateVpnConnectionRoute ( array $params = [] )

    Creates a static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway.

  • CreateVpnGateway ( array $params = [] )

    Creates a virtual private gateway.

  • DeleteCarrierGateway ( array $params = [] )

    Deletes a carrier gateway.

  • DeleteClientVpnEndpoint ( array $params = [] )

    Deletes the specified Client VPN endpoint.

  • DeleteClientVpnRoute ( array $params = [] )

    Deletes a route from a Client VPN endpoint.

  • DeleteCustomerGateway ( array $params = [] )

    Deletes the specified customer gateway.

  • DeleteDhcpOptions ( array $params = [] )

    Deletes the specified set of DHCP options.

  • DeleteEgressOnlyInternetGateway ( array $params = [] )

    Deletes an egress-only internet gateway.

  • DeleteFleets ( array $params = [] )

    Deletes the specified EC2 Fleet.

  • DeleteFlowLogs ( array $params = [] )

    Deletes one or more flow logs.

  • DeleteFpgaImage ( array $params = [] )

    Deletes the specified Amazon FPGA Image (AFI).

  • DeleteInternetGateway ( array $params = [] )

    Deletes the specified internet gateway.

  • DeleteKeyPair ( array $params = [] )

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

  • DeleteLaunchTemplate ( array $params = [] )

    Deletes a launch template.

  • DeleteLaunchTemplateVersions ( array $params = [] )

    Deletes one or more versions of a launch template.

  • DeleteLocalGatewayRoute ( array $params = [] )

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

  • DeleteLocalGatewayRouteTableVpcAssociation ( array $params = [] )

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

  • DeleteManagedPrefixList ( array $params = [] )

    Deletes the specified managed prefix list.

  • DeleteNatGateway ( array $params = [] )

    Deletes the specified NAT gateway.

  • DeleteNetworkAcl ( array $params = [] )

    Deletes the specified network ACL.

  • DeleteNetworkAclEntry ( array $params = [] )

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

  • DeleteNetworkInsightsAnalysis ( array $params = [] )

    Deletes the specified network insights analysis.

  • DeleteNetworkInsightsPath ( array $params = [] )

    Deletes the specified path.

  • DeleteNetworkInterface ( array $params = [] )

    Deletes the specified network interface.

  • DeleteNetworkInterfacePermission ( array $params = [] )

    Deletes a permission for a network interface.

  • DeletePlacementGroup ( array $params = [] )

    Deletes the specified placement group.

  • DeleteQueuedReservedInstances ( array $params = [] )

    Deletes the queued purchases for the specified Reserved Instances.

  • DeleteRoute ( array $params = [] )

    Deletes the specified route from the specified route table.

  • DeleteRouteTable ( array $params = [] )

    Deletes the specified route table.

  • DeleteSecurityGroup ( array $params = [] )

    Deletes a security group.

  • DeleteSnapshot ( array $params = [] )

    Deletes the specified snapshot.

  • DeleteSpotDatafeedSubscription ( array $params = [] )

    Deletes the data feed for Spot Instances.

  • DeleteSubnet ( array $params = [] )

    Deletes the specified subnet.

  • DeleteTags ( array $params = [] )

    Deletes the specified set of tags from the specified set of resources.

  • DeleteTrafficMirrorFilter ( array $params = [] )

    Deletes the specified Traffic Mirror filter.

  • DeleteTrafficMirrorFilterRule ( array $params = [] )

    Deletes the specified Traffic Mirror rule.

  • DeleteTrafficMirrorSession ( array $params = [] )

    Deletes the specified Traffic Mirror session.

  • DeleteTrafficMirrorTarget ( array $params = [] )

    Deletes the specified Traffic Mirror target.

  • DeleteTransitGateway ( array $params = [] )

    Deletes the specified transit gateway.

  • DeleteTransitGatewayConnect ( array $params = [] )

    Deletes the specified Connect attachment.

  • DeleteTransitGatewayConnectPeer ( array $params = [] )

    Deletes the specified Connect peer.

  • DeleteTransitGatewayMulticastDomain ( array $params = [] )

    Deletes the specified transit gateway multicast domain.

  • DeleteTransitGatewayPeeringAttachment ( array $params = [] )

    Deletes a transit gateway peering attachment.

  • DeleteTransitGatewayPrefixListReference ( array $params = [] )

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

  • DeleteTransitGatewayRoute ( array $params = [] )

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

  • DeleteTransitGatewayRouteTable ( array $params = [] )

    Deletes the specified transit gateway route table.

  • DeleteTransitGatewayVpcAttachment ( array $params = [] )

    Deletes the specified VPC attachment.

  • DeleteVolume ( array $params = [] )

    Deletes the specified EBS volume.

  • DeleteVpc ( array $params = [] )

    Deletes the specified VPC.

  • DeleteVpcEndpointConnectionNotifications ( array $params = [] )

    Deletes one or more VPC endpoint connection notifications.

  • DeleteVpcEndpointServiceConfigurations ( array $params = [] )

    Deletes one or more VPC endpoint service configurations in your account.

  • DeleteVpcEndpoints ( array $params = [] )

    Deletes one or more specified VPC endpoints.

  • DeleteVpcPeeringConnection ( array $params = [] )

    Deletes a VPC peering connection.

  • DeleteVpnConnection ( array $params = [] )

    Deletes the specified VPN connection.

  • DeleteVpnConnectionRoute ( array $params = [] )

    Deletes the specified static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway.

  • DeleteVpnGateway ( array $params = [] )

    Deletes the specified virtual private gateway.

  • DeprovisionByoipCidr ( array $params = [] )

    Releases the specified address range that you provisioned for use with your AWS resources through bring your own IP addresses (BYOIP) and deletes the corresponding address pool.

  • DeregisterImage ( array $params = [] )

    Deregisters the specified AMI.

  • DeregisterInstanceEventNotificationAttributes ( array $params = [] )

    Deregisters tag keys to prevent tags that have the specified tag keys from being included in scheduled event notifications for resources in the Region.

  • DeregisterTransitGatewayMulticastGroupMembers ( array $params = [] )

    Deregisters the specified members (network interfaces) from the transit gateway multicast group.

  • DeregisterTransitGatewayMulticastGroupSources ( array $params = [] )

    Deregisters the specified sources (network interfaces) from the transit gateway multicast group.

  • DescribeAccountAttributes ( array $params = [] )

    Describes attributes of your AWS account.

  • DescribeAddresses ( array $params = [] )

    Describes the specified Elastic IP addresses or all of your Elastic IP addresses.

  • DescribeAddressesAttribute ( array $params = [] )

    Describes the attributes of the specified Elastic IP addresses.

  • DescribeAggregateIdFormat ( array $params = [] )

    Describes the longer ID format settings for all resource types in a specific Region.

  • DescribeAvailabilityZones ( array $params = [] )

    Describes the Availability Zones, Local Zones, and Wavelength Zones that are available to you.

  • DescribeBundleTasks ( array $params = [] )

    Describes the specified bundle tasks or all of your bundle tasks.

  • DescribeByoipCidrs ( array $params = [] )

    Describes the IP address ranges that were specified in calls to ProvisionByoipCidr.

  • DescribeCapacityReservations ( array $params = [] )

    Describes one or more of your Capacity Reservations.

  • DescribeCarrierGateways ( array $params = [] )

    Describes one or more of your carrier gateways.

  • DescribeClassicLinkInstances ( array $params = [] )

    Describes one or more of your linked EC2-Classic instances.

  • DescribeClientVpnAuthorizationRules ( array $params = [] )

    Describes the authorization rules for a specified Client VPN endpoint.

  • DescribeClientVpnConnections ( array $params = [] )

    Describes active client connections and connections that have been terminated within the last 60 minutes for the specified Client VPN endpoint.

  • DescribeClientVpnEndpoints ( array $params = [] )

    Describes one or more Client VPN endpoints in the account.

  • DescribeClientVpnRoutes ( array $params = [] )

    Describes the routes for the specified Client VPN endpoint.

  • DescribeClientVpnTargetNetworks ( array $params = [] )

    Describes the target networks associated with the specified Client VPN endpoint.

  • DescribeCoipPools ( array $params = [] )

    Describes the specified customer-owned address pools or all of your customer-owned address pools.

  • DescribeConversionTasks ( array $params = [] )

    Describes the specified conversion tasks or all your conversion tasks.

  • DescribeCustomerGateways ( array $params = [] )

    Describes one or more of your VPN customer gateways.

  • DescribeDhcpOptions ( array $params = [] )

    Describes one or more of your DHCP options sets.

  • DescribeEgressOnlyInternetGateways ( array $params = [] )

    Describes one or more of your egress-only internet gateways.

  • DescribeElasticGpus ( array $params = [] )

    Describes the Elastic Graphics accelerator associated with your instances.

  • DescribeExportImageTasks ( array $params = [] )

    Describes the specified export image tasks or all of your export image tasks.

  • DescribeExportTasks ( array $params = [] )

    Describes the specified export instance tasks or all of your export instance tasks.

  • DescribeFastSnapshotRestores ( array $params = [] )

    Describes the state of fast snapshot restores for your snapshots.

  • DescribeFleetHistory ( array $params = [] )

    Describes the events for the specified EC2 Fleet during the specified time.

  • DescribeFleetInstances ( array $params = [] )

    Describes the running instances for the specified EC2 Fleet.

  • DescribeFleets ( array $params = [] )

    Describes the specified EC2 Fleets or all of your EC2 Fleets.

  • DescribeFlowLogs ( array $params = [] )

    Describes one or more flow logs.

  • DescribeFpgaImageAttribute ( array $params = [] )

    Describes the specified attribute of the specified Amazon FPGA Image (AFI).

  • DescribeFpgaImages ( array $params = [] )

    Describes the Amazon FPGA Images (AFIs) available to you.

  • DescribeHostReservationOfferings ( array $params = [] )

    Describes the Dedicated Host reservations that are available to purchase.

  • DescribeHostReservations ( array $params = [] )

    Describes reservations that are associated with Dedicated Hosts in your account.

  • DescribeHosts ( array $params = [] )

    Describes the specified Dedicated Hosts or all your Dedicated Hosts.

  • DescribeIamInstanceProfileAssociations ( array $params = [] )

    Describes your IAM instance profile associations.

  • DescribeIdFormat ( array $params = [] )

    Describes the ID format settings for your resources on a per-Region basis, for example, to view which resource types are enabled for longer IDs.

  • DescribeIdentityIdFormat ( array $params = [] )

    Describes the ID format settings for resources for the specified IAM user, IAM role, or root user.

  • DescribeImageAttribute ( array $params = [] )

    Describes the specified attribute of the specified AMI.

  • DescribeImages ( array $params = [] )

    Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the images available to you.

  • DescribeImportImageTasks ( array $params = [] )

    Displays details about an import virtual machine or import snapshot tasks that are already created.

  • DescribeImportSnapshotTasks ( array $params = [] )

    Describes your import snapshot tasks.

  • DescribeInstanceAttribute ( array $params = [] )

    Describes the specified attribute of the specified instance.

  • DescribeInstanceCreditSpecifications ( array $params = [] )

    Describes the credit option for CPU usage of the specified burstable performance instances.

  • DescribeInstanceEventNotificationAttributes ( array $params = [] )

    Describes the tag keys that are registered to appear in scheduled event notifications for resources in the current Region.

  • DescribeInstanceStatus ( array $params = [] )

    Describes the status of the specified instances or all of your instances.

  • DescribeInstanceTypeOfferings ( array $params = [] )

    Returns a list of all instance types offered.

  • DescribeInstanceTypes ( array $params = [] )

    Describes the details of the instance types that are offered in a location.

  • DescribeInstances ( array $params = [] )

    Describes the specified instances or all instances.

  • DescribeInternetGateways ( array $params = [] )

    Describes one or more of your internet gateways.

  • DescribeIpv6Pools ( array $params = [] )

    Describes your IPv6 address pools.

  • DescribeKeyPairs ( array $params = [] )

    Describes the specified key pairs or all of your key pairs.

  • DescribeLaunchTemplateVersions ( array $params = [] )

    Describes one or more versions of a specified launch template.

  • DescribeLaunchTemplates ( array $params = [] )

    Describes one or more launch templates.

  • DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations ( array $params = [] )

    Describes the associations between virtual interface groups and local gateway route tables.

  • DescribeLocalGatewayRouteTableVpcAssociations ( array $params = [] )

    Describes the specified associations between VPCs and local gateway route tables.

  • DescribeLocalGatewayRouteTables ( array $params = [] )

    Describes one or more local gateway route tables.

  • DescribeLocalGatewayVirtualInterfaceGroups ( array $params = [] )

    Describes the specified local gateway virtual interface groups.

  • DescribeLocalGatewayVirtualInterfaces ( array $params = [] )

    Describes the specified local gateway virtual interfaces.

  • DescribeLocalGateways ( array $params = [] )

    Describes one or more local gateways.

  • DescribeManagedPrefixLists ( array $params = [] )

    Describes your managed prefix lists and any AWS-managed prefix lists.

  • DescribeMovingAddresses ( array $params = [] )

    Describes your Elastic IP addresses that are being moved to the EC2-VPC platform, or that are being restored to the EC2-Classic platform.

  • DescribeNatGateways ( array $params = [] )

    Describes one or more of your NAT gateways.

  • DescribeNetworkAcls ( array $params = [] )

    Describes one or more of your network ACLs.

  • DescribeNetworkInsightsAnalyses ( array $params = [] )

    Describes one or more of your network insights analyses.

  • DescribeNetworkInsightsPaths ( array $params = [] )

    Describes one or more of your paths.

  • DescribeNetworkInterfaceAttribute ( array $params = [] )

    Describes a network interface attribute.

  • DescribeNetworkInterfacePermissions ( array $params = [] )

    Describes the permissions for your network interfaces.

  • DescribeNetworkInterfaces ( array $params = [] )

    Describes one or more of your network interfaces.

  • DescribePlacementGroups ( array $params = [] )

    Describes the specified placement groups or all of your placement groups.

  • DescribePrefixLists ( array $params = [] )

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

  • DescribePrincipalIdFormat ( array $params = [] )

    Describes the ID format settings for the root user and all IAM roles and IAM users that have explicitly specified a longer ID (17-character ID) preference.

  • DescribePublicIpv4Pools ( array $params = [] )

    Describes the specified IPv4 address pools.

  • DescribeRegions ( array $params = [] )

    Describes the Regions that are enabled for your account, or all Regions.

  • DescribeReplaceRootVolumeTasks ( array $params = [] )

    Describes a root volume replacement task.

  • DescribeReservedInstances ( array $params = [] )

    Describes one or more of the Reserved Instances that you purchased.

  • DescribeReservedInstancesListings ( array $params = [] )

    Describes your account's Reserved Instance listings in the Reserved Instance Marketplace.

  • DescribeReservedInstancesModifications ( array $params = [] )

    Describes the modifications made to your Reserved Instances.

  • DescribeReservedInstancesOfferings ( array $params = [] )

    Describes Reserved Instance offerings that are available for purchase.

  • DescribeRouteTables ( array $params = [] )

    Describes one or more of your route tables.

  • DescribeScheduledInstanceAvailability ( array $params = [] )

    Finds available schedules that meet the specified criteria.

  • DescribeScheduledInstances ( array $params = [] )

    Describes the specified Scheduled Instances or all your Scheduled Instances.

  • DescribeSecurityGroupReferences ( array $params = [] )

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

  • DescribeSecurityGroups ( array $params = [] )

    Describes the specified security groups or all of your security groups.

  • DescribeSnapshotAttribute ( array $params = [] )

    Describes the specified attribute of the specified snapshot.

  • DescribeSnapshots ( array $params = [] )

    Describes the specified EBS snapshots available to you or all of the EBS snapshots available to you.

  • DescribeSpotDatafeedSubscription ( array $params = [] )

    Describes the data feed for Spot Instances.

  • DescribeSpotFleetInstances ( array $params = [] )

    Describes the running instances for the specified Spot Fleet.

  • DescribeSpotFleetRequestHistory ( array $params = [] )

    Describes the events for the specified Spot Fleet request during the specified time.

  • DescribeSpotFleetRequests ( array $params = [] )

    Describes your Spot Fleet requests.

  • DescribeSpotInstanceRequests ( array $params = [] )

    Describes the specified Spot Instance requests.

  • DescribeSpotPriceHistory ( array $params = [] )

    Describes the Spot price history.

  • DescribeStaleSecurityGroups ( array $params = [] )

    [VPC only] Describes the stale security group rules for security groups in a specified VPC.

  • DescribeStoreImageTasks ( array $params = [] )

    Describes the progress of the AMI store tasks.

  • DescribeSubnets ( array $params = [] )

    Describes one or more of your subnets.

  • DescribeTags ( array $params = [] )

    Describes the specified tags for your EC2 resources.

  • DescribeTrafficMirrorFilters ( array $params = [] )

    Describes one or more Traffic Mirror filters.

  • DescribeTrafficMirrorSessions ( array $params = [] )

    Describes one or more Traffic Mirror sessions.

  • DescribeTrafficMirrorTargets ( array $params = [] )

    Information about one or more Traffic Mirror targets.

  • DescribeTransitGatewayAttachments ( array $params = [] )

    Describes one or more attachments between resources and transit gateways.

  • DescribeTransitGatewayConnectPeers ( array $params = [] )

    Describes one or more Connect peers.

  • DescribeTransitGatewayConnects ( array $params = [] )

    Describes one or more Connect attachments.

  • DescribeTransitGatewayMulticastDomains ( array $params = [] )

    Describes one or more transit gateway multicast domains.

  • DescribeTransitGatewayPeeringAttachments ( array $params = [] )

    Describes your transit gateway peering attachments.

  • DescribeTransitGatewayRouteTables ( array $params = [] )

    Describes one or more transit gateway route tables.

  • DescribeTransitGatewayVpcAttachments ( array $params = [] )

    Describes one or more VPC attachments.

  • DescribeTransitGateways ( array $params = [] )

    Describes one or more transit gateways.

  • DescribeVolumeAttribute ( array $params = [] )

    Describes the specified attribute of the specified volume.

  • DescribeVolumeStatus ( array $params = [] )

    Describes the status of the specified volumes.

  • DescribeVolumes ( array $params = [] )

    Describes the specified EBS volumes or all of your EBS volumes.

  • DescribeVolumesModifications ( array $params = [] )

    Describes the most recent volume modification request for the specified EBS volumes.

  • DescribeVpcAttribute ( array $params = [] )

    Describes the specified attribute of the specified VPC.

  • DescribeVpcClassicLink ( array $params = [] )

    Describes the ClassicLink status of one or more VPCs.

  • DescribeVpcClassicLinkDnsSupport ( array $params = [] )

    Describes the ClassicLink DNS support status of one or more VPCs.

  • DescribeVpcEndpointConnectionNotifications ( array $params = [] )

    Describes the connection notifications for VPC endpoints and VPC endpoint services.

  • DescribeVpcEndpointConnections ( array $params = [] )

    Describes the VPC endpoint connections to your VPC endpoint services, including any endpoints that are pending your acceptance.

  • DescribeVpcEndpointServiceConfigurations ( array $params = [] )

    Describes the VPC endpoint service configurations in your account (your services).

  • DescribeVpcEndpointServicePermissions ( array $params = [] )

    Describes the principals (service consumers) that are permitted to discover your VPC endpoint service.

  • DescribeVpcEndpointServices ( array $params = [] )

    Describes available services to which you can create a VPC endpoint.

  • DescribeVpcEndpoints ( array $params = [] )

    Describes one or more of your VPC endpoints.

  • DescribeVpcPeeringConnections ( array $params = [] )

    Describes one or more of your VPC peering connections.

  • DescribeVpcs ( array $params = [] )

    Describes one or more of your VPCs.

  • DescribeVpnConnections ( array $params = [] )

    Describes one or more of your VPN connections.

  • DescribeVpnGateways ( array $params = [] )

    Describes one or more of your virtual private gateways.

  • DetachClassicLinkVpc ( array $params = [] )

    Unlinks (detaches) a linked EC2-Classic instance from a VPC.

  • DetachInternetGateway ( array $params = [] )

    Detaches an internet gateway from a VPC, disabling connectivity between the internet and the VPC.

  • DetachNetworkInterface ( array $params = [] )

    Detaches a network interface from an instance.

  • DetachVolume ( array $params = [] )

    Detaches an EBS volume from an instance.

  • DetachVpnGateway ( array $params = [] )

    Detaches a virtual private gateway from a VPC.

  • DisableEbsEncryptionByDefault ( array $params = [] )

    Disables EBS encryption by default for your account in the current Region.

  • DisableFastSnapshotRestores ( array $params = [] )

    Disables fast snapshot restores for the specified snapshots in the specified Availability Zones.

  • DisableSerialConsoleAccess ( array $params = [] )

    Disables access to the EC2 serial console of all instances for your account.

  • DisableTransitGatewayRouteTablePropagation ( array $params = [] )

    Disables the specified resource attachment from propagating routes to the specified propagation route table.

  • DisableVgwRoutePropagation ( array $params = [] )

    Disables a virtual private gateway (VGW) from propagating routes to a specified route table of a VPC.

  • DisableVpcClassicLink ( array $params = [] )

    Disables ClassicLink for a VPC.

  • DisableVpcClassicLinkDnsSupport ( array $params = [] )

    Disables ClassicLink DNS support for a VPC.

  • DisassociateAddress ( array $params = [] )

    Disassociates an Elastic IP address from the instance or network interface it's associated with.

  • DisassociateClientVpnTargetNetwork ( array $params = [] )

    Disassociates a target network from the specified Client VPN endpoint.

  • DisassociateEnclaveCertificateIamRole ( array $params = [] )

    Disassociates an IAM role from an AWS Certificate Manager (ACM) certificate.

  • DisassociateIamInstanceProfile ( array $params = [] )

    Disassociates an IAM instance profile from a running or stopped instance.

  • DisassociateRouteTable ( array $params = [] )

    Disassociates a subnet or gateway from a route table.

  • DisassociateSubnetCidrBlock ( array $params = [] )

    Disassociates a CIDR block from a subnet.

  • DisassociateTransitGatewayMulticastDomain ( array $params = [] )

    Disassociates the specified subnets from the transit gateway multicast domain.

  • DisassociateTransitGatewayRouteTable ( array $params = [] )

    Disassociates a resource attachment from a transit gateway route table.

  • DisassociateVpcCidrBlock ( array $params = [] )

    Disassociates a CIDR block from a VPC.

  • EnableEbsEncryptionByDefault ( array $params = [] )

    Enables EBS encryption by default for your account in the current Region.

  • EnableFastSnapshotRestores ( array $params = [] )

    Enables fast snapshot restores for the specified snapshots in the specified Availability Zones.

  • EnableSerialConsoleAccess ( array $params = [] )

    Enables access to the EC2 serial console of all instances for your account.

  • EnableTransitGatewayRouteTablePropagation ( array $params = [] )

    Enables the specified attachment to propagate routes to the specified propagation route table.

  • EnableVgwRoutePropagation ( array $params = [] )

    Enables a virtual private gateway (VGW) to propagate routes to the specified route table of a VPC.

  • EnableVolumeIO ( array $params = [] )

    Enables I/O operations for a volume that had I/O operations disabled because the data on the volume was potentially inconsistent.

  • EnableVpcClassicLink ( array $params = [] )

    Enables a VPC for ClassicLink.

  • EnableVpcClassicLinkDnsSupport ( array $params = [] )

    Enables a VPC to support DNS hostname resolution for ClassicLink.

  • ExportClientVpnClientCertificateRevocationList ( array $params = [] )

    Downloads the client certificate revocation list for the specified Client VPN endpoint.

  • ExportClientVpnClientConfiguration ( array $params = [] )

    Downloads the contents of the Client VPN endpoint configuration file for the specified Client VPN endpoint.

  • ExportImage ( array $params = [] )

    Exports an Amazon Machine Image (AMI) to a VM file.

  • ExportTransitGatewayRoutes ( array $params = [] )

    Exports routes from the specified transit gateway route table to the specified S3 bucket.

  • GetAssociatedEnclaveCertificateIamRoles ( array $params = [] )

    Returns the IAM roles that are associated with the specified AWS Certificate Manager (ACM) certificate.

  • GetAssociatedIpv6PoolCidrs ( array $params = [] )

    Gets information about the IPv6 CIDR block associations for a specified IPv6 address pool.

  • GetCapacityReservationUsage ( array $params = [] )

    Gets usage information about a Capacity Reservation.

  • GetCoipPoolUsage ( array $params = [] )

    Describes the allocations from the specified customer-owned address pool.

  • GetConsoleOutput ( array $params = [] )

    Gets the console output for the specified instance.

  • GetConsoleScreenshot ( array $params = [] )

    Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.

  • GetDefaultCreditSpecification ( array $params = [] )

    Describes the default credit option for CPU usage of a burstable performance instance family.

  • GetEbsDefaultKmsKeyId ( array $params = [] )

    Describes the default customer master key (CMK) for EBS encryption by default for your account in this Region.

  • GetEbsEncryptionByDefault ( array $params = [] )

    Describes whether EBS encryption by default is enabled for your account in the current Region.

  • GetFlowLogsIntegrationTemplate ( array $params = [] )

    Generates a CloudFormation template that streamlines and automates the integration of VPC flow logs with Amazon Athena.

  • GetGroupsForCapacityReservation ( array $params = [] )

    Lists the resource groups to which a Capacity Reservation has been added.

  • GetHostReservationPurchasePreview ( array $params = [] )

    Preview a reservation purchase with configurations that match those of your Dedicated Host.

  • GetLaunchTemplateData ( array $params = [] )

    Retrieves the configuration data of the specified instance.

  • GetManagedPrefixListAssociations ( array $params = [] )

    Gets information about the resources that are associated with the specified managed prefix list.

  • GetManagedPrefixListEntries ( array $params = [] )

    Gets information about the entries for a specified managed prefix list.

  • GetPasswordData ( array $params = [] )

    Retrieves the encrypted administrator password for a running Windows instance.

  • GetReservedInstancesExchangeQuote ( array $params = [] )

    Returns a quote and exchange information for exchanging one or more specified Convertible Reserved Instances for a new Convertible Reserved Instance.

  • GetSerialConsoleAccessStatus ( array $params = [] )

    Retrieves the access status of your account to the EC2 serial console of all instances.

  • GetTransitGatewayAttachmentPropagations ( array $params = [] )

    Lists the route tables to which the specified resource attachment propagates routes.

  • GetTransitGatewayMulticastDomainAssociations ( array $params = [] )

    Gets information about the associations for the transit gateway multicast domain.

  • GetTransitGatewayPrefixListReferences ( array $params = [] )

    Gets information about the prefix list references in a specified transit gateway route table.

  • GetTransitGatewayRouteTableAssociations ( array $params = [] )

    Gets information about the associations for the specified transit gateway route table.

  • GetTransitGatewayRouteTablePropagations ( array $params = [] )

    Gets information about the route table propagations for the specified transit gateway route table.

  • ImportClientVpnClientCertificateRevocationList ( array $params = [] )

    Uploads a client certificate revocation list to the specified Client VPN endpoint.

  • ImportImage ( array $params = [] )

    Import single or multi-volume disk images or EBS snapshots into an Amazon Machine Image (AMI).

  • ImportInstance ( array $params = [] )

    Creates an import instance task using metadata from the specified disk image.

  • ImportKeyPair ( array $params = [] )

    Imports the public key from an RSA key pair that you created with a third-party tool.

  • ImportSnapshot ( array $params = [] )

    Imports a disk into an EBS snapshot.

  • ImportVolume ( array $params = [] )

    Creates an import volume task using metadata from the specified disk image.

  • ModifyAddressAttribute ( array $params = [] )

    Modifies an attribute of the specified Elastic IP address.

  • ModifyAvailabilityZoneGroup ( array $params = [] )

    Changes the opt-in status of the Local Zone and Wavelength Zone group for your account.

  • ModifyCapacityReservation ( array $params = [] )

    Modifies a Capacity Reservation's capacity and the conditions under which it is to be released.

  • ModifyClientVpnEndpoint ( array $params = [] )

    Modifies the specified Client VPN endpoint.

  • ModifyDefaultCreditSpecification ( array $params = [] )

    Modifies the default credit option for CPU usage of burstable performance instances.

  • ModifyEbsDefaultKmsKeyId ( array $params = [] )

    Changes the default customer master key (CMK) for EBS encryption by default for your account in this Region.

  • ModifyFleet ( array $params = [] )

    Modifies the specified EC2 Fleet.

  • ModifyFpgaImageAttribute ( array $params = [] )

    Modifies the specified attribute of the specified Amazon FPGA Image (AFI).

  • ModifyHosts ( array $params = [] )

    Modify the auto-placement setting of a Dedicated Host.

  • ModifyIdFormat ( array $params = [] )

    Modifies the ID format for the specified resource on a per-Region basis.

  • ModifyIdentityIdFormat ( array $params = [] )

    Modifies the ID format of a resource for a specified IAM user, IAM role, or the root user for an account; or all IAM users, IAM roles, and the root user for an account.

  • ModifyImageAttribute ( array $params = [] )

    Modifies the specified attribute of the specified AMI.

  • ModifyInstanceAttribute ( array $params = [] )

    Modifies the specified attribute of the specified instance.

  • ModifyInstanceCapacityReservationAttributes ( array $params = [] )

    Modifies the Capacity Reservation settings for a stopped instance.

  • ModifyInstanceCreditSpecification ( array $params = [] )

    Modifies the credit option for CPU usage on a running or stopped burstable performance instance.

  • ModifyInstanceEventStartTime ( array $params = [] )

    Modifies the start time for a scheduled Amazon EC2 instance event.

  • ModifyInstanceMetadataOptions ( array $params = [] )

    Modify the instance metadata parameters on a running or stopped instance.

  • ModifyInstancePlacement ( array $params = [] )

    Modifies the placement attributes for a specified instance.

  • ModifyLaunchTemplate ( array $params = [] )

    Modifies a launch template.

  • ModifyManagedPrefixList ( array $params = [] )

    Modifies the specified managed prefix list.

  • ModifyNetworkInterfaceAttribute ( array $params = [] )

    Modifies the specified network interface attribute.

  • ModifyReservedInstances ( array $params = [] )

    Modifies the Availability Zone, instance count, instance type, or network platform (EC2-Classic or EC2-VPC) of your Reserved Instances.

  • ModifySnapshotAttribute ( array $params = [] )

    Adds or removes permission settings for the specified snapshot.

  • ModifySpotFleetRequest ( array $params = [] )

    Modifies the specified Spot Fleet request.

  • ModifySubnetAttribute ( array $params = [] )

    Modifies a subnet attribute.

  • ModifyTrafficMirrorFilterNetworkServices ( array $params = [] )

    Allows or restricts mirroring network services.

  • ModifyTrafficMirrorFilterRule ( array $params = [] )

    Modifies the specified Traffic Mirror rule.

  • ModifyTrafficMirrorSession ( array $params = [] )

    Modifies a Traffic Mirror session.

  • ModifyTransitGateway ( array $params = [] )

    Modifies the specified transit gateway.

  • ModifyTransitGatewayPrefixListReference ( array $params = [] )

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

  • ModifyTransitGatewayVpcAttachment ( array $params = [] )

    Modifies the specified VPC attachment.

  • ModifyVolume ( array $params = [] )

    You can modify several parameters of an existing EBS volume, including volume size, volume type, and IOPS capacity.

  • ModifyVolumeAttribute ( array $params = [] )

    Modifies a volume attribute.

  • ModifyVpcAttribute ( array $params = [] )

    Modifies the specified attribute of the specified VPC.

  • ModifyVpcEndpoint ( array $params = [] )

    Modifies attributes of a specified VPC endpoint.

  • ModifyVpcEndpointConnectionNotification ( array $params = [] )

    Modifies a connection notification for VPC endpoint or VPC endpoint service.

  • ModifyVpcEndpointServiceConfiguration ( array $params = [] )

    Modifies the attributes of your VPC endpoint service configuration.

  • ModifyVpcEndpointServicePermissions ( array $params = [] )

    Modifies the permissions for your VPC endpoint service.

  • ModifyVpcPeeringConnectionOptions ( array $params = [] )

    Modifies the VPC peering connection options on one side of a VPC peering connection.

  • ModifyVpcTenancy ( array $params = [] )

    Modifies the instance tenancy attribute of the specified VPC.

  • ModifyVpnConnection ( array $params = [] )

    Modifies the customer gateway or the target gateway of an AWS Site-to-Site VPN connection.

  • ModifyVpnConnectionOptions ( array $params = [] )

    Modifies the connection options for your Site-to-Site VPN connection.

  • ModifyVpnTunnelCertificate ( array $params = [] )

    Modifies the VPN tunnel endpoint certificate.

  • ModifyVpnTunnelOptions ( array $params = [] )

    Modifies the options for a VPN tunnel in an AWS Site-to-Site VPN connection.

  • MonitorInstances ( array $params = [] )

    Enables detailed monitoring for a running instance.

  • MoveAddressToVpc ( array $params = [] )

    Moves an Elastic IP address from the EC2-Classic platform to the EC2-VPC platform.

  • ProvisionByoipCidr ( array $params = [] )

    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.

  • PurchaseHostReservation ( array $params = [] )

    Purchase a reservation with configurations that match those of your Dedicated Host.

  • PurchaseReservedInstancesOffering ( array $params = [] )

    Purchases a Reserved Instance for use with your account.

  • PurchaseScheduledInstances ( array $params = [] )

    Purchases the Scheduled Instances with the specified schedule.

  • RebootInstances ( array $params = [] )

    Requests a reboot of the specified instances.

  • RegisterImage ( array $params = [] )

    Registers an AMI.

  • RegisterInstanceEventNotificationAttributes ( array $params = [] )

    Registers a set of tag keys to include in scheduled event notifications for your resources.

  • RegisterTransitGatewayMulticastGroupMembers ( array $params = [] )

    Registers members (network interfaces) with the transit gateway multicast group.

  • RegisterTransitGatewayMulticastGroupSources ( array $params = [] )

    Registers sources (network interfaces) with the specified transit gateway multicast group.

  • RejectTransitGatewayMulticastDomainAssociations ( array $params = [] )

    Rejects a request to associate cross-account subnets with a transit gateway multicast domain.

  • RejectTransitGatewayPeeringAttachment ( array $params = [] )

    Rejects a transit gateway peering attachment request.

  • RejectTransitGatewayVpcAttachment ( array $params = [] )

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

  • RejectVpcEndpointConnections ( array $params = [] )

    Rejects one or more VPC endpoint connection requests to your VPC endpoint service.

  • RejectVpcPeeringConnection ( array $params = [] )

    Rejects a VPC peering connection request.

  • ReleaseAddress ( array $params = [] )

    Releases the specified Elastic IP address.

  • ReleaseHosts ( array $params = [] )

    When you no longer want to use an On-Demand Dedicated Host it can be released.

  • ReplaceIamInstanceProfileAssociation ( array $params = [] )

    Replaces an IAM instance profile for the specified running instance.

  • ReplaceNetworkAclAssociation ( array $params = [] )

    Changes which network ACL a subnet is associated with.

  • ReplaceNetworkAclEntry ( array $params = [] )

    Replaces an entry (rule) in a network ACL.

  • ReplaceRoute ( array $params = [] )

    Replaces an existing route within a route table in a VPC.

  • ReplaceRouteTableAssociation ( array $params = [] )

    Changes the route table associated with a given subnet, internet gateway, or virtual private gateway in a VPC.

  • ReplaceTransitGatewayRoute ( array $params = [] )

    Replaces the specified route in the specified transit gateway route table.

  • ReportInstanceStatus ( array $params = [] )

    Submits feedback about the status of an instance.

  • RequestSpotFleet ( array $params = [] )

    Creates a Spot Fleet request.

  • RequestSpotInstances ( array $params = [] )

    Creates a Spot Instance request.

  • ResetAddressAttribute ( array $params = [] )

    Resets the attribute of the specified IP address.

  • ResetEbsDefaultKmsKeyId ( array $params = [] )

    Resets the default customer master key (CMK) for EBS encryption for your account in this Region to the AWS managed CMK for EBS.

  • ResetFpgaImageAttribute ( array $params = [] )

    Resets the specified attribute of the specified Amazon FPGA Image (AFI) to its default value.

  • ResetImageAttribute ( array $params = [] )

    Resets an attribute of an AMI to its default value.

  • ResetInstanceAttribute ( array $params = [] )

    Resets an attribute of an instance to its default value.

  • ResetNetworkInterfaceAttribute ( array $params = [] )

    Resets a network interface attribute.

  • ResetSnapshotAttribute ( array $params = [] )

    Resets permission settings for the specified snapshot.

  • RestoreAddressToClassic ( array $params = [] )

    Restores an Elastic IP address that was previously moved to the EC2-VPC platform back to the EC2-Classic platform.

  • RestoreManagedPrefixListVersion ( array $params = [] )

    Restores the entries from a previous version of a managed prefix list to a new version of the prefix list.

  • RevokeClientVpnIngress ( array $params = [] )

    Removes an ingress authorization rule from a Client VPN endpoint.

  • RevokeSecurityGroupEgress ( array $params = [] )

    [VPC only] Removes the specified egress rules from a security group for EC2-VPC.

  • RevokeSecurityGroupIngress ( array $params = [] )

    Removes the specified ingress rules from a security group.

  • RunInstances ( array $params = [] )

    Launches the specified number of instances using an AMI for which you have permissions.

  • RunScheduledInstances ( array $params = [] )

    Launches the specified Scheduled Instances.

  • SearchLocalGatewayRoutes ( array $params = [] )

    Searches for routes in the specified local gateway route table.

  • SearchTransitGatewayMulticastGroups ( array $params = [] )

    Searches one or more transit gateway multicast groups and returns the group membership information.

  • SearchTransitGatewayRoutes ( array $params = [] )

    Searches for routes in the specified transit gateway route table.

  • SendDiagnosticInterrupt ( array $params = [] )

    Sends a diagnostic interrupt to the specified Amazon EC2 instance to trigger a kernel panic (on Linux instances), or a blue screen/stop error (on Windows instances).

  • StartInstances ( array $params = [] )

    Starts an Amazon EBS-backed instance that you've previously stopped.

  • StartNetworkInsightsAnalysis ( array $params = [] )

    Starts analyzing the specified path.

  • StartVpcEndpointServicePrivateDnsVerification ( array $params = [] )

    Initiates the verification process to prove that the service provider owns the private DNS name domain for the endpoint service.

  • StopInstances ( array $params = [] )

    Stops an Amazon EBS-backed instance.

  • TerminateClientVpnConnections ( array $params = [] )

    Terminates active Client VPN endpoint connections.

  • TerminateInstances ( array $params = [] )

    Shuts down the specified instances.

  • UnassignIpv6Addresses ( array $params = [] )

    Unassigns one or more IPv6 addresses from a network interface.

  • UnassignPrivateIpAddresses ( array $params = [] )

    Unassigns one or more secondary private IP addresses from a network interface.

  • UnmonitorInstances ( array $params = [] )

    Disables detailed monitoring for a running instance.

  • UpdateSecurityGroupRuleDescriptionsEgress ( array $params = [] )

    [VPC only] Updates the description of an egress (outbound) security group rule.

  • UpdateSecurityGroupRuleDescriptionsIngress ( array $params = [] )

    Updates the description of an ingress (inbound) security group rule.

  • WithdrawByoipCidr ( array $params = [] )

    Stops advertising an address range that is provisioned as an address pool.

Paginators

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

  • DescribeAccountAttributes
  • DescribeAddresses
  • DescribeAddressesAttribute
  • DescribeAvailabilityZones
  • DescribeBundleTasks
  • DescribeByoipCidrs
  • DescribeCapacityReservations
  • DescribeCarrierGateways
  • DescribeClassicLinkInstances
  • DescribeClientVpnAuthorizationRules
  • DescribeClientVpnConnections
  • DescribeClientVpnEndpoints
  • DescribeClientVpnRoutes
  • DescribeClientVpnTargetNetworks
  • DescribeCoipPools
  • DescribeConversionTasks
  • DescribeCustomerGateways
  • DescribeDhcpOptions
  • DescribeEgressOnlyInternetGateways
  • DescribeExportImageTasks
  • DescribeExportTasks
  • DescribeFastSnapshotRestores
  • DescribeFleets
  • DescribeFlowLogs
  • DescribeFpgaImages
  • DescribeHostReservationOfferings
  • DescribeHostReservations
  • DescribeHosts
  • DescribeIamInstanceProfileAssociations
  • DescribeImages
  • DescribeImportImageTasks
  • DescribeImportSnapshotTasks
  • DescribeInstanceCreditSpecifications
  • DescribeInstanceStatus
  • DescribeInstanceTypeOfferings
  • DescribeInstanceTypes
  • DescribeInstances
  • DescribeInternetGateways
  • DescribeIpv6Pools
  • DescribeKeyPairs
  • DescribeLaunchTemplateVersions
  • DescribeLaunchTemplates
  • DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations
  • DescribeLocalGatewayRouteTableVpcAssociations
  • DescribeLocalGatewayRouteTables
  • DescribeLocalGatewayVirtualInterfaceGroups
  • DescribeLocalGatewayVirtualInterfaces
  • DescribeLocalGateways
  • DescribeManagedPrefixLists
  • DescribeMovingAddresses
  • DescribeNatGateways
  • DescribeNetworkAcls
  • DescribeNetworkInsightsAnalyses
  • DescribeNetworkInsightsPaths
  • DescribeNetworkInterfacePermissions
  • DescribeNetworkInterfaces
  • DescribePlacementGroups
  • DescribePrefixLists
  • DescribePrincipalIdFormat
  • DescribePublicIpv4Pools
  • DescribeRegions
  • DescribeReplaceRootVolumeTasks
  • DescribeReservedInstances
  • DescribeReservedInstancesListings
  • DescribeReservedInstancesModifications
  • DescribeReservedInstancesOfferings
  • DescribeRouteTables
  • DescribeScheduledInstanceAvailability
  • DescribeScheduledInstances
  • DescribeSecurityGroups
  • DescribeSnapshots
  • DescribeSpotFleetRequests
  • DescribeSpotInstanceRequests
  • DescribeSpotPriceHistory
  • DescribeStaleSecurityGroups
  • DescribeStoreImageTasks
  • DescribeSubnets
  • DescribeTags
  • DescribeTrafficMirrorFilters
  • DescribeTrafficMirrorSessions
  • DescribeTrafficMirrorTargets
  • DescribeTransitGatewayAttachments
  • DescribeTransitGatewayConnectPeers
  • DescribeTransitGatewayConnects
  • DescribeTransitGatewayMulticastDomains
  • DescribeTransitGatewayPeeringAttachments
  • DescribeTransitGatewayRouteTables
  • DescribeTransitGatewayVpcAttachments
  • DescribeTransitGateways
  • DescribeVolumeStatus
  • DescribeVolumes
  • DescribeVolumesModifications
  • DescribeVpcClassicLinkDnsSupport
  • DescribeVpcEndpointConnectionNotifications
  • DescribeVpcEndpointConnections
  • DescribeVpcEndpointServiceConfigurations
  • DescribeVpcEndpointServicePermissions
  • DescribeVpcEndpoints
  • DescribeVpcPeeringConnections
  • DescribeVpcs
  • DescribeVpnConnections
  • DescribeVpnGateways
  • GetAssociatedIpv6PoolCidrs
  • GetGroupsForCapacityReservation
  • GetManagedPrefixListAssociations
  • GetManagedPrefixListEntries
  • GetTransitGatewayAttachmentPropagations
  • GetTransitGatewayMulticastDomainAssociations
  • GetTransitGatewayPrefixListReferences
  • GetTransitGatewayRouteTableAssociations
  • GetTransitGatewayRouteTablePropagations
  • SearchLocalGatewayRoutes
  • SearchTransitGatewayMulticastGroups

Waiters

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

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

Operations

AcceptReservedInstancesExchangeQuote

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

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

Parameter Syntax

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

Parameter Details

Members
DryRun
  • Type: boolean

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

ReservedInstanceIds
  • Required: Yes
  • Type: Array of strings

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

TargetConfigurations
  • Type: Array of TargetConfigurationRequest structures

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

Result Syntax

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

Result Details

Members
ExchangeId
  • Type: string

The ID of the successful exchange.

Errors

There are no errors described for this operation.

AcceptTransitGatewayMulticastDomainAssociations

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

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

Parameter Syntax

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

Parameter Details

Members
DryRun
  • Type: boolean

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

SubnetIds
  • Type: Array of strings

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

TransitGatewayAttachmentId
  • Type: string

The ID of the transit gateway attachment.

TransitGatewayMulticastDomainId
  • Type: string

The ID of the transit gateway multicast domain.

Result Syntax

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

Result Details

Members
Associations
  • Type: TransitGatewayMulticastDomainAssociations structure

Describes the multicast domain associations.

Errors

There are no errors described for this operation.

AcceptTransitGatewayPeeringAttachment

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

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

Parameter Syntax

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

Parameter Details

Members
DryRun
  • Type: boolean

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

TransitGatewayAttachmentId
  • Required: Yes
  • Type: string

The ID of the transit gateway attachment.

Result Syntax

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

Result Details

Members
TransitGatewayPeeringAttachment
  • Type: TransitGatewayPeeringAttachment structure

The transit gateway peering attachment.

Errors

There are no errors described for this operation.

AcceptTransitGatewayVpcAttachment

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

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

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

Parameter Syntax

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

Parameter Details

Members
DryRun
  • Type: boolean

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

TransitGatewayAttachmentId
  • Required: Yes
  • Type: string

The ID of the attachment.

Result Syntax

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

Result Details

Members
TransitGatewayVpcAttachment
  • Type: TransitGatewayVpcAttachment structure

The VPC attachment.

Errors

There are no errors described for this operation.

AcceptVpcEndpointConnections

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

Accepts one or more interface VPC endpoint connection requests to your VPC endpoint service.

Parameter Syntax

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

Parameter Details

Members
DryRun
  • Type: boolean

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

ServiceId
  • Required: Yes
  • Type: string

The ID of the VPC endpoint service.

VpcEndpointIds
  • Required: Yes
  • Type: Array of strings

The IDs of one or more interface VPC endpoints.

Result Syntax

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

Result Details

Members
Unsuccessful
  • Type: Array of UnsuccessfulItem structures

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

Errors

There are no errors described for this operation.

AcceptVpcPeeringConnection

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

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

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

Parameter Syntax

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

Parameter Details

Members
DryRun
  • Type: boolean

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

VpcPeeringConnectionId
  • Type: string

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

Result Syntax

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

Result Details

Members
VpcPeeringConnection
  • Type: VpcPeeringConnection structure

Information about the VPC peering connection.

Errors

There are no errors described for this operation.

AdvertiseByoipCidr

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

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

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

We recommend that you stop advertising the BYOIP CIDR from other locations when you advertise it from 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.

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

To stop advertising the BYOIP CIDR, use WithdrawByoipCidr.

Parameter Syntax

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

Parameter Details

Members
Cidr
  • Required: Yes
  • Type: string

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

DryRun
  • Type: boolean

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

Result Syntax

[
    'ByoipCidr' => [
        'Cidr' => '<string>',
        'Description' => '<string>',
        'State' => 'advertised|deprovisioned|failed-deprovision|failed-provision|pending-deprovision|pending-provision|provisioned|provisioned-not-publicly-advertisable',
        'StatusMessage' => '<string>',
    ],
]

Result Details

Members
ByoipCidr
  • Type: ByoipCidr structure

Information about the address range.

Errors

There are no errors described for this operation.

AllocateAddress

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

Allocates an Elastic IP address to your 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.

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 Bring Your Own IP Addresses (BYOIP) in the Amazon Elastic Compute Cloud User Guide.

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

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.

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

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

Parameter Syntax

$result = $client->allocateAddress([
    'Address' => '<string>',
    'CustomerOwnedIpv4Pool' => '<string>',
    'Domain' => 'vpc|standard',
    'DryRun' => true || false,
    'NetworkBorderGroup' => '<string>',
    'PublicIpv4Pool' => '<string>',
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
Address
  • Type: string

[EC2-VPC] The Elastic IP address to recover or an IPv4 address from an address pool.

CustomerOwnedIpv4Pool
  • Type: string

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

Domain
  • Type: string

Indicates whether the Elastic IP address is for use with instances in a VPC or instances in EC2-Classic.

Default: If the Region supports EC2-Classic, the default is standard. Otherwise, the default is vpc.

DryRun
  • Type: boolean

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

NetworkBorderGroup
  • Type: string

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

Use DescribeAvailabilityZones to view the network border groups.

You cannot use a network border group with EC2 Classic. If you attempt this operation on EC2 classic, you will receive an InvalidParameterCombination error. For more information, see Error Codes.

PublicIpv4Pool
  • Type: string

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

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to assign to the Elastic IP address.

Result Syntax

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

Result Details

Members
AllocationId
  • Type: string

[EC2-VPC] The ID that AWS assigns to represent the allocation of the Elastic IP address for use with instances in a VPC.

CarrierIp
  • Type: string

The carrier IP address. This option is only available for network interfaces which reside in a subnet in a Wavelength Zone (for example an EC2 instance).

CustomerOwnedIp
  • Type: string

The customer-owned IP address.

CustomerOwnedIpv4Pool
  • Type: string

The ID of the customer-owned address pool.

Domain
  • Type: string

Indicates whether the Elastic IP address is for use with instances in a VPC (vpc) or instances in EC2-Classic (standard).

NetworkBorderGroup
  • Type: string

The set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses.

PublicIp
  • Type: string

The Elastic IP address.

PublicIpv4Pool
  • Type: string

The ID of an address pool.

Errors

There are no errors described for this operation.

Examples

Example 1: To allocate an Elastic IP address for EC2-VPC

This example allocates an Elastic IP address to use with an instance in a VPC.

$result = $client->allocateAddress([
    'Domain' => 'vpc',
]);

Result syntax:

[
    'AllocationId' => 'eipalloc-64d5890a',
    'Domain' => 'vpc',
    'PublicIp' => '203.0.113.0',
]
Example 2: To allocate an Elastic IP address for EC2-Classic

This example allocates an Elastic IP address to use with an instance in EC2-Classic.

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

Result syntax:

[
    'Domain' => 'standard',
    'PublicIp' => '198.51.100.0',
]

AllocateHosts

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

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

Parameter Syntax

$result = $client->allocateHosts([
    'AutoPlacement' => 'on|off',
    'AvailabilityZone' => '<string>', // REQUIRED
    'ClientToken' => '<string>',
    'HostRecovery' => 'on|off',
    'InstanceFamily' => '<string>',
    'InstanceType' => '<string>',
    'Quantity' => <integer>, // REQUIRED
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
AutoPlacement
  • Type: string

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

Default: on

AvailabilityZone
  • Required: Yes
  • Type: string

The Availability Zone in which to allocate the Dedicated Host.

ClientToken
  • Type: string

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

HostRecovery
  • Type: string

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

Default: off

InstanceFamily
  • Type: string

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

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

InstanceType
  • Type: string

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

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

Quantity
  • Required: Yes
  • Type: int

The number of Dedicated Hosts to allocate to your account with these parameters.

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to apply to the Dedicated Host during creation.

Result Syntax

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

Result Details

Members
HostIds
  • Type: Array of strings

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

Errors

There are no errors described for this operation.

ApplySecurityGroupsToClientVpnTargetNetwork

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

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

Parameter Syntax

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

Parameter Details

Members
ClientVpnEndpointId
  • Required: Yes
  • Type: string

The ID of the Client VPN endpoint.

DryRun
  • Type: boolean

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

SecurityGroupIds
  • Required: Yes
  • Type: Array of strings

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

VpcId
  • Required: Yes
  • Type: string

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

Result Syntax

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

Result Details

Members
SecurityGroupIds
  • Type: Array of strings

The IDs of the applied security groups.

Errors

There are no errors described for this operation.

AssignIpv6Addresses

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

Assigns one or more IPv6 addresses to the specified network interface. You can specify one or more specific IPv6 addresses, or you can specify the number of IPv6 addresses to be automatically assigned from within the subnet's IPv6 CIDR block range. You can assign as many IPv6 addresses to a network interface as you can assign private IPv4 addresses, and the limit varies per instance type. For information, see IP Addresses Per Network Interface Per Instance Type in the Amazon Elastic Compute Cloud User Guide.

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

Parameter Syntax

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

Parameter Details

Members
Ipv6AddressCount
  • Type: int

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

Ipv6Addresses
  • Type: Array of strings

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

NetworkInterfaceId
  • Required: Yes
  • Type: string

The ID of the network interface.

Result Syntax

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

Result Details

Members
AssignedIpv6Addresses
  • Type: Array of strings

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

NetworkInterfaceId
  • Type: string

The ID of the network interface.

Errors

There are no errors described for this operation.

AssignPrivateIpAddresses

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

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

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

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

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

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

Parameter Syntax

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

Parameter Details

Members
AllowReassignment
  • Type: boolean

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

NetworkInterfaceId
  • Required: Yes
  • Type: string

The ID of the network interface.

PrivateIpAddresses
  • Type: Array of strings

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

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

SecondaryPrivateIpAddressCount
  • Type: int

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

Result Syntax

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

Result Details

Members
AssignedPrivateIpAddresses
  • Type: Array of AssignedPrivateIpAddress structures

The private IP addresses assigned to the network interface.

NetworkInterfaceId
  • Type: string

The ID of the network interface.

Errors

There are no errors described for this operation.

Examples

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

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

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

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

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

AssociateAddress

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

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

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

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

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

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

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

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

Parameter Syntax

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

Parameter Details

Members
AllocationId
  • Type: string

[EC2-VPC] The allocation ID. This is required for EC2-VPC.

AllowReassociation
  • Type: boolean

[EC2-VPC] For a VPC in an EC2-Classic account, specify true to allow an Elastic IP address that is already associated with an instance or network interface to be reassociated with the specified instance or network interface. Otherwise, the operation fails. In a VPC in an EC2-VPC-only account, reassociation is automatic, therefore you can specify false to ensure the operation fails if the Elastic IP address is already associated with another resource.

DryRun
  • Type: boolean

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

InstanceId
  • Type: string

The ID of the instance. The instance must have exactly one attached network interface. For EC2-VPC, you can specify either the instance ID or the network interface ID, but not both. For EC2-Classic, you must specify an instance ID and the instance must be in the running state.

NetworkInterfaceId
  • Type: string

[EC2-VPC] The ID of the network interface. If the instance has more than one network interface, you must specify a network interface ID.

For EC2-VPC, you can specify either the instance ID or the network interface ID, but not both.

PrivateIpAddress
  • Type: string

[EC2-VPC] The primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.

PublicIp
  • Type: string

[EC2-Classic] The Elastic IP address to associate with the instance. This is required for EC2-Classic.

Result Syntax

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

Result Details

Members
AssociationId
  • Type: string

[EC2-VPC] The ID that represents the association of the Elastic IP address with an instance.

Errors

There are no errors described for this operation.

Examples

Example 1: To associate an Elastic IP address in EC2-VPC

This example associates the specified Elastic IP address with the specified instance in a VPC.

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

Result syntax:

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

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

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

Result syntax:

[
    'AssociationId' => 'eipassoc-2bebb745',
]
Example 3: To associate an Elastic IP address in EC2-Classic

This example associates an Elastic IP address with an instance in EC2-Classic.

$result = $client->associateAddress([
    'InstanceId' => 'i-07ffe74c7330ebf53',
    'PublicIp' => '198.51.100.0',
]);

AssociateClientVpnTargetNetwork

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

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

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

Parameter Syntax

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

Parameter Details

Members
ClientToken
  • Type: string

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

ClientVpnEndpointId
  • Required: Yes
  • Type: string

The ID of the Client VPN endpoint.

DryRun
  • Type: boolean

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

SubnetId
  • Required: Yes
  • Type: string

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

Result Syntax

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

Result Details

Members
AssociationId
  • Type: string

The unique ID of the target network association.

Status
  • Type: AssociationStatus structure

The current state of the target network association.

Errors

There are no errors described for this operation.

AssociateDhcpOptions

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

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

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

For more information, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

Parameter Syntax

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

Parameter Details

Members
DhcpOptionsId
  • Required: Yes
  • Type: string

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

DryRun
  • Type: boolean

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

VpcId
  • Required: Yes
  • Type: string

The ID of the VPC.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

There are no errors described for this operation.

Examples

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

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

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

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

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

AssociateEnclaveCertificateIamRole

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

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

When the IAM role is associated with the ACM certificate, the certificate, certificate chain, and encrypted private key are placed in an Amazon S3 bucket that only the associated IAM role can access. The private key of the certificate is encrypted with an AWS-managed KMS customer master (CMK) that has an attached attestation-based CMK policy.

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

Parameter Syntax

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

Parameter Details

Members
CertificateArn
  • Type: string

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

DryRun
  • Type: boolean

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

RoleArn
  • Type: string

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

Result Syntax

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

Result Details

Members
CertificateS3BucketName
  • Type: string

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

CertificateS3ObjectKey
  • Type: string

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

EncryptionKmsKeyId
  • Type: string

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

Errors

There are no errors described for this operation.

AssociateIamInstanceProfile

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

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

Parameter Syntax

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

Parameter Details

Members
IamInstanceProfile
  • Required: Yes
  • Type: IamInstanceProfileSpecification structure

The IAM instance profile.

InstanceId
  • Required: Yes
  • Type: string

The ID of the instance.

Result Syntax

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

Result Details

Members
IamInstanceProfileAssociation
  • Type: IamInstanceProfileAssociation structure

Information about the IAM instance profile association.

Errors

There are no errors described for this operation.

Examples

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

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

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

Result syntax:

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

AssociateRouteTable

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

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

For more information, see Route Tables in the Amazon Virtual Private Cloud User Guide.

Parameter Syntax

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

Parameter Details

Members
DryRun
  • Type: boolean

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

GatewayId
  • Type: string

The ID of the internet gateway or virtual private gateway.

RouteTableId
  • Required: Yes
  • Type: string

The ID of the route table.

SubnetId
  • Type: string

The ID of the subnet.

Result Syntax

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

Result Details

Members
AssociationId
  • Type: string

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

AssociationState
  • Type: RouteTableAssociationState structure

The state of the association.

Errors

There are no errors described for this operation.

Examples

Example 1: To associate a route table with a subnet

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

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

Result syntax:

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

AssociateSubnetCidrBlock

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

Associates a CIDR block with your subnet. You can only associate a single IPv6 CIDR block with your subnet. An IPv6 CIDR block must have a prefix length of /64.

Parameter Syntax

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

Parameter Details

Members
Ipv6CidrBlock
  • Required: Yes
  • Type: string

The IPv6 CIDR block for your subnet. The subnet must have a /64 prefix length.

SubnetId
  • Required: Yes
  • Type: string

The ID of your subnet.

Result Syntax

[
    'Ipv6CidrBlockAssociation' => [
        'AssociationId' => '<string>',
        'Ipv6CidrBlock' => '<string>',
        'Ipv6CidrBlockState' => [
            'State' => 'associating|associated|disassociating|disassociated|failing|failed',
            'StatusMessage' => '<string>',
        ],
    ],
    'SubnetId' => '<string>',
]

Result Details

Members
Ipv6CidrBlockAssociation
  • Type: SubnetIpv6CidrBlockAssociation structure

Information about the IPv6 CIDR block association.

SubnetId
  • Type: string

The ID of the subnet.

Errors

There are no errors described for this operation.

AssociateTransitGatewayMulticastDomain

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

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

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

Parameter Syntax

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

Parameter Details

Members
DryRun
  • Type: boolean

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

SubnetIds
  • Type: Array of strings

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

TransitGatewayAttachmentId
  • Type: string

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

TransitGatewayMulticastDomainId
  • Type: string

The ID of the transit gateway multicast domain.

Result Syntax

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

Result Details

Members
Associations
  • Type: TransitGatewayMulticastDomainAssociations structure

Information about the transit gateway multicast domain associations.

Errors

There are no errors described for this operation.

AssociateTransitGatewayRouteTable

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

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

Parameter Syntax

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

Parameter Details

Members
DryRun
  • Type: boolean

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

TransitGatewayAttachmentId
  • Required: Yes
  • Type: string

The ID of the attachment.

TransitGatewayRouteTableId
  • Required: Yes
  • Type: string

The ID of the transit gateway route table.

Result Syntax

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

Result Details

Members
Association
  • Type: TransitGatewayAssociation structure

The ID of the association.

Errors

There are no errors described for this operation.

AssociateVpcCidrBlock

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

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

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

For more information about associating CIDR blocks with your VPC and applicable restrictions, see VPC and Subnet Sizing in the Amazon Virtual Private Cloud User Guide.

Parameter Syntax

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

Parameter Details

Members
AmazonProvidedIpv6CidrBlock
  • Type: boolean

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

CidrBlock
  • Type: string

An IPv4 CIDR block to associate with the VPC.

Ipv6CidrBlock
  • Type: string

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

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

Ipv6CidrBlockNetworkBorderGroup
  • Type: string

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

You must set AmazonProvidedIpv6CidrBlock to true to use this parameter.

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

Ipv6Pool
  • Type: string

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

VpcId
  • Required: Yes
  • Type: string

The ID of the VPC.

Result Syntax

[
    'CidrBlockAssociation' => [
        'AssociationId' => '<string>',
        'CidrBlock' => '<string>',
        'CidrBlockState' => [
            'State' => 'associating|associated|disassociating|disassociated|failing|failed',
            'StatusMessage' => '<string>',
        ],
    ],
    'Ipv6CidrBlockAssociation' => [
        'AssociationId' => '<string>',
        'Ipv6CidrBlock' => '<string>',
        'Ipv6CidrBlockState' => [
            'State' => 'associating|associated|disassociating|disassociated|failing|failed',
            'StatusMessage' => '<string>',
        ],
        'Ipv6Pool' => '<string>',
        'NetworkBorderGroup' => '<string>',
    ],
    'VpcId' => '<string>',
]

Result Details

Members
CidrBlockAssociation
  • Type: VpcCidrBlockAssociation structure

Information about the IPv4 CIDR block association.

Ipv6CidrBlockAssociation
  • Type: VpcIpv6CidrBlockAssociation structure

Information about the IPv6 CIDR block association.

VpcId
  • Type: string

The ID of the VPC.

Errors

There are no errors described for this operation.

AttachClassicLinkVpc

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

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 running state. An instance is automatically unlinked from a VPC when it's stopped - you can link it to the VPC again when you restart it.

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

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

Parameter Syntax

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

Parameter Details

Members
DryRun
  • Type: boolean

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

Groups
  • Required: Yes
  • Type: Array of strings

The ID of one or more of the VPC's security groups. You cannot specify security groups from a different VPC.

InstanceId
  • Required: Yes
  • Type: string

The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.

VpcId
  • Required: Yes
  • Type: string

The ID of a ClassicLink-enabled VPC.

Result Syntax

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

Result Details

Members
Return
  • Type: boolean

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

Errors

There are no errors described for this operation.

AttachInternetGateway

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

Attaches an internet gateway or a virtual private gateway to a VPC, enabling connectivity between the internet and the VPC. For more information about your VPC and internet gateway, see the Amazon Virtual Private Cloud User Guide.

Parameter Syntax

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

Parameter Details

Members
DryRun
  • Type: boolean

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

InternetGatewayId
  • Required: Yes
  • Type: string

The ID of the internet gateway.

VpcId
  • Required: Yes
  • Type: string

The ID of the VPC.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

There are no errors described for this operation.

Examples

Example 1: To attach an Internet gateway to a VPC

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

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

AttachNetworkInterface

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

Attaches a network interface to an instance.

Parameter Syntax

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

Parameter Details

Members
DeviceIndex
  • Required: Yes
  • Type: int

The index of the device for the network interface attachment.

DryRun
  • Type: boolean

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

InstanceId
  • Required: Yes
  • Type: string

The ID of the instance.

NetworkCardIndex
  • Type: int

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

NetworkInterfaceId
  • Required: Yes
  • Type: string

The ID of the network interface.

Result Syntax

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

Result Details

Members
AttachmentId
  • Type: string

The ID of the network interface attachment.

NetworkCardIndex
  • Type: int

The index of the network card.

Errors

There are no errors described for this operation.

Examples

Example 1: To attach a network interface to an instance

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

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

Result syntax:

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

AttachVolume

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

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

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

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

If a volume has an AWS Marketplace product code:

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

  • AWS Marketplace product codes are copied from the volume to the instance.

  • You must be subscribed to the product.

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

For more information, see Attaching Amazon EBS volumes in the Amazon Elastic Compute Cloud User Guide.

Parameter Syntax

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

Parameter Details

Members
Device
  • Required: Yes
  • Type: string

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

DryRun
  • Type: boolean

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

InstanceId
  • Required: Yes
  • Type: string

The ID of the instance.

VolumeId
  • Required: Yes
  • Type: string

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

Result Syntax

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

Result Details

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

The time stamp when the attachment initiated.

DeleteOnTermination
  • Type: boolean

Indicates whether the EBS volume is deleted on instance termination.

Device
  • Type: string

The device name.

InstanceId
  • Type: string

The ID of the instance.

State
  • Type: string

The attachment state of the volume.

VolumeId
  • Type: string

The ID of the volume.

Errors

There are no errors described for this operation.

Examples

Example 1: To attach a volume to an instance

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

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

Result syntax:

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

AttachVpnGateway

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

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

For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.

Parameter Syntax

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

Parameter Details

Members
DryRun
  • Type: boolean

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

VpcId
  • Required: Yes
  • Type: string

The ID of the VPC.

VpnGatewayId
  • Required: Yes
  • Type: string

The ID of the virtual private gateway.

Result Syntax

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

Result Details

Members
VpcAttachment
  • Type: VpcAttachment structure

Information about the attachment.

Errors

There are no errors described for this operation.

AuthorizeClientVpnIngress

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

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

Parameter Syntax

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

Parameter Details

Members
AccessGroupId
  • Type: string

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

AuthorizeAllGroups
  • Type: boolean

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

ClientToken
  • Type: string

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

ClientVpnEndpointId
  • Required: Yes
  • Type: string

The ID of the Client VPN endpoint.

Description
  • Type: string

A brief description of the authorization rule.

DryRun
  • Type: boolean

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

TargetNetworkCidr
  • Required: Yes
  • Type: string

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

Result Syntax

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

Result Details

Members
Status
  • Type: ClientVpnAuthorizationRuleStatus structure

The current state of the authorization rule.

Errors

There are no errors described for this operation.

AuthorizeSecurityGroupEgress

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

[VPC only] Adds the specified egress rules to a security group for use with a VPC.

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.

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.

Rule changes are propagated to affected instances as quickly as possible. However, a small delay might occur.

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

Parameter Syntax

$result = $client->authorizeSecurityGroupEgress([
    'CidrIp' => '<string>',
    'DryRun' => true || false,
    'FromPort' => <integer>,
    'GroupId' => '<string>', // REQUIRED
    'IpPermissions' => [
        [
            'FromPort' => <integer>,
            'IpProtocol' => '<string>',
            'IpRanges' => [
                [
                    'CidrIp' => '<string>',
                    'Description' => '<string>',
                ],
                // ...
            ],
            'Ipv6Ranges' => [
                [
                    'CidrIpv6' => '<string>',
                    'Description' => '<string>',
                ],
                // ...
            ],
            'PrefixListIds' => [
                [
                    'Description' => '<string>',
                    'PrefixListId' => '<string>',
                ],
                // ...
            ],
            'ToPort' => <integer>,
            'UserIdGroupPairs' => [
                [
                    'Description' => '<string>',
                    'GroupId' => '<string>',
                    'GroupName' => '<string>',
                    'PeeringStatus' => '<string>',
                    'UserId' => '<string>',
                    'VpcId' => '<string>',
                    'VpcPeeringConnectionId' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'IpProtocol' => '<string>',
    'SourceSecurityGroupName' => '<string>',
    'SourceSecurityGroupOwnerId' => '<string>',
    'ToPort' => <integer>,
]);

Parameter Details

Members
CidrIp
  • Type: string

Not supported. Use a set of IP permissions to specify the CIDR.

DryRun
  • Type: boolean

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

FromPort
  • Type: int

Not supported. Use a set of IP permissions to specify the port.

GroupId
  • Required: Yes
  • Type: string

The ID of the security group.

IpPermissions
  • Type: Array of IpPermission structures

The sets of IP permissions. You can't specify a destination security group and a CIDR IP address range in the same set of permissions.

IpProtocol
  • Type: string

Not supported. Use a set of IP permissions to specify the protocol name or number.

SourceSecurityGroupName
  • Type: string

Not supported. Use a set of IP permissions to specify a destination security group.

SourceSecurityGroupOwnerId
  • Type: string

Not supported. Use a set of IP permissions to specify a destination security group.

ToPort
  • Type: int

Not supported. Use a set of IP permissions to specify the port.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

There are no errors described for this operation.

Examples

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

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

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

Result syntax:

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

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

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

Result syntax:

[
]

AuthorizeSecurityGroupIngress

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

Adds the specified ingress rules to a security group.

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.

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.

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

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

Parameter Syntax

$result = $client->authorizeSecurityGroupIngress([
    'CidrIp' => '<string>',
    'DryRun' => true || false,
    'FromPort' => <integer>,
    'GroupId' => '<string>',
    'GroupName' => '<string>',
    'IpPermissions' => [
        [
            'FromPort' => <integer>,
            'IpProtocol' => '<string>',
            'IpRanges' => [
                [
                    'CidrIp' => '<string>',
                    'Description' => '<string>',
                ],
                // ...
            ],
            'Ipv6Ranges' => [
                [
                    'CidrIpv6' => '<string>',
                    'Description' => '<string>',
                ],
                // ...
            ],
            'PrefixListIds' => [
                [
                    'Description' => '<string>',
                    'PrefixListId' => '<string>',
                ],
                // ...
            ],
            'ToPort' => <integer>,
            'UserIdGroupPairs' => [
                [
                    'Description' => '<string>',
                    'GroupId' => '<string>',
                    'GroupName' => '<string>',
                    'PeeringStatus' => '<string>',
                    'UserId' => '<string>',
                    'VpcId' => '<string>',
                    'VpcPeeringConnectionId' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'IpProtocol' => '<string>',
    'SourceSecurityGroupName' => '<string>',
    'SourceSecurityGroupOwnerId' => '<string>',
    'ToPort' => <integer>,
]);

Parameter Details

Members
CidrIp
  • Type: string

The IPv4 address range, in CIDR format. You can't specify this parameter when specifying a source security group. To specify an IPv6 address range, use a set of IP permissions.

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

DryRun
  • Type: boolean

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

FromPort
  • Type: int

The start of port range for the TCP and UDP protocols, or an ICMP type number. For the ICMP type number, use -1 to specify all types. If you specify all ICMP types, you must specify all codes.

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

GroupId
  • Type: string

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

GroupName
  • Type: string

[EC2-Classic, default VPC] The name of the security group. You must specify either the security group ID or the security group name in the request.

IpPermissions
  • Type: Array of IpPermission structures

The sets of IP permissions.

IpProtocol
  • Type: string

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). To specify icmpv6, use a set of IP permissions.

[VPC only] Use -1 to specify all protocols. If you specify -1 or a protocol other than tcp, udp, or icmp, traffic on all ports is allowed, regardless of any ports you specify.

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

SourceSecurityGroupName
  • Type: string

[EC2-Classic, default VPC] The name of the source security group. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the start of the port range, the IP protocol, and the end of the port range. Creates rules that grant full ICMP, UDP, and TCP access. To create a rule with a specific IP protocol and port range, use a set of IP permissions instead. For EC2-VPC, the source security group must be in the same VPC.

SourceSecurityGroupOwnerId
  • Type: string

[nondefault VPC] The AWS account ID for the source security group, if the source security group is in a different account. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the IP protocol, the start of the port range, and the end of the port range. Creates rules that grant full ICMP, UDP, and TCP access. To create a rule with a specific IP protocol and port range, use a set of IP permissions instead.

ToPort
  • Type: int

The end of port range for the TCP and UDP protocols, or an ICMP code number. For the ICMP code number, use -1 to specify all codes. If you specify all ICMP types, you must specify all codes.

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

There are no errors described for this operation.

Examples

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

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

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

Result syntax:

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

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

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

Result syntax:

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

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

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

Result syntax:

[
]

BundleInstance

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

Bundles an Amazon instance store-backed Windows instance.

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

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

Parameter Syntax

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

Parameter Details

Members
DryRun
  • Type: boolean

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

InstanceId
  • Required: Yes
  • Type: string

The ID of the instance to bundle.

Type: String

Default: None

Required: Yes

Storage
  • Required: Yes
  • Type: Storage structure

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

Result Syntax

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

Result Details

Members
BundleTask
  • Type: BundleTask structure

Information about the bundle task.

Errors

There are no errors described for this operation.

CancelBundleTask

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

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

Parameter Syntax

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

Parameter Details

Members
BundleId
  • Required: Yes
  • Type: string

The ID of the bundle task.

DryRun
  • Type: boolean

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

Result Syntax

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

Result Details

Members
BundleTask
  • Type: BundleTask structure

Information about the bundle task.

Errors

There are no errors described for this operation.

CancelCapacityReservation

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

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

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

Parameter Syntax

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

Parameter Details

Members
CapacityReservationId
  • Required: Yes
  • Type: string

The ID of the Capacity Reservation to be cancelled.

DryRun
  • Type: boolean

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

Result Syntax

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

Result Details

Members
Return
  • Type: boolean

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

Errors

There are no errors described for this operation.

CancelConversionTask

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

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

For more information, see Importing a Virtual Machine Using the Amazon EC2 CLI.

Parameter Syntax

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

Parameter Details

Members
ConversionTaskId
  • Required: Yes
  • Type: string

The ID of the conversion task.

DryRun
  • Type: boolean

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

ReasonMessage
  • Type: string

The reason for canceling the conversion task.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

There are no errors described for this operation.

CancelExportTask

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

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

Parameter Syntax

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

Parameter Details

Members
ExportTaskId
  • Required: Yes
  • Type: string

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

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

There are no errors described for this operation.

CancelImportTask

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

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

Parameter Syntax

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

Parameter Details

Members
CancelReason
  • Type: string

The reason for canceling the task.

DryRun
  • Type: boolean

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

ImportTaskId
  • Type: string

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

Result Syntax

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

Result Details

Members
ImportTaskId
  • Type: string

The ID of the task being canceled.

PreviousState
  • Type: string

The current state of the task being canceled.

State
  • Type: string

The current state of the task being canceled.

Errors

There are no errors described for this operation.

CancelReservedInstancesListing

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

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

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

Parameter Syntax

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

Parameter Details

Members
ReservedInstancesListingId
  • Required: Yes
  • Type: string

The ID of the Reserved Instance listing.

Result Syntax

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

Result Details

Members
ReservedInstancesListings
  • Type: Array of ReservedInstancesListing structures

The Reserved Instance listing.

Errors

There are no errors described for this operation.

CancelSpotFleetRequests

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

Cancels the specified Spot Fleet requests.

After you cancel a Spot Fleet request, the Spot Fleet launches no new 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 cancelled_terminating state. Otherwise, the Spot Fleet request enters the cancelled_running state and the instances continue to run until they are interrupted or you terminate them manually.

Parameter Syntax

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

Parameter Details

Members
DryRun
  • Type: boolean

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

SpotFleetRequestIds
  • Required: Yes
  • Type: Array of strings

The IDs of the Spot Fleet requests.

TerminateInstances
  • Required: Yes
  • Type: boolean

Indicates whether to terminate instances for a Spot Fleet request if it is canceled successfully.

Result Syntax

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

Result Details

Members
SuccessfulFleetRequests
  • Type: Array of CancelSpotFleetRequestsSuccessItem structures

Information about the Spot Fleet requests that are successfully canceled.

UnsuccessfulFleetRequests
  • Type: Array of CancelSpotFleetRequestsErrorItem structures

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

Errors

There are no errors described for this operation.

Examples

Example 1: To cancel a Spot fleet request

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

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

Result syntax:

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

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

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

Result syntax:

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

CancelSpotInstanceRequests

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

Cancels one or more Spot Instance requests.

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

Parameter Syntax

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

Parameter Details

Members
DryRun
  • Type: boolean

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

SpotInstanceRequestIds
  • Required: Yes
  • Type: Array of strings

One or more Spot Instance request IDs.

Result Syntax

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

Result Details

Members
CancelledSpotInstanceRequests
  • Type: Array of CancelledSpotInstanceRequest structures

One or more Spot Instance requests.

Errors

There are no errors described for this operation.

Examples

Example 1: To cancel Spot Instance requests

This example cancels a Spot Instance request.

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

Result syntax:

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

ConfirmProductInstance

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

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

Parameter Syntax

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

Parameter Details

Members
DryRun
  • Type: boolean

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

InstanceId
  • Required: Yes
  • Type: string

The ID of the instance.

ProductCode
  • Required: Yes
  • Type: string

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

Result Syntax

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

Result Details

Members
OwnerId
  • Type: string

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

Return
  • Type: boolean

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

Errors

There are no errors described for this operation.

Examples

Example 1: To confirm the product instance

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

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

Result syntax:

[
    'OwnerId' => '123456789012',
]

CopyFpgaImage

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

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

Parameter Syntax

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

Parameter Details

Members
ClientToken
  • Type: string

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

Description
  • Type: string

The description for the new AFI.

DryRun
  • Type: boolean

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

Name
  • Type: string

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

SourceFpgaImageId
  • Required: Yes
  • Type: string

The ID of the source AFI.

SourceRegion
  • Required: Yes
  • Type: string

The Region that contains the source AFI.

Result Syntax

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

Result Details

Members
FpgaImageId
  • Type: string

The ID of the new AFI.

Errors

There are no errors described for this operation.

CopyImage

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

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

To copy an AMI from one Region to another, specify the source Region using the SourceRegion parameter, and specify the destination Region using its endpoint. Copies of encrypted backing snapshots for the AMI are encrypted. Copies of unencrypted backing snapshots remain unencrypted, unless you set Encrypted during the copy operation. You cannot create an unencrypted copy of an encrypted backing snapshot.

To copy an AMI from a Region to an Outpost, specify the source Region using the SourceRegion parameter, and specify the ARN of the destination Outpost using DestinationOutpostArn. Backing snapshots copied to an Outpost are encrypted by default using the default encryption key for the Region, or a different key that you specify in the request using KmsKeyId. Outposts do not support unencrypted snapshots. For more information, Amazon EBS local snapshots on Outposts in the Amazon Elastic Compute Cloud User Guide.

For more information about the prerequisites and limits when copying an AMI, see Copying an AMI in the Amazon Elastic Compute Cloud User Guide.

Parameter Syntax

$result = $client->copyImage([
    'ClientToken' => '<string>',
    'Description' => '<string>',
    'DestinationOutpostArn' => '<string>',
    'DryRun' => true || false,
    'Encrypted' => true || false,
    'KmsKeyId' => '<string>',
    'Name' => '<string>', // REQUIRED
    'SourceImageId' => '<string>', // REQUIRED
    'SourceRegion' => '<string>', // REQUIRED
]);

Parameter Details

Members
ClientToken
  • Type: string

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

Description
  • Type: string

A description for the new AMI in the destination Region.

DestinationOutpostArn
  • Type: string

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

For more information, see Copying AMIs from an AWS Region to an Outpost in the Amazon Elastic Compute Cloud User Guide.

DryRun
  • Type: boolean

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

Encrypted
  • Type: boolean

Specifies whether the destination snapshots of the copied image should be encrypted. You can encrypt a copy of an unencrypted snapshot, but you cannot create an unencrypted copy of an encrypted snapshot. The default CMK for EBS is used unless you specify a non-default AWS Key Management Service (AWS KMS) CMK using KmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

KmsKeyId
  • Type: string

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

You can specify a CMK using any of the following:

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

  • Key alias. For example, alias/ExampleAlias.

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

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

AWS authenticates the CMK asynchronously. Therefore, if you specify an identifier that is not valid, the action can appear to complete, but eventually fails.

The specified CMK must exist in the destination Region.

Amazon EBS does not support asymmetric CMKs.

Name
  • Required: Yes
  • Type: string

The name of the new AMI in the destination Region.

SourceImageId
  • Required: Yes
  • Type: string

The ID of the AMI to copy.

SourceRegion
  • Required: Yes
  • Type: string

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

Result Syntax

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

Result Details

Members
ImageId
  • Type: string

The ID of the new AMI.

Errors

There are no errors described for this operation.

Examples

Example 1: To copy an AMI to another region

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

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

Result syntax:

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

CopySnapshot

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

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

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

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

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

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

For more information, see Copying an Amazon EBS snapshot in the Amazon Elastic Compute Cloud User Guide.

Parameter Syntax

$result = $client->copySnapshot([
    'Description' => '<string>',
    'DestinationOutpostArn' => '<string>',
    'DestinationRegion' => '<string>',
    'DryRun' => true || false,
    'Encrypted' => true || false,
    'KmsKeyId' => '<string>',
    'PresignedUrl' => '<string>',
    'SourceRegion' => '<string>', // REQUIRED
    'SourceSnapshotId' => '<string>', // REQUIRED
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
Description
  • Type: string

A description for the EBS snapshot.

DestinationOutpostArn
  • Type: string

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

For more information, see Copying snapshots from an AWS Region to an Outpost in the Amazon Elastic Compute Cloud User Guide.

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

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

Encrypted
  • Type: boolean

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

KmsKeyId
  • Type: string

The identifier of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use for Amazon EBS encryption. If this parameter is not specified, your AWS managed CMK for EBS is used. If KmsKeyId is specified, the encrypted state must be true.

You can specify the CMK using any of the following:

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

  • Key alias. For example, alias/ExampleAlias.

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

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

AWS authenticates the CMK asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, the action can appear to complete, but eventually fails.

PresignedUrl
  • Type: string
The SDK will compute this value for you on your behalf.
SourceRegion
  • Required: Yes
  • Type: string

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

SourceSnapshotId
  • Required: Yes
  • Type: string

The ID of the EBS snapshot to copy.

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to apply to the new snapshot.

Result Syntax

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

Result Details

Members
SnapshotId
  • Type: string

The ID of the new snapshot.

Tags
  • Type: Array of Tag structures

Any tags applied to the new snapshot.

Errors

There are no errors described for this operation.

Examples

Example 1: To copy a snapshot

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

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

Result syntax:

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

CreateCapacityReservation

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

Creates a new Capacity Reservation with the specified attributes.

Capacity Reservations enable you to reserve capacity for your Amazon EC2 instances in a specific Availability Zone for any duration. This gives you the flexibility to selectively add capacity reservations and still get the Regional RI discounts for that usage. By creating Capacity Reservations, you ensure that you always have access to Amazon EC2 capacity when you need it, for as long as you need it. For more information, see Capacity Reservations in the Amazon EC2 User Guide.

Your request to create a Capacity Reservation could fail if Amazon EC2 does not have sufficient capacity to fulfill the request. If your request fails due to Amazon EC2 capacity constraints, either try again at a later time, try in a different Availability Zone, or request a smaller capacity reservation. If your application is flexible across instance types and sizes, try to create a Capacity Reservation with different instance attributes.

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

Parameter Syntax

$result = $client->createCapacityReservation([
    'AvailabilityZone' => '<string>',
    'AvailabilityZoneId' => '<string>',
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'EbsOptimized' => true || false,
    'EndDate' => <integer || string || DateTime>,
    'EndDateType' => 'unlimited|limited',
    'EphemeralStorage' => true || false,
    'InstanceCount' => <integer>, // REQUIRED
    'InstanceMatchCriteria' => 'open|targeted',
    'InstancePlatform' => 'Linux/UNIX|Red Hat Enterprise Linux|SUSE Linux|Windows|Windows with SQL Server|Windows with SQL Server Enterprise|Windows with SQL Server Standard|Windows with SQL Server Web|Linux with SQL Server Standard|Linux with SQL Server Web|Linux with SQL Server Enterprise', // REQUIRED
    'InstanceType' => '<string>', // REQUIRED
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'Tenancy' => 'default|dedicated',
]);

Parameter Details

Members
AvailabilityZone
  • Type: string

The Availability Zone in which to create the Capacity Reservation.

AvailabilityZoneId
  • Type: string

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

ClientToken
  • Type: string

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

DryRun
  • Type: boolean

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

EbsOptimized
  • Type: boolean

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

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

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

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

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

EndDateType
  • Type: string

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

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

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

EphemeralStorage
  • Type: boolean

Indicates whether the Capacity Reservation supports instances with temporary, block-level storage.

InstanceCount
  • Required: Yes
  • Type: int

The number of instances for which to reserve capacity.

InstanceMatchCriteria
  • Type: string

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

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

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

Default: open

InstancePlatform
  • Required: Yes
  • Type: string

The type of operating system for which to reserve capacity.

InstanceType
  • Required: Yes
  • Type: string

The instance type for which to reserve capacity. For more information, see Instance types in the Amazon EC2 User Guide.

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to apply to the Capacity Reservation during launch.

Tenancy
  • Type: string

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

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

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

Result Syntax

[
    'CapacityReservation' => [
        'AvailabilityZone' => '<string>',
        'AvailabilityZoneId' => '<string>',
        'AvailableInstanceCount' => <integer>,
        'CapacityReservationArn' => '<string>',
        'CapacityReservationId' => '<string>',
        'CreateDate' => <DateTime>,
        'EbsOptimized' => true || false,
        'EndDate' => <DateTime>,
        'EndDateType' => 'unlimited|limited',
        'EphemeralStorage' => true || false,
        'InstanceMatchCriteria' => 'open|targeted',
        'InstancePlatform' => 'Linux/UNIX|Red Hat Enterprise Linux|SUSE Linux|Windows|Windows with SQL Server|Windows with SQL Server Enterprise|Windows with SQL Server Standard|Windows with SQL Server Web|Linux with SQL Server Standard|Linux with SQL Server Web|Linux with SQL Server Enterprise',
        'InstanceType' => '<string>',
        'OwnerId' => '<string>',
        'StartDate' => <DateTime>,
        'State' => 'active|expired|cancelled|pending|failed',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'Tenancy' => 'default|dedicated',
        'TotalInstanceCount' => <integer>,
    ],
]

Result Details

Members
CapacityReservation
  • Type: CapacityReservation structure

Information about the Capacity Reservation.

Errors

There are no errors described for this operation.

CreateCarrierGateway

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

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

Parameter Syntax

$result = $client->createCarrierGateway([
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'VpcId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ClientToken
  • Type: string

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

DryRun
  • Type: boolean

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

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to associate with the carrier gateway.

VpcId
  • Required: Yes
  • Type: string

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

Result Syntax

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

Result Details

Members
CarrierGateway
  • Type: CarrierGateway structure

Information about the carrier gateway.

Errors

There are no errors described for this operation.

CreateClientVpnEndpoint

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

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

Parameter Syntax

$result = $client->createClientVpnEndpoint([
    'AuthenticationOptions' => [ // REQUIRED
        [
            'ActiveDirectory' => [
                'DirectoryId' => '<string>',
            ],
            'FederatedAuthentication' => [
                'SAMLProviderArn' => '<string>',
                'SelfServiceSAMLProviderArn' => '<string>',
            ],
            'MutualAuthentication' => [
                'ClientRootCertificateChainArn' => '<string>',
            ],
            'Type' => 'certificate-authentication|directory-service-authentication|federated-authentication',
        ],
        // ...
    ],
    'ClientCidrBlock' => '<string>', // REQUIRED
    'ClientConnectOptions' => [
        'Enabled' => true || false,
        'LambdaFunctionArn' => '<string>',
    ],
    'ClientToken' => '<string>',
    'ConnectionLogOptions' => [ // REQUIRED
        'CloudwatchLogGroup' => '<string>',
        'CloudwatchLogStream' => '<string>',
        'Enabled' => true || false,
    ],
    'Description' => '<string>',
    'DnsServers' => ['<string>', ...],
    'DryRun' => true || false,
    'SecurityGroupIds' => ['<string>', ...],
    'SelfServicePortal' => 'enabled|disabled',
    'ServerCertificateArn' => '<string>', // REQUIRED
    'SplitTunnel' => true || false,
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'TransportProtocol' => 'tcp|udp',
    'VpcId' => '<string>',
    'VpnPort' => <integer>,
]);

Parameter Details

Members
AuthenticationOptions
  • Required: Yes
  • Type: Array of ClientVpnAuthenticationRequest structures

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

ClientCidrBlock
  • Required: Yes
  • Type: string

The IPv4 address range, in CIDR notation, from which to assign client IP addresses. The address range cannot overlap with the local CIDR of the VPC in which the associated subnet is located, or the routes that you add manually. The address range cannot be changed after the Client VPN endpoint has been created. The CIDR block should be /22 or greater.

ClientConnectOptions
  • Type: ClientConnectOptions structure

The options for managing connection authorization for new client connections.

ClientToken
  • Type: string

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

ConnectionLogOptions
  • Required: Yes
  • Type: ConnectionLogOptions structure

Information about the client connection logging options.

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

  • Client connection requests

  • Client connection results (successful and unsuccessful)

  • Reasons for unsuccessful client connection requests

  • Client connection termination time

Description
  • Type: string

A brief description of the Client VPN endpoint.

DnsServers
  • Type: Array of strings

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

DryRun
  • Type: boolean

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

SecurityGroupIds
  • Type: Array of strings

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

SelfServicePortal
  • Type: string

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

Default Value: enabled

ServerCertificateArn
  • Required: Yes
  • Type: string

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

SplitTunnel
  • Type: boolean

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

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

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

TagSpecifications
  • Type: Array of TagSpecification structures

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

TransportProtocol
  • Type: string

The transport protocol to be used by the VPN session.

Default value: udp

VpcId
  • Type: string

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

VpnPort
  • Type: int

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

Valid Values: 443 | 1194

Default Value: 443

Result Syntax

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

Result Details

Members
ClientVpnEndpointId
  • Type: string

The ID of the Client VPN endpoint.

DnsName
  • Type: string

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

Status
  • Type: ClientVpnEndpointStatus structure

The current state of the Client VPN endpoint.

Errors

There are no errors described for this operation.

CreateClientVpnRoute

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

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

Parameter Syntax

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

Parameter Details

Members
ClientToken
  • Type: string

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

ClientVpnEndpointId
  • Required: Yes
  • Type: string

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

Description
  • Type: string

A brief description of the route.

DestinationCidrBlock
  • Required: Yes
  • Type: string

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

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

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

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

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

DryRun
  • Type: boolean

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

TargetVpcSubnetId
  • Required: Yes
  • Type: string

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

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

Result Syntax

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

Result Details

Members
Status
  • Type: ClientVpnRouteStatus structure

The current state of the route.

Errors

There are no errors described for this operation.

CreateCustomerGateway

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

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

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

Amazon EC2 supports all 4-byte ASN numbers in the range of 1 - 2147483647, with the exception of the following:

  • 7224 - reserved in the us-east-1 Region

  • 9059 - reserved in the eu-west-1 Region

  • 17943 - reserved in the ap-southeast-1 Region

  • 10124 - reserved in the ap-northeast-1 Region

For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.

To create more than one customer gateway with the same VPN type, IP address, and BGP ASN, specify a unique device name for each customer gateway. Identical requests return information about the existing customer gateway and do not create new customer gateways.

Parameter Syntax

$result = $client->createCustomerGateway([
    'BgpAsn' => <integer>, // REQUIRED
    'CertificateArn' => '<string>',
    'DeviceName' => '<string>',
    'DryRun' => true || false,
    'PublicIp' => '<string>',
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'Type' => 'ipsec.1', // REQUIRED
]);

Parameter Details

Members
BgpAsn
  • Required: Yes
  • Type: int

For devices that support BGP, the customer gateway's BGP ASN.

Default: 65000

CertificateArn
  • Type: string

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

DeviceName
  • Type: string

A name for the customer gateway device.

Length Constraints: Up to 255 characters.

DryRun
  • Type: boolean

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

PublicIp
  • Type: string

The Internet-routable IP address for the customer gateway's outside interface. The address must be static.

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to apply to the customer gateway.

Type
  • Required: Yes
  • Type: string

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

Result Syntax

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

Result Details

Members
CustomerGateway
  • Type: CustomerGateway structure

Information about the customer gateway.

Errors

There are no errors described for this operation.

Examples

Example 1: To create a customer gateway

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

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

Result syntax:

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

CreateDefaultSubnet

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

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

Parameter Syntax

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

Parameter Details

Members
AvailabilityZone
  • Required: Yes
  • Type: string

The Availability Zone in which to create the default subnet.

DryRun
  • Type: boolean

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

Result Syntax

[
    'Subnet' => [
        'AssignIpv6AddressOnCreation' => true || false,
        'AvailabilityZone' => '<string>',
        'AvailabilityZoneId' => '<string>',
        'AvailableIpAddressCount' => <integer>,
        'CidrBlock' => '<string>',
        'CustomerOwnedIpv4Pool' => '<string>',
        'DefaultForAz' => true || false,
        'Ipv6CidrBlockAssociationSet' => [
            [
                'AssociationId' => '<string>',
                'Ipv6CidrBlock' => '<string>',
                'Ipv6CidrBlockState' => [
                    'State' => 'associating|associated|disassociating|disassociated|failing|failed',
                    'StatusMessage' => '<string>',
                ],
            ],
            // ...
        ],
        'MapCustomerOwnedIpOnLaunch' => true || false,
        'MapPublicIpOnLaunch' => true || false,
        'OutpostArn' => '<string>',
        'OwnerId' => '<string>',
        'State' => 'pending|available',
        'SubnetArn' => '<string>',
        'SubnetId' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'VpcId' => '<string>',
    ],
]

Result Details

Members
Subnet
  • Type: Subnet structure

Information about the subnet.

Errors

There are no errors described for this operation.

CreateDefaultVpc

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

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

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

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 Default VPCs FAQ.

Parameter Syntax

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

Parameter Details

Members
DryRun
  • Type: boolean

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

Result Syntax

[
    'Vpc' => [
        'CidrBlock' => '<string>',
        'CidrBlockAssociationSet' => [
            [
                'AssociationId' => '<string>',
                'CidrBlock' => '<string>',
                'CidrBlockState' => [
                    'State' => 'associating|associated|disassociating|disassociated|failing|failed',
                    'StatusMessage' => '<string>',
                ],
            ],
            // ...
        ],
        'DhcpOptionsId' => '<string>',
        'InstanceTenancy' => 'default|dedicated|host',
        'Ipv6CidrBlockAssociationSet' => [
            [
                'AssociationId' => '<string>',
                'Ipv6CidrBlock' => '<string>',
                'Ipv6CidrBlockState' => [
                    'State' => 'associating|associated|disassociating|disassociated|failing|failed',
                    'StatusMessage' => '<string>',
                ],
                'Ipv6Pool' => '<string>',
                'NetworkBorderGroup' => '<string>',
            ],
            // ...
        ],
        'IsDefault' => true || false,
        'OwnerId' => '<string>',
        'State' => 'pending|available',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'VpcId' => '<string>',
    ],
]

Result Details

Members
Vpc
  • Type: Vpc structure

Information about the VPC.

Errors

There are no errors described for this operation.

CreateDhcpOptions

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

Creates a 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 RFC 2132.

  • domain-name-servers - 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 domain-name, you must set domain-name-servers to a custom DNS server.

  • domain-name - If you're using AmazonProvidedDNS in us-east-1, specify ec2.internal. If you're using AmazonProvidedDNS in another Region, specify region.compute.internal (for example, ap-northeast-1.compute.internal). Otherwise, specify a domain name (for example, ExampleCompany.com). This value is used to complete unqualified DNS hostnames. Important: 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.

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

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

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

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 domain-name-servers option either to AmazonProvidedDNS or to a domain name server of your choice. For more information, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

Parameter Syntax

$result = $client->createDhcpOptions([
    'DhcpConfigurations' => [ // REQUIRED
        [
            'Key' => '<string>',
            'Values' => ['<string>', ...],
        ],
        // ...
    ],
    'DryRun' => true || false,
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
DhcpConfigurations
  • Required: Yes
  • Type: Array of NewDhcpConfiguration structures

A DHCP configuration option.

DryRun
  • Type: boolean

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

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to assign to the DHCP option.

Result Syntax

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

Result Details

Members
DhcpOptions
  • Type: DhcpOptions structure

A set of DHCP options.

Errors

There are no errors described for this operation.

Examples

Example 1: To create a DHCP options set

This example creates a DHCP options set.

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

Result syntax:

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

CreateEgressOnlyInternetGateway

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

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

Parameter Syntax

$result = $client->createEgressOnlyInternetGateway([
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'VpcId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ClientToken
  • Type: string

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

DryRun
  • Type: boolean

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

TagSpecifications
  • Type: Array of TagSpecification structures

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

VpcId
  • Required: Yes
  • Type: string

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

Result Syntax

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

Result Details

Members
ClientToken
  • Type: string

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

EgressOnlyInternetGateway
  • Type: EgressOnlyInternetGateway structure

Information about the egress-only internet gateway.

Errors

There are no errors described for this operation.

CreateFleet

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

Launches an EC2 Fleet.

You can create a single EC2 Fleet that includes multiple launch specifications that vary by instance type, AMI, Availability Zone, or subnet.

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

Parameter Syntax

$result = $client->createFleet([
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'ExcessCapacityTerminationPolicy' => 'no-termination|termination',
    'LaunchTemplateConfigs' => [ // REQUIRED
        [
            'LaunchTemplateSpecification' => [
                'LaunchTemplateId' => '<string>',
                'LaunchTemplateName' => '<string>',
                'Version' => '<string>',
            ],
            'Overrides' => [
                [
                    'AvailabilityZone' => '<string>',
                    'InstanceType' => 't1.micro|t2.nano|t2.micro|t2.small|t2.medium|t2.large|t2.xlarge|t2.2xlarge|t3.nano|t3.micro|t3.small|t3.medium|t3.large|t3.xlarge|t3.2xlarge|t3a.nano|t3a.micro|t3a.small|t3a.medium|t3a.large|t3a.xlarge|t3a.2xlarge|t4g.nano|t4g.micro|t4g.small|t4g.medium|t4g.large|t4g.xlarge|t4g.2xlarge|m1.small|m1.medium|m1.large|m1.xlarge|m3.medium|m3.large|m3.xlarge|m3.2xlarge|m4.large|m4.xlarge|m4.2xlarge|m4.4xlarge|m4.10xlarge|m4.16xlarge|m2.xlarge|m2.2xlarge|m2.4xlarge|cr1.8xlarge|r3.large|r3.xlarge|r3.2xlarge|r3.4xlarge|r3.8xlarge|r4.large|r4.xlarge|r4.2xlarge|r4.4xlarge|r4.8xlarge|r4.16xlarge|r5.large|r5.xlarge|r5.2xlarge|r5.4xlarge|r5.8xlarge|r5.12xlarge|r5.16xlarge|r5.24xlarge|r5.metal|r5a.large|r5a.xlarge|r5a.2xlarge|r5a.4xlarge|r5a.8xlarge|r5a.12xlarge|r5a.16xlarge|r5a.24xlarge|r5b.large|r5b.xlarge|r5b.2xlarge|r5b.4xlarge|r5b.8xlarge|r5b.12xlarge|r5b.16xlarge|r5b.24xlarge|r5b.metal|r5d.large|r5d.xlarge|r5d.2xlarge|r5d.4xlarge|r5d.8xlarge|r5d.12xlarge|r5d.16xlarge|r5d.24xlarge|r5d.metal|r5ad.large|r5ad.xlarge|r5ad.2xlarge|r5ad.4xlarge|r5ad.8xlarge|r5ad.12xlarge|r5ad.16xlarge|r5ad.24xlarge|r6g.metal|r6g.medium|r6g.large|r6g.xlarge|r6g.2xlarge|r6g.4xlarge|r6g.8xlarge|r6g.12xlarge|r6g.16xlarge|r6gd.metal|r6gd.medium|r6gd.large|r6gd.xlarge|r6gd.2xlarge|r6gd.4xlarge|r6gd.8xlarge|r6gd.12xlarge|r6gd.16xlarge|x1.16xlarge|x1.32xlarge|x1e.xlarge|x1e.2xlarge|x1e.4xlarge|x1e.8xlarge|x1e.16xlarge|x1e.32xlarge|i2.xlarge|i2.2xlarge|i2.4xlarge|i2.8xlarge|i3.large|i3.xlarge|i3.2xlarge|i3.4xlarge|i3.8xlarge|i3.16xlarge|i3.metal|i3en.large|i3en.xlarge|i3en.2xlarge|i3en.3xlarge|i3en.6xlarge|i3en.12xlarge|i3en.24xlarge|i3en.metal|hi1.4xlarge|hs1.8xlarge|c1.medium|c1.xlarge|c3.large|c3.xlarge|c3.2xlarge|c3.4xlarge|c3.8xlarge|c4.large|c4.xlarge|c4.2xlarge|c4.4xlarge|c4.8xlarge|c5.large|c5.xlarge|c5.2xlarge|c5.4xlarge|c5.9xlarge|c5.12xlarge|c5.18xlarge|c5.24xlarge|c5.metal|c5a.large|c5a.xlarge|c5a.2xlarge|c5a.4xlarge|c5a.8xlarge|c5a.12xlarge|c5a.16xlarge|c5a.24xlarge|c5ad.large|c5ad.xlarge|c5ad.2xlarge|c5ad.4xlarge|c5ad.8xlarge|c5ad.12xlarge|c5ad.16xlarge|c5ad.24xlarge|c5d.large|c5d.xlarge|c5d.2xlarge|c5d.4xlarge|c5d.9xlarge|c5d.12xlarge|c5d.18xlarge|c5d.24xlarge|c5d.metal|c5n.large|c5n.xlarge|c5n.2xlarge|c5n.4xlarge|c5n.9xlarge|c5n.18xlarge|c5n.metal|c6g.metal|c6g.medium|c6g.large|c6g.xlarge|c6g.2xlarge|c6g.4xlarge|c6g.8xlarge|c6g.12xlarge|c6g.16xlarge|c6gd.metal|c6gd.medium|c6gd.large|c6gd.xlarge|c6gd.2xlarge|c6gd.4xlarge|c6gd.8xlarge|c6gd.12xlarge|c6gd.16xlarge|c6gn.medium|c6gn.large|c6gn.xlarge|c6gn.2xlarge|c6gn.4xlarge|c6gn.8xlarge|c6gn.12xlarge|c6gn.16xlarge|cc1.4xlarge|cc2.8xlarge|g2.2xlarge|g2.8xlarge|g3.4xlarge|g3.8xlarge|g3.16xlarge|g3s.xlarge|g4ad.4xlarge|g4ad.8xlarge|g4ad.16xlarge|g4dn.xlarge|g4dn.2xlarge|g4dn.4xlarge|g4dn.8xlarge|g4dn.12xlarge|g4dn.16xlarge|g4dn.metal|cg1.4xlarge|p2.xlarge|p2.8xlarge|p2.16xlarge|p3.2xlarge|p3.8xlarge|p3.16xlarge|p3dn.24xlarge|p4d.24xlarge|d2.xlarge|d2.2xlarge|d2.4xlarge|d2.8xlarge|d3.xlarge|d3.2xlarge|d3.4xlarge|d3.8xlarge|d3en.xlarge|d3en.2xlarge|d3en.4xlarge|d3en.6xlarge|d3en.8xlarge|d3en.12xlarge|f1.2xlarge|f1.4xlarge|f1.16xlarge|m5.large|m5.xlarge|m5.2xlarge|m5.4xlarge|m5.8xlarge|m5.12xlarge|m5.16xlarge|m5.24xlarge|m5.metal|m5a.large|m5a.xlarge|m5a.2xlarge|m5a.4xlarge|m5a.8xlarge|m5a.12xlarge|m5a.16xlarge|m5a.24xlarge|m5d.large|m5d.xlarge|m5d.2xlarge|m5d.4xlarge|m5d.8xlarge|m5d.12xlarge|m5d.16xlarge|m5d.24xlarge|m5d.metal|m5ad.large|m5ad.xlarge|m5ad.2xlarge|m5ad.4xlarge|m5ad.8xlarge|m5ad.12xlarge|m5ad.16xlarge|m5ad.24xlarge|m5zn.large|m5zn.xlarge|m5zn.2xlarge|m5zn.3xlarge|m5zn.6xlarge|m5zn.12xlarge|m5zn.metal|h1.2xlarge|h1.4xlarge|h1.8xlarge|h1.16xlarge|z1d.large|z1d.xlarge|z1d.2xlarge|z1d.3xlarge|z1d.6xlarge|z1d.12xlarge|z1d.metal|u-6tb1.metal|u-9tb1.metal|u-12tb1.metal|u-18tb1.metal|u-24tb1.metal|a1.medium|a1.large|a1.xlarge|a1.2xlarge|a1.4xlarge|a1.metal|m5dn.large|m5dn.xlarge|m5dn.2xlarge|m5dn.4xlarge|m5dn.8xlarge|m5dn.12xlarge|m5dn.16xlarge|m5dn.24xlarge|m5n.large|m5n.xlarge|m5n.2xlarge|m5n.4xlarge|m5n.8xlarge|m5n.12xlarge|m5n.16xlarge|m5n.24xlarge|r5dn.large|r5dn.xlarge|r5dn.2xlarge|r5dn.4xlarge|r5dn.8xlarge|r5dn.12xlarge|r5dn.16xlarge|r5dn.24xlarge|r5n.large|r5n.xlarge|r5n.2xlarge|r5n.4xlarge|r5n.8xlarge|r5n.12xlarge|r5n.16xlarge|r5n.24xlarge|inf1.xlarge|inf1.2xlarge|inf1.6xlarge|inf1.24xlarge|m6g.metal|m6g.medium|m6g.large|m6g.xlarge|m6g.2xlarge|m6g.4xlarge|m6g.8xlarge|m6g.12xlarge|m6g.16xlarge|m6gd.metal|m6gd.medium|m6gd.large|m6gd.xlarge|m6gd.2xlarge|m6gd.4xlarge|m6gd.8xlarge|m6gd.12xlarge|m6gd.16xlarge|mac1.metal|x2gd.medium|x2gd.large|x2gd.xlarge|x2gd.2xlarge|x2gd.4xlarge|x2gd.8xlarge|x2gd.12xlarge|x2gd.16xlarge|x2gd.metal',
                    'MaxPrice' => '<string>',
                    'Placement' => [
                        'Affinity' => '<string>',
                        'AvailabilityZone' => '<string>',
                        'GroupName' => '<string>',
                        'HostId' => '<string>',
                        'HostResourceGroupArn' => '<string>',
                        'PartitionNumber' => <integer>,
                        'SpreadDomain' => '<string>',
                        'Tenancy' => 'default|dedicated|host',
                    ],
                    'Priority' => <float>,
                    'SubnetId' => '<string>',
                    'WeightedCapacity' => <float>,
                ],
                // ...
            ],
        ],
        // ...
    ],
    'OnDemandOptions' => [
        'AllocationStrategy' => 'lowest-price|prioritized',
        'CapacityReservationOptions' => [
            'UsageStrategy' => 'use-capacity-reservations-first',
        ],
        'MaxTotalPrice' => '<string>',
        'MinTargetCapacity' => <integer>,
        'SingleAvailabilityZone' => true || false,
        'SingleInstanceType' => true || false,
    ],
    'ReplaceUnhealthyInstances' => true || false,
    'SpotOptions' => [
        'AllocationStrategy' => 'lowest-price|diversified|capacity-optimized|capacity-optimized-prioritized',
        'InstanceInterruptionBehavior' => 'hibernate|stop|terminate',
        'InstancePoolsToUseCount' => <integer>,
        'MaintenanceStrategies' => [
            'CapacityRebalance' => [
                'ReplacementStrategy' => 'launch',
            ],
        ],
        'MaxTotalPrice' => '<string>',
        'MinTargetCapacity' => <integer>,
        'SingleAvailabilityZone' => true || false,
        'SingleInstanceType' => true || false,
    ],
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'TargetCapacitySpecification' => [ // REQUIRED
        'DefaultTargetCapacityType' => 'spot|on-demand',
        'OnDemandTargetCapacity' => <integer>,
        'SpotTargetCapacity' => <integer>,
        'TotalTargetCapacity' => <integer>, // REQUIRED
    ],
    'TerminateInstancesWithExpiration' => true || false,
    'Type' => 'request|maintain|instant',
    'ValidFrom' => <integer || string || DateTime>,
    'ValidUntil' => <integer || string || DateTime>,
]);

Parameter Details

Members
ClientToken
  • Type: string

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

DryRun
  • Type: boolean

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

ExcessCapacityTerminationPolicy
  • Type: string

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

LaunchTemplateConfigs
  • Required: Yes
  • Type: Array of FleetLaunchTemplateConfigRequest structures

The configuration for the EC2 Fleet.

OnDemandOptions
  • Type: OnDemandOptionsRequest structure

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

ReplaceUnhealthyInstances
  • Type: boolean

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

SpotOptions
  • Type: SpotOptionsRequest structure

Describes the configuration of Spot Instances in an EC2 Fleet.

TagSpecifications
  • Type: Array of TagSpecification structures

The key-value pair for tagging the EC2 Fleet request on creation. The value for ResourceType must be fleet, otherwise the fleet request fails. To tag instances at launch, specify the tags in the launch template. For information about tagging after launch, see Tagging your resources.

TargetCapacitySpecification
  • Required: Yes
  • Type: TargetCapacitySpecificationRequest structure

The number of units to request.

TerminateInstancesWithExpiration
  • Type: boolean

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

Type
  • Type: string

The type of request. The default value is maintain.

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

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

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

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

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

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

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

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

Result Syntax

[
    'Errors' => [
        [
            'ErrorCode' => '<string>',
            'ErrorMessage' => '<string>',
            'LaunchTemplateAndOverrides' => [
                'LaunchTemplateSpecification' => [
                    'LaunchTemplateId' => '<string>',
                    'LaunchTemplateName' => '<string>',
                    'Version' => '<string>',
                ],
                'Overrides' => [
                    'AvailabilityZone' => '<string>',
                    'InstanceType' => 't1.micro|t2.nano|t2.micro|t2.small|t2.medium|t2.large|t2.xlarge|t2.2xlarge|t3.nano|t3.micro|t3.small|t3.medium|t3.large|t3.xlarge|t3.2xlarge|t3a.nano|t3a.micro|t3a.small|t3a.medium|t3a.large|t3a.xlarge|t3a.2xlarge|t4g.nano|t4g.micro|t4g.small|t4g.medium|t4g.large|t4g.xlarge|t4g.2xlarge|m1.small|m1.medium|m1.large|m1.xlarge|m3.medium|m3.large|m3.xlarge|m3.2xlarge|m4.large|m4.xlarge|m4.2xlarge|m4.4xlarge|m4.10xlarge|m4.16xlarge|m2.xlarge|m2.2xlarge|m2.4xlarge|cr1.8xlarge|r3.large|r3.xlarge|r3.2xlarge|r3.4xlarge|r3.8xlarge|r4.large|r4.xlarge|r4.2xlarge|r4.4xlarge|r4.8xlarge|r4.16xlarge|r5.large|r5.xlarge|r5.2xlarge|r5.4xlarge|r5.8xlarge|r5.12xlarge|r5.16xlarge|r5.24xlarge|r5.metal|r5a.large|r5a.xlarge|r5a.2xlarge|r5a.4xlarge|r5a.8xlarge|r5a.12xlarge|r5a.16xlarge|r5a.24xlarge|r5b.large|r5b.xlarge|r5b.2xlarge|r5b.4xlarge|r5b.8xlarge|r5b.12xlarge|r5b.16xlarge|r5b.24xlarge|r5b.metal|r5d.large|r5d.xlarge|r5d.2xlarge|r5d.4xlarge|r5d.8xlarge|r5d.12xlarge|r5d.16xlarge|r5d.24xlarge|r5d.metal|r5ad.large|r5ad.xlarge|r5ad.2xlarge|r5ad.4xlarge|r5ad.8xlarge|r5ad.12xlarge|r5ad.16xlarge|r5ad.24xlarge|r6g.metal|r6g.medium|r6g.large|r6g.xlarge|r6g.2xlarge|r6g.4xlarge|r6g.8xlarge|r6g.12xlarge|r6g.16xlarge|r6gd.metal|r6gd.medium|r6gd.large|r6gd.xlarge|r6gd.2xlarge|r6gd.4xlarge|r6gd.8xlarge|r6gd.12xlarge|r6gd.16xlarge|x1.16xlarge|x1.32xlarge|x1e.xlarge|x1e.2xlarge|x1e.4xlarge|x1e.8xlarge|x1e.16xlarge|x1e.32xlarge|i2.xlarge|i2.2xlarge|i2.4xlarge|i2.8xlarge|i3.large|i3.xlarge|i3.2xlarge|i3.4xlarge|i3.8xlarge|i3.16xlarge|i3.metal|i3en.large|i3en.xlarge|i3en.2xlarge|i3en.3xlarge|i3en.6xlarge|i3en.12xlarge|i3en.24xlarge|i3en.metal|hi1.4xlarge|hs1.8xlarge|c1.medium|c1.xlarge|c3.large|c3.xlarge|c3.2xlarge|c3.4xlarge|c3.8xlarge|c4.large|c4.xlarge|c4.2xlarge|c4.4xlarge|c4.8xlarge|c5.large|c5.xlarge|c5.2xlarge|c5.4xlarge|c5.9xlarge|c5.12xlarge|c5.18xlarge|c5.24xlarge|c5.metal|c5a.large|c5a.xlarge|c5a.2xlarge|c5a.4xlarge|c5a.8xlarge|c5a.12xlarge|c5a.16xlarge|c5a.24xlarge|c5ad.large|c5ad.xlarge|c5ad.2xlarge|c5ad.4xlarge|c5ad.8xlarge|c5ad.12xlarge|c5ad.16xlarge|c5ad.24xlarge|c5d.large|c5d.xlarge|c5d.2xlarge|c5d.4xlarge|c5d.9xlarge|c5d.12xlarge|c5d.18xlarge|c5d.24xlarge|c5d.metal|c5n.large|c5n.xlarge|c5n.2xlarge|c5n.4xlarge|c5n.9xlarge|c5n.18xlarge|c5n.metal|c6g.metal|c6g.medium|c6g.large|c6g.xlarge|c6g.2xlarge|c6g.4xlarge|c6g.8xlarge|c6g.12xlarge|c6g.16xlarge|c6gd.metal|c6gd.medium|c6gd.large|c6gd.xlarge|c6gd.2xlarge|c6gd.4xlarge|c6gd.8xlarge|c6gd.12xlarge|c6gd.16xlarge|c6gn.medium|c6gn.large|c6gn.xlarge|c6gn.2xlarge|c6gn.4xlarge|c6gn.8xlarge|c6gn.12xlarge|c6gn.16xlarge|cc1.4xlarge|cc2.8xlarge|g2.2xlarge|g2.8xlarge|g3.4xlarge|g3.8xlarge|g3.16xlarge|g3s.xlarge|g4ad.4xlarge|g4ad.8xlarge|g4ad.16xlarge|g4dn.xlarge|g4dn.2xlarge|g4dn.4xlarge|g4dn.8xlarge|g4dn.12xlarge|g4dn.16xlarge|g4dn.metal|cg1.4xlarge|p2.xlarge|p2.8xlarge|p2.16xlarge|p3.2xlarge|p3.8xlarge|p3.16xlarge|p3dn.24xlarge|p4d.24xlarge|d2.xlarge|d2.2xlarge|d2.4xlarge|d2.8xlarge|d3.xlarge|d3.2xlarge|d3.4xlarge|d3.8xlarge|d3en.xlarge|d3en.2xlarge|d3en.4xlarge|d3en.6xlarge|d3en.8xlarge|d3en.12xlarge|f1.2xlarge|f1.4xlarge|f1.16xlarge|m5.large|m5.xlarge|m5.2xlarge|m5.4xlarge|m5.8xlarge|m5.12xlarge|m5.16xlarge|m5.24xlarge|m5.metal|m5a.large|m5a.xlarge|m5a.2xlarge|m5a.4xlarge|m5a.8xlarge|m5a.12xlarge|m5a.16xlarge|m5a.24xlarge|m5d.large|m5d.xlarge|m5d.2xlarge|m5d.4xlarge|m5d.8xlarge|m5d.12xlarge|m5d.16xlarge|m5d.24xlarge|m5d.metal|m5ad.large|m5ad.xlarge|m5ad.2xlarge|m5ad.4xlarge|m5ad.8xlarge|m5ad.12xlarge|m5ad.16xlarge|m5ad.24xlarge|m5zn.large|m5zn.xlarge|m5zn.2xlarge|m5zn.3xlarge|m5zn.6xlarge|m5zn.12xlarge|m5zn.metal|h1.2xlarge|h1.4xlarge|h1.8xlarge|h1.16xlarge|z1d.large|z1d.xlarge|z1d.2xlarge|z1d.3xlarge|z1d.6xlarge|z1d.12xlarge|z1d.metal|u-6tb1.metal|u-9tb1.metal|u-12tb1.metal|u-18tb1.metal|u-24tb1.metal|a1.medium|a1.large|a1.xlarge|a1.2xlarge|a1.4xlarge|a1.metal|m5dn.large|m5dn.xlarge|m5dn.2xlarge|m5dn.4xlarge|m5dn.8xlarge|m5dn.12xlarge|m5dn.16xlarge|m5dn.24xlarge|m5n.large|m5n.xlarge|m5n.2xlarge|m5n.4xlarge|m5n.8xlarge|m5n.12xlarge|m5n.16xlarge|m5n.24xlarge|r5dn.large|r5dn.xlarge|r5dn.2xlarge|r5dn.4xlarge|r5dn.8xlarge|r5dn.12xlarge|r5dn.16xlarge|r5dn.24xlarge|r5n.large|r5n.xlarge|r5n.2xlarge|r5n.4xlarge|r5n.8xlarge|r5n.12xlarge|r5n.16xlarge|r5n.24xlarge|inf1.xlarge|inf1.2xlarge|inf1.6xlarge|inf1.24xlarge|m6g.metal|m6g.medium|m6g.large|m6g.xlarge|m6g.2xlarge|m6g.4xlarge|m6g.8xlarge|m6g.12xlarge|m6g.16xlarge|m6gd.metal|m6gd.medium|m6gd.large|m6gd.xlarge|m6gd.2xlarge|m6gd.4xlarge|m6gd.8xlarge|m6gd.12xlarge|m6gd.16xlarge|mac1.metal|x2gd.medium|x2gd.large|x2gd.xlarge|x2gd.2xlarge|x2gd.4xlarge|x2gd.8xlarge|x2gd.12xlarge|x2gd.16xlarge|x2gd.metal',
                    'MaxPrice' => '<string>',
                    'Placement' => [
                        'GroupName' => '<string>',
                    ],
                    'Priority' => <float>,
                    'SubnetId' => '<string>',
                    'WeightedCapacity' => <float>,
                ],
            ],
            'Lifecycle' => 'spot|on-demand',
        ],
        // ...
    ],
    'FleetId' => '<string>',
    'Instances' => [
        [
            'InstanceIds' => ['<string>', ...],
            'InstanceType' => 't1.micro|t2.nano|t2.micro|t2.small|t2.medium|t2.large|t2.xlarge|t2.2xlarge|t3.nano|t3.micro|t3.small|t3.medium|t3.large|t3.xlarge|t3.2xlarge|t3a.nano|t3a.micro|t3a.small|t3a.medium|t3a.large|t3a.xlarge|t3a.2xlarge|t4g.nano|t4g.micro|t4g.small|t4g.medium|t4g.large|t4g.xlarge|t4g.2xlarge|m1.small|m1.medium|m1.large|m1.xlarge|m3.medium|m3.large|m3.xlarge|m3.2xlarge|m4.large|m4.xlarge|m4.2xlarge|m4.4xlarge|m4.10xlarge|m4.16xlarge|m2.xlarge|m2.2xlarge|m2.4xlarge|cr1.8xlarge|r3.large|r3.xlarge|r3.2xlarge|r3.4xlarge|r3.8xlarge|r4.large|r4.xlarge|r4.2xlarge|r4.4xlarge|r4.8xlarge|r4.16xlarge|r5.large|r5.xlarge|r5.2xlarge|r5.4xlarge|r5.8xlarge|r5.12xlarge|r5.16xlarge|r5.24xlarge|r5.metal|r5a.large|r5a.xlarge|r5a.2xlarge|r5a.4xlarge|r5a.8xlarge|r5a.12xlarge|r5a.16xlarge|r5a.24xlarge|r5b.large|r5b.xlarge|r5b.2xlarge|r5b.4xlarge|r5b.8xlarge|r5b.12xlarge|r5b.16xlarge|r5b.24xlarge|r5b.metal|r5d.large|r5d.xlarge|r5d.2xlarge|r5d.4xlarge|r5d.8xlarge|r5d.12xlarge|r5d.16xlarge|r5d.24xlarge|r5d.metal|r5ad.large|r5ad.xlarge|r5ad.2xlarge|r5ad.4xlarge|r5ad.8xlarge|r5ad.12xlarge|r5ad.16xlarge|r5ad.24xlarge|r6g.metal|r6g.medium|r6g.large|r6g.xlarge|r6g.2xlarge|r6g.4xlarge|r6g.8xlarge|r6g.12xlarge|r6g.16xlarge|r6gd.metal|r6gd.medium|r6gd.large|r6gd.xlarge|r6gd.2xlarge|r6gd.4xlarge|r6gd.8xlarge|r6gd.12xlarge|r6gd.16xlarge|x1.16xlarge|x1.32xlarge|x1e.xlarge|x1e.2xlarge|x1e.4xlarge|x1e.8xlarge|x1e.16xlarge|x1e.32xlarge|i2.xlarge|i2.2xlarge|i2.4xlarge|i2.8xlarge|i3.large|i3.xlarge|i3.2xlarge|i3.4xlarge|i3.8xlarge|i3.16xlarge|i3.metal|i3en.large|i3en.xlarge|i3en.2xlarge|i3en.3xlarge|i3en.6xlarge|i3en.12xlarge|i3en.24xlarge|i3en.metal|hi1.4xlarge|hs1.8xlarge|c1.medium|c1.xlarge|c3.large|c3.xlarge|c3.2xlarge|c3.4xlarge|c3.8xlarge|c4.large|c4.xlarge|c4.2xlarge|c4.4xlarge|c4.8xlarge|c5.large|c5.xlarge|c5.2xlarge|c5.4xlarge|c5.9xlarge|c5.12xlarge|c5.18xlarge|c5.24xlarge|c5.metal|c5a.large|c5a.xlarge|c5a.2xlarge|c5a.4xlarge|c5a.8xlarge|c5a.12xlarge|c5a.16xlarge|c5a.24xlarge|c5ad.large|c5ad.xlarge|c5ad.2xlarge|c5ad.4xlarge|c5ad.8xlarge|c5ad.12xlarge|c5ad.16xlarge|c5ad.24xlarge|c5d.large|c5d.xlarge|c5d.2xlarge|c5d.4xlarge|c5d.9xlarge|c5d.12xlarge|c5d.18xlarge|c5d.24xlarge|c5d.metal|c5n.large|c5n.xlarge|c5n.2xlarge|c5n.4xlarge|c5n.9xlarge|c5n.18xlarge|c5n.metal|c6g.metal|c6g.medium|c6g.large|c6g.xlarge|c6g.2xlarge|c6g.4xlarge|c6g.8xlarge|c6g.12xlarge|c6g.16xlarge|c6gd.metal|c6gd.medium|c6gd.large|c6gd.xlarge|c6gd.2xlarge|c6gd.4xlarge|c6gd.8xlarge|c6gd.12xlarge|c6gd.16xlarge|c6gn.medium|c6gn.large|c6gn.xlarge|c6gn.2xlarge|c6gn.4xlarge|c6gn.8xlarge|c6gn.12xlarge|c6gn.16xlarge|cc1.4xlarge|cc2.8xlarge|g2.2xlarge|g2.8xlarge|g3.4xlarge|g3.8xlarge|g3.16xlarge|g3s.xlarge|g4ad.4xlarge|g4ad.8xlarge|g4ad.16xlarge|g4dn.xlarge|g4dn.2xlarge|g4dn.4xlarge|g4dn.8xlarge|g4dn.12xlarge|g4dn.16xlarge|g4dn.metal|cg1.4xlarge|p2.xlarge|p2.8xlarge|p2.16xlarge|p3.2xlarge|p3.8xlarge|p3.16xlarge|p3dn.24xlarge|p4d.24xlarge|d2.xlarge|d2.2xlarge|d2.4xlarge|d2.8xlarge|d3.xlarge|d3.2xlarge|d3.4xlarge|d3.8xlarge|d3en.xlarge|d3en.2xlarge|d3en.4xlarge|d3en.6xlarge|d3en.8xlarge|d3en.12xlarge|f1.2xlarge|f1.4xlarge|f1.16xlarge|m5.large|m5.xlarge|m5.2xlarge|m5.4xlarge|m5.8xlarge|m5.12xlarge|m5.16xlarge|m5.24xlarge|m5.metal|m5a.large|m5a.xlarge|m5a.2xlarge|m5a.4xlarge|m5a.8xlarge|m5a.12xlarge|m5a.16xlarge|m5a.24xlarge|m5d.large|m5d.xlarge|m5d.2xlarge|m5d.4xlarge|m5d.8xlarge|m5d.12xlarge|m5d.16xlarge|m5d.24xlarge|m5d.metal|m5ad.large|m5ad.xlarge|m5ad.2xlarge|m5ad.4xlarge|m5ad.8xlarge|m5ad.12xlarge|m5ad.16xlarge|m5ad.24xlarge|m5zn.large|m5zn.xlarge|m5zn.2xlarge|m5zn.3xlarge|m5zn.6xlarge|m5zn.12xlarge|m5zn.metal|h1.2xlarge|h1.4xlarge|h1.8xlarge|h1.16xlarge|z1d.large|z1d.xlarge|z1d.2xlarge|z1d.3xlarge|z1d.6xlarge|z1d.12xlarge|z1d.metal|u-6tb1.metal|u-9tb1.metal|u-12tb1.metal|u-18tb1.metal|u-24tb1.metal|a1.medium|a1.large|a1.xlarge|a1.2xlarge|a1.4xlarge|a1.metal|m5dn.large|m5dn.xlarge|m5dn.2xlarge|m5dn.4xlarge|m5dn.8xlarge|m5dn.12xlarge|m5dn.16xlarge|m5dn.24xlarge|m5n.large|m5n.xlarge|m5n.2xlarge|m5n.4xlarge|m5n.8xlarge|m5n.12xlarge|m5n.16xlarge|m5n.24xlarge|r5dn.large|r5dn.xlarge|r5dn.2xlarge|r5dn.4xlarge|r5dn.8xlarge|r5dn.12xlarge|r5dn.16xlarge|r5dn.24xlarge|r5n.large|r5n.xlarge|r5n.2xlarge|r5n.4xlarge|r5n.8xlarge|r5n.12xlarge|r5n.16xlarge|r5n.24xlarge|inf1.xlarge|inf1.2xlarge|inf1.6xlarge|inf1.24xlarge|m6g.metal|m6g.medium|m6g.large|m6g.xlarge|m6g.2xlarge|m6g.4xlarge|m6g.8xlarge|m6g.12xlarge|m6g.16xlarge|m6gd.metal|m6gd.medium|m6gd.large|m6gd.xlarge|m6gd.2xlarge|m6gd.4xlarge|m6gd.8xlarge|m6gd.12xlarge|m6gd.16xlarge|mac1.metal|x2gd.medium|x2gd.large|x2gd.xlarge|x2gd.2xlarge|x2gd.4xlarge|x2gd.8xlarge|x2gd.12xlarge|x2gd.16xlarge|x2gd.metal',
            'LaunchTemplateAndOverrides' => [
                'LaunchTemplateSpecification' => [
                    'LaunchTemplateId' => '<string>',
                    'LaunchTemplateName' => '<string>',
                    'Version' => '<string>',
                ],
                'Overrides' => [
                    'AvailabilityZone' => '<string>',
                    'InstanceType' => 't1.micro|t2.nano|t2.micro|t2.small|t2.medium|t2.large|t2.xlarge|t2.2xlarge|t3.nano|t3.micro|t3.small|t3.medium|t3.large|t3.xlarge|t3.2xlarge|t3a.nano|t3a.micro|t3a.small|t3a.medium|t3a.large|t3a.xlarge|t3a.2xlarge|t4g.nano|t4g.micro|t4g.small|t4g.medium|t4g.large|t4g.xlarge|t4g.2xlarge|m1.small|m1.medium|m1.large|m1.xlarge|m3.medium|m3.large|m3.xlarge|m3.2xlarge|m4.large|m4.xlarge|m4.2xlarge|m4.4xlarge|m4.10xlarge|m4.16xlarge|m2.xlarge|m2.2xlarge|m2.4xlarge|cr1.8xlarge|r3.large|r3.xlarge|r3.2xlarge|r3.4xlarge|r3.8xlarge|r4.large|r4.xlarge|r4.2xlarge|r4.4xlarge|r4.8xlarge|r4.16xlarge|r5.large|r5.xlarge|r5.2xlarge|r5.4xlarge|r5.8xlarge|r5.12xlarge|r5.16xlarge|r5.24xlarge|r5.metal|r5a.large|r5a.xlarge|r5a.2xlarge|r5a.4xlarge|r5a.8xlarge|r5a.12xlarge|r5a.16xlarge|r5a.24xlarge|r5b.large|r5b.xlarge|r5b.2xlarge|r5b.4xlarge|r5b.8xlarge|r5b.12xlarge|r5b.16xlarge|r5b.24xlarge|r5b.metal|r5d.large|r5d.xlarge|r5d.2xlarge|r5d.4xlarge|r5d.8xlarge|r5d.12xlarge|r5d.16xlarge|r5d.24xlarge|r5d.metal|r5ad.large|r5ad.xlarge|r5ad.2xlarge|r5ad.4xlarge|r5ad.8xlarge|r5ad.12xlarge|r5ad.16xlarge|r5ad.24xlarge|r6g.metal|r6g.medium|r6g.large|r6g.xlarge|r6g.2xlarge|r6g.4xlarge|r6g.8xlarge|r6g.12xlarge|r6g.16xlarge|r6gd.metal|r6gd.medium|r6gd.large|r6gd.xlarge|r6gd.2xlarge|r6gd.4xlarge|r6gd.8xlarge|r6gd.12xlarge|r6gd.16xlarge|x1.16xlarge|x1.32xlarge|x1e.xlarge|x1e.2xlarge|x1e.4xlarge|x1e.8xlarge|x1e.16xlarge|x1e.32xlarge|i2.xlarge|i2.2xlarge|i2.4xlarge|i2.8xlarge|i3.large|i3.xlarge|i3.2xlarge|i3.4xlarge|i3.8xlarge|i3.16xlarge|i3.metal|i3en.large|i3en.xlarge|i3en.2xlarge|i3en.3xlarge|i3en.6xlarge|i3en.12xlarge|i3en.24xlarge|i3en.metal|hi1.4xlarge|hs1.8xlarge|c1.medium|c1.xlarge|c3.large|c3.xlarge|c3.2xlarge|c3.4xlarge|c3.8xlarge|c4.large|c4.xlarge|c4.2xlarge|c4.4xlarge|c4.8xlarge|c5.large|c5.xlarge|c5.2xlarge|c5.4xlarge|c5.9xlarge|c5.12xlarge|c5.18xlarge|c5.24xlarge|c5.metal|c5a.large|c5a.xlarge|c5a.2xlarge|c5a.4xlarge|c5a.8xlarge|c5a.12xlarge|c5a.16xlarge|c5a.24xlarge|c5ad.large|c5ad.xlarge|c5ad.2xlarge|c5ad.4xlarge|c5ad.8xlarge|c5ad.12xlarge|c5ad.16xlarge|c5ad.24xlarge|c5d.large|c5d.xlarge|c5d.2xlarge|c5d.4xlarge|c5d.9xlarge|c5d.12xlarge|c5d.18xlarge|c5d.24xlarge|c5d.metal|c5n.large|c5n.xlarge|c5n.2xlarge|c5n.4xlarge|c5n.9xlarge|c5n.18xlarge|c5n.metal|c6g.metal|c6g.medium|c6g.large|c6g.xlarge|c6g.2xlarge|c6g.4xlarge|c6g.8xlarge|c6g.12xlarge|c6g.16xlarge|c6gd.metal|c6gd.medium|c6gd.large|c6gd.xlarge|c6gd.2xlarge|c6gd.4xlarge|c6gd.8xlarge|c6gd.12xlarge|c6gd.16xlarge|c6gn.medium|c6gn.large|c6gn.xlarge|c6gn.2xlarge|c6gn.4xlarge|c6gn.8xlarge|c6gn.12xlarge|c6gn.16xlarge|cc1.4xlarge|cc2.8xlarge|g2.2xlarge|g2.8xlarge|g3.4xlarge|g3.8xlarge|g3.16xlarge|g3s.xlarge|g4ad.4xlarge|g4ad.8xlarge|g4ad.16xlarge|g4dn.xlarge|g4dn.2xlarge|g4dn.4xlarge|g4dn.8xlarge|g4dn.12xlarge|g4dn.16xlarge|g4dn.metal|cg1.4xlarge|p2.xlarge|p2.8xlarge|p2.16xlarge|p3.2xlarge|p3.8xlarge|p3.16xlarge|p3dn.24xlarge|p4d.24xlarge|d2.xlarge|d2.2xlarge|d2.4xlarge|d2.8xlarge|d3.xlarge|d3.2xlarge|d3.4xlarge|d3.8xlarge|d3en.xlarge|d3en.2xlarge|d3en.4xlarge|d3en.6xlarge|d3en.8xlarge|d3en.12xlarge|f1.2xlarge|f1.4xlarge|f1.16xlarge|m5.large|m5.xlarge|m5.2xlarge|m5.4xlarge|m5.8xlarge|m5.12xlarge|m5.16xlarge|m5.24xlarge|m5.metal|m5a.large|m5a.xlarge|m5a.2xlarge|m5a.4xlarge|m5a.8xlarge|m5a.12xlarge|m5a.16xlarge|m5a.24xlarge|m5d.large|m5d.xlarge|m5d.2xlarge|m5d.4xlarge|m5d.8xlarge|m5d.12xlarge|m5d.16xlarge|m5d.24xlarge|m5d.metal|m5ad.large|m5ad.xlarge|m5ad.2xlarge|m5ad.4xlarge|m5ad.8xlarge|m5ad.12xlarge|m5ad.16xlarge|m5ad.24xlarge|m5zn.large|m5zn.xlarge|m5zn.2xlarge|m5zn.3xlarge|m5zn.6xlarge|m5zn.12xlarge|m5zn.metal|h1.2xlarge|h1.4xlarge|h1.8xlarge|h1.16xlarge|z1d.large|z1d.xlarge|z1d.2xlarge|z1d.3xlarge|z1d.6xlarge|z1d.12xlarge|z1d.metal|u-6tb1.metal|u-9tb1.metal|u-12tb1.metal|u-18tb1.metal|u-24tb1.metal|a1.medium|a1.large|a1.xlarge|a1.2xlarge|a1.4xlarge|a1.metal|m5dn.large|m5dn.xlarge|m5dn.2xlarge|m5dn.4xlarge|m5dn.8xlarge|m5dn.12xlarge|m5dn.16xlarge|m5dn.24xlarge|m5n.large|m5n.xlarge|m5n.2xlarge|m5n.4xlarge|m5n.8xlarge|m5n.12xlarge|m5n.16xlarge|m5n.24xlarge|r5dn.large|r5dn.xlarge|r5dn.2xlarge|r5dn.4xlarge|r5dn.8xlarge|r5dn.12xlarge|r5dn.16xlarge|r5dn.24xlarge|r5n.large|r5n.xlarge|r5n.2xlarge|r5n.4xlarge|r5n.8xlarge|r5n.12xlarge|r5n.16xlarge|r5n.24xlarge|inf1.xlarge|inf1.2xlarge|inf1.6xlarge|inf1.24xlarge|m6g.metal|m6g.medium|m6g.large|m6g.xlarge|m6g.2xlarge|m6g.4xlarge|m6g.8xlarge|m6g.12xlarge|m6g.16xlarge|m6gd.metal|m6gd.medium|m6gd.large|m6gd.xlarge|m6gd.2xlarge|m6gd.4xlarge|m6gd.8xlarge|m6gd.12xlarge|m6gd.16xlarge|mac1.metal|x2gd.medium|x2gd.large|x2gd.xlarge|x2gd.2xlarge|x2gd.4xlarge|x2gd.8xlarge|x2gd.12xlarge|x2gd.16xlarge|x2gd.metal',
                    'MaxPrice' => '<string>',
                    'Placement' => [
                        'GroupName' => '<string>',
                    ],
                    'Priority' => <float>,
                    'SubnetId' => '<string>',
                    'WeightedCapacity' => <float>,
                ],
            ],
            'Lifecycle' => 'spot|on-demand',
            'Platform' => 'Windows',
        ],
        // ...
    ],
]

Result Details

Members
Errors
  • Type: Array of CreateFleetError structures

Information about the instances that could not be launched by the fleet. Valid only when Type is set to instant.

FleetId
  • Type: string

The ID of the EC2 Fleet.

Instances
  • Type: Array of CreateFleetInstance structures

Information about the instances that were launched by the fleet. Valid only when Type is set to instant.

Errors

There are no errors described for this operation.

CreateFlowLogs

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

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

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

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

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

Parameter Syntax

$result = $client->createFlowLogs([
    'ClientToken' => '<string>',
    'DeliverLogsPermissionArn' => '<string>',
    'DryRun' => true || false,
    'LogDestination' => '<string>',
    'LogDestinationType' => 'cloud-watch-logs|s3',
    'LogFormat' => '<string>',
    'LogGroupName' => '<string>',
    'MaxAggregationInterval' => <integer>,
    'ResourceIds' => ['<string>', ...], // REQUIRED
    'ResourceType' => 'VPC|Subnet|NetworkInterface', // REQUIRED
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'TrafficType' => 'ACCEPT|REJECT|ALL', // REQUIRED
]);

Parameter Details

Members
ClientToken
  • Type: string

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

DeliverLogsPermissionArn
  • Type: string

The ARN for the IAM role that permits Amazon EC2 to publish flow logs to a CloudWatch Logs log group in your account.

If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn or LogGroupName.

DryRun
  • Type: boolean

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

LogDestination
  • Type: string

Specifies the destination to which the flow log data is to be published. Flow log data can be published to a CloudWatch Logs log group or an Amazon S3 bucket. The value specified for this parameter depends on the value specified for LogDestinationType.

If LogDestinationType is not specified or cloud-watch-logs, specify the Amazon Resource Name (ARN) of the CloudWatch Logs log group. For example, to publish to a log group called my-logs, specify arn:aws:logs:us-east-1:123456789012:log-group:my-logs. Alternatively, use LogGroupName instead.

If LogDestinationType is s3, specify the ARN of the Amazon S3 bucket. You can also specify a subfolder in the bucket. To specify a subfolder in the bucket, use the following ARN format: bucket_ARN/subfolder_name/. For example, to specify a subfolder named my-logs in a bucket named my-bucket, use the following ARN: arn:aws:s3:::my-bucket/my-logs/. You cannot use AWSLogs as a subfolder name. This is a reserved term.

LogDestinationType
  • Type: string

Specifies the type of destination to which the flow log data is to be published. Flow log data can be published to CloudWatch Logs or Amazon S3. To publish flow log data to CloudWatch Logs, specify cloud-watch-logs. To publish flow log data to Amazon S3, specify s3.

If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn or LogGroupName.

Default: cloud-watch-logs

LogFormat
  • Type: string

The fields to include in the flow log record, in the order in which they should appear. For a list of available fields, see Flow Log Records. If you omit this parameter, the flow log is created using the default format. If you specify this parameter, you must specify at least one field.

Specify the fields using the ${field-id} format, separated by spaces. For the AWS CLI, use single quotation marks (' ') to surround the parameter value.

LogGroupName
  • Type: string

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

If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn or LogGroupName.

MaxAggregationInterval
  • Type: int

The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. You can specify 60 seconds (1 minute) or 600 seconds (10 minutes).

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

Default: 600

ResourceIds
  • Required: Yes
  • Type: Array of strings

The ID of the subnet, network interface, or VPC for which you want to create a flow log.

Constraints: Maximum of 1000 resources

ResourceType
  • Required: Yes
  • Type: string

The type of resource for which to create the flow log. For example, if you specified a VPC ID for the ResourceId property, specify VPC for this property.

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to apply to the flow logs.

TrafficType
  • Required: Yes
  • Type: string

The type of traffic to log. You can log traffic that the resource accepts or rejects, or all traffic.

Result Syntax

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

Result Details

Members
ClientToken
  • Type: string

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

FlowLogIds
  • Type: Array of strings

The IDs of the flow logs.

Unsuccessful
  • Type: Array of UnsuccessfulItem structures

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

Errors

There are no errors described for this operation.

CreateFpgaImage

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

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

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

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

Parameter Syntax

$result = $client->createFpgaImage([
    'ClientToken' => '<string>',
    'Description' => '<string>',
    'DryRun' => true || false,
    'InputStorageLocation' => [ // REQUIRED
        'Bucket' => '<string>',
        'Key' => '<string>',
    ],
    'LogsStorageLocation' => [
        'Bucket' => '<string>',
        'Key' => '<string>',
    ],
    'Name' => '<string>',
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
ClientToken
  • Type: string

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

Description
  • Type: string

A description for the AFI.

DryRun
  • Type: boolean

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

InputStorageLocation
  • Required: Yes
  • Type: StorageLocation structure

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

LogsStorageLocation
  • Type: StorageLocation structure

The location in Amazon S3 for the output logs.

Name
  • Type: string

A name for the AFI.

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to apply to the FPGA image during creation.

Result Syntax

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

Result Details

Members
FpgaImageGlobalId
  • Type: string

The global FPGA image identifier (AGFI ID).

FpgaImageId
  • Type: string

The FPGA image identifier (AFI ID).

Errors

There are no errors described for this operation.

CreateImage

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

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

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

For more information, see Creating Amazon EBS-Backed Linux AMIs in the Amazon Elastic Compute Cloud User Guide.

Parameter Syntax

$result = $client->createImage([
    'BlockDeviceMappings' => [
        [
            'DeviceName' => '<string>',
            'Ebs' => [
                'DeleteOnTermination' => true || false,
                'Encrypted' => true || false,
                'Iops' => <integer>,
                'KmsKeyId' => '<string>',
                'OutpostArn' => '<string>',
                'SnapshotId' => '<string>',
                'Throughput' => <integer>,
                'VolumeSize' => <integer>,
                'VolumeType' => 'standard|io1|io2|gp2|sc1|st1|gp3',
            ],
            'NoDevice' => '<string>',
            'VirtualName' => '<string>',
        ],
        // ...
    ],
    'Description' => '<string>',
    'DryRun' => true || false,
    'InstanceId' => '<string>', // REQUIRED
    'Name' => '<string>', // REQUIRED
    'NoReboot' => true || false,
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
BlockDeviceMappings
  • Type: Array of BlockDeviceMapping structures

The block device mappings. This parameter cannot be used to modify the encryption status of existing volumes or snapshots. To create an AMI with encrypted snapshots, use the CopyImage action.

Description
  • Type: string

A description for the new image.

DryRun
  • Type: boolean

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

InstanceId
  • Required: Yes
  • Type: string

The ID of the instance.

Name
  • Required: Yes
  • Type: string

A name for the new image.

Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

NoReboot
  • Type: boolean

By default, Amazon EC2 attempts to shut down and reboot the instance before creating the image. If the No Reboot option is set, Amazon EC2 doesn't shut down the instance before creating the image. When this option is used, file system integrity on the created image can't be guaranteed.

TagSpecifications
  • Type: Array of TagSpecification structures

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

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

  • To tag the snapshots that are created of the root volume and of other EBS volumes that are attached to the instance, the value for ResourceType must be snapshot. The same tag is applied to all of the snapshots that are created.

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

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

Result Syntax

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

Result Details

Members
ImageId
  • Type: string

The ID of the new AMI.

Errors

There are no errors described for this operation.

Examples

Example 1: To create an AMI from an Amazon EBS-backed instance

This example creates an AMI from the specified instance and adds an EBS volume with the device name /dev/sdh and an instance store volume with the device name /dev/sdc.

$result = $client->createImage([
    'BlockDeviceMappings' => [
        [
            'DeviceName' => '/dev/sdh',
            'Ebs' => [
                'VolumeSize' => 100,
            ],
        ],
        [
            'DeviceName' => '/dev/sdc',
            'VirtualName' => 'ephemeral1',
        ],
    ],
    'Description' => 'An AMI for my server',
    'InstanceId' => 'i-1234567890abcdef0',
    'Name' => 'My server',
    'NoReboot' => 1,
]);

Result syntax:

[
    'ImageId' => 'ami-1a2b3c4d',
]

CreateInstanceExportTask

$result = $client->createInstanceExportTask([/* ... */]);
$promise = $client->createInstanceExportTaskAsync([/* ... */]);

Exports a running or stopped instance to an Amazon S3 bucket.

For information about the supported operating systems, image formats, and known limitations for the types of instances you can export, see Exporting an instance as a VM Using VM Import/Export in the VM Import/Export User Guide.

Parameter Syntax

$result = $client->createInstanceExportTask([
    'Description' => '<string>',
    'ExportToS3Task' => [ // REQUIRED
        'ContainerFormat' => 'ova',
        'DiskImageFormat' => 'VMDK|RAW|VHD',
        'S3Bucket' => '<string>',
        'S3Prefix' => '<string>',
    ],
    'InstanceId' => '<string>', // REQUIRED
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'TargetEnvironment' => 'citrix|vmware|microsoft', // REQUIRED
]);

Parameter Details

Members
Description
  • Type: string

A description for the conversion task or the resource being exported. The maximum length is 255 characters.

ExportToS3Task
  • Required: Yes
  • Type: ExportToS3TaskSpecification structure

The format and location for an export instance task.

InstanceId
  • Required: Yes
  • Type: string

The ID of the instance.

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to apply to the export instance task during creation.

TargetEnvironment
  • Required: Yes
  • Type: string

The target virtualization environment.

Result Syntax

[
    'ExportTask' => [
        'Description' => '<string>',
        'ExportTaskId' => '<string>',
        'ExportToS3Task' => [
            'ContainerFormat' => 'ova',
            'DiskImageFormat' => 'VMDK|RAW|VHD',
            'S3Bucket' => '<string>',
            'S3Key' => '<string>',
        ],
        'InstanceExportDetails' => [
            'InstanceId' => '<string>',
            'TargetEnvironment' => 'citrix|vmware|microsoft',
        ],
        'State' => 'active|cancelling|cancelled|completed',
        'StatusMessage' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
ExportTask
  • Type: ExportTask structure

Information about the export instance task.

Errors

There are no errors described for this operation.

CreateInternetGateway

$result = $client->createInternetGateway([/* ... */]);
$promise = $client->createInternetGatewayAsync([/* ... */]);

Creates an internet gateway for use with a VPC. After creating the internet gateway, you attach it to a VPC using AttachInternetGateway.

For more information about your VPC and internet gateway, see the Amazon Virtual Private Cloud User Guide.

Parameter Syntax

$result = $client->createInternetGateway([
    'DryRun' => true || false,
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
DryRun
  • Type: boolean

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

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to assign to the internet gateway.

Result Syntax

[
    'InternetGateway' => [
        'Attachments' => [
            [
                'State' => 'attaching|attached|detaching|detached',
                'VpcId' => '<string>',
            ],
            // ...
        ],
        'InternetGatewayId' => '<string>',
        'OwnerId' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
InternetGateway
  • Type: InternetGateway structure

Information about the internet gateway.

Errors

There are no errors described for this operation.

Examples

Example 1: To create an Internet gateway

This example creates an Internet gateway.

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

Result syntax:

[
    'InternetGateway' => [
        'Attachments' => [
        ],
        'InternetGatewayId' => 'igw-c0a643a9',
        'Tags' => [
        ],
    ],
]

CreateKeyPair

$result = $client->createKeyPair([/* ... */]);
$promise = $client->createKeyPairAsync([/* ... */]);

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.

You can have up to five thousand key pairs per Region.

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

For more information, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

Parameter Syntax

$result = $client->createKeyPair([
    'DryRun' => true || false,
    'KeyName' => '<string>', // REQUIRED
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
DryRun
  • Type: boolean

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

KeyName
  • Required: Yes
  • Type: string

A unique name for the key pair.

Constraints: Up to 255 ASCII characters

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to apply to the new key pair.

Result Syntax

[
    'KeyFingerprint' => '<string>',
    'KeyMaterial' => '<string>',
    'KeyName' => '<string>',
    'KeyPairId' => '<string>',
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
KeyFingerprint
  • Type: string

The SHA-1 digest of the DER encoded private key.

KeyMaterial
  • Type: string

An unencrypted PEM encoded RSA private key.

KeyName
  • Type: string

The name of the key pair.

KeyPairId
  • Type: string

The ID of the key pair.

Tags
  • Type: Array of Tag structures

Any tags applied to the key pair.

Errors

There are no errors described for this operation.

Examples

Example 1: To create a key pair

This example creates a key pair named my-key-pair.

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

CreateLaunchTemplate

$result = $client->createLaunchTemplate([/* ... */]);
$promise = $client->createLaunchTemplateAsync([/* ... */]);

Creates a launch template. A launch template contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify a launch template instead of providing the launch parameters in the request. For more information, see Launching an instance from a launch templatein the Amazon Elastic Compute Cloud User Guide.

Parameter Syntax

$result = $client->createLaunchTemplate([
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'LaunchTemplateData' => [ // REQUIRED
        'BlockDeviceMappings' => [
            [
                'DeviceName' => '<string>',
                'Ebs' => [
                    'DeleteOnTermination' => true || false,
                    'Encrypted' => true || false,
                    'Iops' => <integer>,
                    'KmsKeyId' => '<string>',
                    'SnapshotId' => '<string>',
                    'Throughput' => <integer>,
                    'VolumeSize' => <integer>,
                    'VolumeType' => 'standard|io1|io2|gp2|sc1|st1|gp3',
                ],
                'NoDevice' => '<string>',
                'VirtualName' => '<string>',
            ],
            // ...
        ],
        'CapacityReservationSpecification' => [
            'CapacityReservationPreference' => 'open|none',
            'CapacityReservationTarget' => [
                'CapacityReservationId' => '<string>',
                'CapacityReservationResourceGroupArn' => '<string>',
            ],
        ],
        'CpuOptions' => [
            'CoreCount' => <integer>,
            'ThreadsPerCore' => <integer>,
        ],
        'CreditSpecification' => [
            'CpuCredits' => '<string>', // REQUIRED
        ],
        'DisableApiTermination' => true || false,
        'EbsOptimized' => true || false,
        'ElasticGpuSpecifications' => [
            [
                'Type' => '<string>', // REQUIRED
            ],
            // ...
        ],
        'ElasticInferenceAccelerators' => [
            [
                'Count' => <integer>,
                'Type' => '<string>', // REQUIRED
            ],
            // ...
        ],
        'EnclaveOptions' => [
            'Enabled' => true || false,
        ],
        'HibernationOptions' => [
            'Configured' => true || false,
        ],
        'IamInstanceProfile' => [
            'Arn' => '<string>',
            'Name' => '<string>',
        ],
        'ImageId' => '<string>',
        'InstanceInitiatedShutdownBehavior' => 'stop|terminate',
        'InstanceMarketOptions' => [
            'MarketType' => 'spot',
            'SpotOptions' => [
                'BlockDurationMinutes' => <integer>,
                'InstanceInterruptionBehavior' => 'hibernate|stop|terminate',
                'MaxPrice' => '<string>',
                'SpotInstanceType' => 'one-time|persistent',
                'ValidUntil' => <integer || string || DateTime>,
            ],
        ],
        'InstanceType' => 't1.micro|t2.nano|t2.micro|t2.small|t2.medium|t2.large|t2.xlarge|t2.2xlarge|t3.nano|t3.micro|t3.small|t3.medium|t3.large|t3.xlarge|t3.2xlarge|t3a.nano|t3a.micro|t3a.small|t3a.medium|t3a.large|t3a.xlarge|t3a.2xlarge|t4g.nano|t4g.micro|t4g.small|t4g.medium|t4g.large|t4g.xlarge|t4g.2xlarge|m1.small|m1.medium|m1.large|m1.xlarge|m3.medium|m3.large|m3.xlarge|m3.2xlarge|m4.large|m4.xlarge|m4.2xlarge|m4.4xlarge|m4.10xlarge|m4.16xlarge|m2.xlarge|m2.2xlarge|m2.4xlarge|cr1.8xlarge|r3.large|r3.xlarge|r3.2xlarge|r3.4xlarge|r3.8xlarge|r4.large|r4.xlarge|r4.2xlarge|r4.4xlarge|r4.8xlarge|r4.16xlarge|r5.large|r5.xlarge|r5.2xlarge|r5.4xlarge|r5.8xlarge|r5.12xlarge|r5.16xlarge|r5.24xlarge|r5.metal|r5a.large|r5a.xlarge|r5a.2xlarge|r5a.4xlarge|r5a.8xlarge|r5a.12xlarge|r5a.16xlarge|r5a.24xlarge|r5b.large|r5b.xlarge|r5b.2xlarge|r5b.4xlarge|r5b.8xlarge|r5b.12xlarge|r5b.16xlarge|r5b.24xlarge|r5b.metal|r5d.large|r5d.xlarge|r5d.2xlarge|r5d.4xlarge|r5d.8xlarge|r5d.12xlarge|r5d.16xlarge|r5d.24xlarge|r5d.metal|r5ad.large|r5ad.xlarge|r5ad.2xlarge|r5ad.4xlarge|r5ad.8xlarge|r5ad.12xlarge|r5ad.16xlarge|r5ad.24xlarge|r6g.metal|r6g.medium|r6g.large|r6g.xlarge|r6g.2xlarge|r6g.4xlarge|r6g.8xlarge|r6g.12xlarge|r6g.16xlarge|r6gd.metal|r6gd.medium|r6gd.large|r6gd.xlarge|r6gd.2xlarge|r6gd.4xlarge|r6gd.8xlarge|r6gd.12xlarge|r6gd.16xlarge|x1.16xlarge|x1.32xlarge|x1e.xlarge|x1e.2xlarge|x1e.4xlarge|x1e.8xlarge|x1e.16xlarge|x1e.32xlarge|i2.xlarge|i2.2xlarge|i2.4xlarge|i2.8xlarge|i3.large|i3.xlarge|i3.2xlarge|i3.4xlarge|i3.8xlarge|i3.16xlarge|i3.metal|i3en.large|i3en.xlarge|i3en.2xlarge|i3en.3xlarge|i3en.6xlarge|i3en.12xlarge|i3en.24xlarge|i3en.metal|hi1.4xlarge|hs1.8xlarge|c1.medium|c1.xlarge|c3.large|c3.xlarge|c3.2xlarge|c3.4xlarge|c3.8xlarge|c4.large|c4.xlarge|c4.2xlarge|c4.4xlarge|c4.8xlarge|c5.large|c5.xlarge|c5.2xlarge|c5.4xlarge|c5.9xlarge|c5.12xlarge|c5.18xlarge|c5.24xlarge|c5.metal|c5a.large|c5a.xlarge|c5a.2xlarge|c5a.4xlarge|c5a.8xlarge|c5a.12xlarge|c5a.16xlarge|c5a.24xlarge|c5ad.large|c5ad.xlarge|c5ad.2xlarge|c5ad.4xlarge|c5ad.8xlarge|c5ad.12xlarge|c5ad.16xlarge|c5ad.24xlarge|c5d.large|c5d.xlarge|c5d.2xlarge|c5d.4xlarge|c5d.9xlarge|c5d.12xlarge|c5d.18xlarge|c5d.24xlarge|c5d.metal|c5n.large|c5n.xlarge|c5n.2xlarge|c5n.4xlarge|c5n.9xlarge|c5n.18xlarge|c5n.metal|c6g.metal|c6g.medium|c6g.large|c6g.xlarge|c6g.2xlarge|c6g.4xlarge|c6g.8xlarge|c6g.12xlarge|c6g.16xlarge|c6gd.metal|c6gd.medium|c6gd.large|c6gd.xlarge|c6gd.2xlarge|c6gd.4xlarge|c6gd.8xlarge|c6gd.12xlarge|c6gd.16xlarge|c6gn.medium|c6gn.large|c6gn.xlarge|c6gn.2xlarge|c6gn.4xlarge|c6gn.8xlarge|c6gn.12xlarge|c6gn.16xlarge|cc1.4xlarge|cc2.8xlarge|g2.2xlarge|g2.8xlarge|g3.4xlarge|g3.8xlarge|g3.16xlarge|g3s.xlarge|g4ad.4xlarge|g4ad.8xlarge|g4ad.16xlarge|g4dn.xlarge|g4dn.2xlarge|g4dn.4xlarge|g4dn.8xlarge|g4dn.12xlarge|g4dn.16xlarge|g4dn.metal|cg1.4xlarge|p2.xlarge|p2.8xlarge|p2.16xlarge|p3.2xlarge|p3.8xlarge|p3.16xlarge|p3dn.24xlarge|p4d.24xlarge|d2.xlarge|d2.2xlarge|d2.4xlarge|d2.8xlarge|d3.xlarge|d3.2xlarge|d3.4xlarge|d3.8xlarge|d3en.xlarge|d3en.2xlarge|d3en.4xlarge|d3en.6xlarge|d3en.8xlarge|d3en.12xlarge|f1.2xlarge|f1.4xlarge|f1.16xlarge|m5.large|m5.xlarge|m5.2xlarge|m5.4xlarge|m5.8xlarge|m5.12xlarge|m5.16xlarge|m5.24xlarge|m5.metal|m5a.large|m5a.xlarge|m5a.2xlarge|m5a.4xlarge|m5a.8xlarge|m5a.12xlarge|m5a.16xlarge|m5a.24xlarge|m5d.large|m5d.xlarge|m5d.2xlarge|m5d.4xlarge|m5d.8xlarge|m5d.12xlarge|m5d.16xlarge|m5d.24xlarge|m5d.metal|m5ad.large|m5ad.xlarge|m5ad.2xlarge|m5ad.4xlarge|m5ad.8xlarge|m5ad.12xlarge|m5ad.16xlarge|m5ad.24xlarge|m5zn.large|m5zn.xlarge|m5zn.2xlarge|m5zn.3xlarge|m5zn.6xlarge|m5zn.12xlarge|m5zn.metal|h1.2xlarge|h1.4xlarge|h1.8xlarge|h1.16xlarge|z1d.large|z1d.xlarge|z1d.2xlarge|z1d.3xlarge|z1d.6xlarge|z1d.12xlarge|z1d.metal|u-6tb1.metal|u-9tb1.metal|u-12tb1.metal|u-18tb1.metal|u-24tb1.metal|a1.medium|a1.large|a1.xlarge|a1.2xlarge|a1.4xlarge|a1.metal|m5dn.large|m5dn.xlarge|m5dn.2xlarge|m5dn.4xlarge|m5dn.8xlarge|m5dn.12xlarge|m5dn.16xlarge|m5dn.24xlarge|m5n.large|m5n.xlarge|m5n.2xlarge|m5n.4xlarge|m5n.8xlarge|m5n.12xlarge|m5n.16xlarge|m5n.24xlarge|r5dn.large|r5dn.xlarge|r5dn.2xlarge|r5dn.4xlarge|r5dn.8xlarge|r5dn.12xlarge|r5dn.16xlarge|r5dn.24xlarge|r5n.large|r5n.xlarge|r5n.2xlarge|r5n.4xlarge|r5n.8xlarge|r5n.12xlarge|r5n.16xlarge|r5n.24xlarge|inf1.xlarge|inf1.2xlarge|inf1.6xlarge|inf1.24xlarge|m6g.metal|m6g.medium|m6g.large|m6g.xlarge|m6g.2xlarge|m6g.4xlarge|m6g.8xlarge|m6g.12xlarge|m6g.16xlarge|m6gd.metal|m6gd.medium|m6gd.large|m6gd.xlarge|m6gd.2xlarge|m6gd.4xlarge|m6gd.8xlarge|m6gd.12xlarge|m6gd.16xlarge|mac1.metal|x2gd.medium|x2gd.large|x2gd.xlarge|x2gd.2xlarge|x2gd.4xlarge|x2gd.8xlarge|x2gd.12xlarge|x2gd.16xlarge|x2gd.metal',
        'KernelId' => '<string>',
        'KeyName' => '<string>',
        'LicenseSpecifications' => [
            [
                'LicenseConfigurationArn' => '<string>',
            ],
            // ...
        ],
        'MetadataOptions' => [
            'HttpEndpoint' => 'disabled|enabled',
            'HttpPutResponseHopLimit' => <integer>,
            'HttpTokens' => 'optional|required',
        ],
        'Monitoring' => [
            'Enabled' => true || false,
        ],
        'NetworkInterfaces' => [
            [
                'AssociateCarrierIpAddress' => true || false,
                'AssociatePublicIpAddress' => true || false,
                'DeleteOnTermination' => true || false,
                'Description' => '<string>',
                'DeviceIndex' => <integer>,
                'Groups' => ['<string>', ...],
                'InterfaceType' => '<string>',
                'Ipv6AddressCount' => <integer>,
                'Ipv6Addresses' => [
                    [
                        'Ipv6Address' => '<string>',
                    ],
                    // ...
                ],
                'NetworkCardIndex' => <integer>,
                'NetworkInterfaceId' => '<string>',
                'PrivateIpAddress' => '<string>',
                'PrivateIpAddresses' => [
                    [
                        'Primary' => true || false,
                        'PrivateIpAddress' => '<string>',
                    ],
                    // ...
                ],
                'SecondaryPrivateIpAddressCount' => <integer>,
                'SubnetId' => '<string>',
            ],
            // ...
        ],
        'Placement' => [
            'Affinity' => '<string>',
            'AvailabilityZone' => '<string>',
            'GroupName' => '<string>',
            'HostId' => '<string>',
            'HostResourceGroupArn' => '<string>',
            'PartitionNumber' => <integer>,
            'SpreadDomain' => '<string>',
            'Tenancy' => 'default|dedicated|host',
        ],
        'RamDiskId' => '<string>',
        'SecurityGroupIds' => ['<string>', ...],
        'SecurityGroups' => ['<string>', ...],
        'TagSpecifications' => [
            [
                'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
                'Tags' => [
                    [
                        'Key' => '<string>',
                        'Value' => '<string>',
                    ],
                    // ...
                ],
            ],
            // ...
        ],
        'UserData' => '<string>',
    ],
    'LaunchTemplateName' => '<string>', // REQUIRED
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'VersionDescription' => '<string>',
]);

Parameter Details

Members
ClientToken
  • Type: string

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

Constraint: Maximum 128 ASCII characters.

DryRun
  • Type: boolean

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

LaunchTemplateData
  • Required: Yes
  • Type: RequestLaunchTemplateData structure

The information for the launch template.

LaunchTemplateName
  • Required: Yes
  • Type: string

A name for the launch template.

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to apply to the launch template during creation.

VersionDescription
  • Type: string

A description for the first version of the launch template.

Result Syntax

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

Result Details

Members
LaunchTemplate
  • Type: LaunchTemplate structure

Information about the launch template.

Warning
  • Type: ValidationWarning structure

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

Errors

There are no errors described for this operation.

Examples

Example 1: To create a launch template

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

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

Result syntax:

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

CreateLaunchTemplateVersion

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

Creates a new version for a launch template. You can specify an existing version of launch template from which to base the new version.

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.

For more information, see Managing launch template versionsin the Amazon Elastic Compute Cloud User Guide.

Parameter Syntax

$result = $client->createLaunchTemplateVersion([
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'LaunchTemplateData' => [ // REQUIRED
        'BlockDeviceMappings' => [
            [
                'DeviceName' => '<string>',
                'Ebs' => [
                    'DeleteOnTermination' => true || false,
                    'Encrypted' => true || false,
                    'Iops' => <integer>,
                    'KmsKeyId' => '<string>',
                    'SnapshotId' => '<string>',
                    'Throughput' => <integer>,
                    'VolumeSize' => <integer>,
                    'VolumeType' => 'standard|io1|io2|gp2|sc1|st1|gp3',
                ],
                'NoDevice' => '<string>',
                'VirtualName' => '<string>',
            ],
            // ...
        ],
        'CapacityReservationSpecification' => [
            'CapacityReservationPreference' => 'open|none',
            'CapacityReservationTarget' => [
                'CapacityReservationId' => '<string>',
                'CapacityReservationResourceGroupArn' => '<string>',
            ],
        ],
        'CpuOptions' => [
            'CoreCount' => <integer>,
            'ThreadsPerCore' => <integer>,
        ],
        'CreditSpecification' => [
            'CpuCredits' => '<string>', // REQUIRED
        ],
        'DisableApiTermination' => true || false,
        'EbsOptimized' => true || false,
        'ElasticGpuSpecifications' => [
            [
                'Type' => '<string>', // REQUIRED
            ],
            // ...
        ],
        'ElasticInferenceAccelerators' => [
            [
                'Count' => <integer>,
                'Type' => '<string>', // REQUIRED
            ],
            // ...
        ],
        'EnclaveOptions' => [
            'Enabled' => true || false,
        ],
        'HibernationOptions' => [
            'Configured' => true || false,
        ],
        'IamInstanceProfile' => [
            'Arn' => '<string>',
            'Name' => '<string>',
        ],
        'ImageId' => '<string>',
        'InstanceInitiatedShutdownBehavior' => 'stop|terminate',
        'InstanceMarketOptions' => [
            'MarketType' => 'spot',
            'SpotOptions' => [
                'BlockDurationMinutes' => <integer>,
                'InstanceInterruptionBehavior' => 'hibernate|stop|terminate',
                'MaxPrice' => '<string>',
                'SpotInstanceType' => 'one-time|persistent',
                'ValidUntil' => <integer || string || DateTime>,
            ],
        ],
        'InstanceType' => 't1.micro|t2.nano|t2.micro|t2.small|t2.medium|t2.large|t2.xlarge|t2.2xlarge|t3.nano|t3.micro|t3.small|t3.medium|t3.large|t3.xlarge|t3.2xlarge|t3a.nano|t3a.micro|t3a.small|t3a.medium|t3a.large|t3a.xlarge|t3a.2xlarge|t4g.nano|t4g.micro|t4g.small|t4g.medium|t4g.large|t4g.xlarge|t4g.2xlarge|m1.small|m1.medium|m1.large|m1.xlarge|m3.medium|m3.large|m3.xlarge|m3.2xlarge|m4.large|m4.xlarge|m4.2xlarge|m4.4xlarge|m4.10xlarge|m4.16xlarge|m2.xlarge|m2.2xlarge|m2.4xlarge|cr1.8xlarge|r3.large|r3.xlarge|r3.2xlarge|r3.4xlarge|r3.8xlarge|r4.large|r4.xlarge|r4.2xlarge|r4.4xlarge|r4.8xlarge|r4.16xlarge|r5.large|r5.xlarge|r5.2xlarge|r5.4xlarge|r5.8xlarge|r5.12xlarge|r5.16xlarge|r5.24xlarge|r5.metal|r5a.large|r5a.xlarge|r5a.2xlarge|r5a.4xlarge|r5a.8xlarge|r5a.12xlarge|r5a.16xlarge|r5a.24xlarge|r5b.large|r5b.xlarge|r5b.2xlarge|r5b.4xlarge|r5b.8xlarge|r5b.12xlarge|r5b.16xlarge|r5b.24xlarge|r5b.metal|r5d.large|r5d.xlarge|r5d.2xlarge|r5d.4xlarge|r5d.8xlarge|r5d.12xlarge|r5d.16xlarge|r5d.24xlarge|r5d.metal|r5ad.large|r5ad.xlarge|r5ad.2xlarge|r5ad.4xlarge|r5ad.8xlarge|r5ad.12xlarge|r5ad.16xlarge|r5ad.24xlarge|r6g.metal|r6g.medium|r6g.large|r6g.xlarge|r6g.2xlarge|r6g.4xlarge|r6g.8xlarge|r6g.12xlarge|r6g.16xlarge|r6gd.metal|r6gd.medium|r6gd.large|r6gd.xlarge|r6gd.2xlarge|r6gd.4xlarge|r6gd.8xlarge|r6gd.12xlarge|r6gd.16xlarge|x1.16xlarge|x1.32xlarge|x1e.xlarge|x1e.2xlarge|x1e.4xlarge|x1e.8xlarge|x1e.16xlarge|x1e.32xlarge|i2.xlarge|i2.2xlarge|i2.4xlarge|i2.8xlarge|i3.large|i3.xlarge|i3.2xlarge|i3.4xlarge|i3.8xlarge|i3.16xlarge|i3.metal|i3en.large|i3en.xlarge|i3en.2xlarge|i3en.3xlarge|i3en.6xlarge|i3en.12xlarge|i3en.24xlarge|i3en.metal|hi1.4xlarge|hs1.8xlarge|c1.medium|c1.xlarge|c3.large|c3.xlarge|c3.2xlarge|c3.4xlarge|c3.8xlarge|c4.large|c4.xlarge|c4.2xlarge|c4.4xlarge|c4.8xlarge|c5.large|c5.xlarge|c5.2xlarge|c5.4xlarge|c5.9xlarge|c5.12xlarge|c5.18xlarge|c5.24xlarge|c5.metal|c5a.large|c5a.xlarge|c5a.2xlarge|c5a.4xlarge|c5a.8xlarge|c5a.12xlarge|c5a.16xlarge|c5a.24xlarge|c5ad.large|c5ad.xlarge|c5ad.2xlarge|c5ad.4xlarge|c5ad.8xlarge|c5ad.12xlarge|c5ad.16xlarge|c5ad.24xlarge|c5d.large|c5d.xlarge|c5d.2xlarge|c5d.4xlarge|c5d.9xlarge|c5d.12xlarge|c5d.18xlarge|c5d.24xlarge|c5d.metal|c5n.large|c5n.xlarge|c5n.2xlarge|c5n.4xlarge|c5n.9xlarge|c5n.18xlarge|c5n.metal|c6g.metal|c6g.medium|c6g.large|c6g.xlarge|c6g.2xlarge|c6g.4xlarge|c6g.8xlarge|c6g.12xlarge|c6g.16xlarge|c6gd.metal|c6gd.medium|c6gd.large|c6gd.xlarge|c6gd.2xlarge|c6gd.4xlarge|c6gd.8xlarge|c6gd.12xlarge|c6gd.16xlarge|c6gn.medium|c6gn.large|c6gn.xlarge|c6gn.2xlarge|c6gn.4xlarge|c6gn.8xlarge|c6gn.12xlarge|c6gn.16xlarge|cc1.4xlarge|cc2.8xlarge|g2.2xlarge|g2.8xlarge|g3.4xlarge|g3.8xlarge|g3.16xlarge|g3s.xlarge|g4ad.4xlarge|g4ad.8xlarge|g4ad.16xlarge|g4dn.xlarge|g4dn.2xlarge|g4dn.4xlarge|g4dn.8xlarge|g4dn.12xlarge|g4dn.16xlarge|g4dn.metal|cg1.4xlarge|p2.xlarge|p2.8xlarge|p2.16xlarge|p3.2xlarge|p3.8xlarge|p3.16xlarge|p3dn.24xlarge|p4d.24xlarge|d2.xlarge|d2.2xlarge|d2.4xlarge|d2.8xlarge|d3.xlarge|d3.2xlarge|d3.4xlarge|d3.8xlarge|d3en.xlarge|d3en.2xlarge|d3en.4xlarge|d3en.6xlarge|d3en.8xlarge|d3en.12xlarge|f1.2xlarge|f1.4xlarge|f1.16xlarge|m5.large|m5.xlarge|m5.2xlarge|m5.4xlarge|m5.8xlarge|m5.12xlarge|m5.16xlarge|m5.24xlarge|m5.metal|m5a.large|m5a.xlarge|m5a.2xlarge|m5a.4xlarge|m5a.8xlarge|m5a.12xlarge|m5a.16xlarge|m5a.24xlarge|m5d.large|m5d.xlarge|m5d.2xlarge|m5d.4xlarge|m5d.8xlarge|m5d.12xlarge|m5d.16xlarge|m5d.24xlarge|m5d.metal|m5ad.large|m5ad.xlarge|m5ad.2xlarge|m5ad.4xlarge|m5ad.8xlarge|m5ad.12xlarge|m5ad.16xlarge|m5ad.24xlarge|m5zn.large|m5zn.xlarge|m5zn.2xlarge|m5zn.3xlarge|m5zn.6xlarge|m5zn.12xlarge|m5zn.metal|h1.2xlarge|h1.4xlarge|h1.8xlarge|h1.16xlarge|z1d.large|z1d.xlarge|z1d.2xlarge|z1d.3xlarge|z1d.6xlarge|z1d.12xlarge|z1d.metal|u-6tb1.metal|u-9tb1.metal|u-12tb1.metal|u-18tb1.metal|u-24tb1.metal|a1.medium|a1.large|a1.xlarge|a1.2xlarge|a1.4xlarge|a1.metal|m5dn.large|m5dn.xlarge|m5dn.2xlarge|m5dn.4xlarge|m5dn.8xlarge|m5dn.12xlarge|m5dn.16xlarge|m5dn.24xlarge|m5n.large|m5n.xlarge|m5n.2xlarge|m5n.4xlarge|m5n.8xlarge|m5n.12xlarge|m5n.16xlarge|m5n.24xlarge|r5dn.large|r5dn.xlarge|r5dn.2xlarge|r5dn.4xlarge|r5dn.8xlarge|r5dn.12xlarge|r5dn.16xlarge|r5dn.24xlarge|r5n.large|r5n.xlarge|r5n.2xlarge|r5n.4xlarge|r5n.8xlarge|r5n.12xlarge|r5n.16xlarge|r5n.24xlarge|inf1.xlarge|inf1.2xlarge|inf1.6xlarge|inf1.24xlarge|m6g.metal|m6g.medium|m6g.large|m6g.xlarge|m6g.2xlarge|m6g.4xlarge|m6g.8xlarge|m6g.12xlarge|m6g.16xlarge|m6gd.metal|m6gd.medium|m6gd.large|m6gd.xlarge|m6gd.2xlarge|m6gd.4xlarge|m6gd.8xlarge|m6gd.12xlarge|m6gd.16xlarge|mac1.metal|x2gd.medium|x2gd.large|x2gd.xlarge|x2gd.2xlarge|x2gd.4xlarge|x2gd.8xlarge|x2gd.12xlarge|x2gd.16xlarge|x2gd.metal',
        'KernelId' => '<string>',
        'KeyName' => '<string>',
        'LicenseSpecifications' => [
            [
                'LicenseConfigurationArn' => '<string>',
            ],
            // ...
        ],
        'MetadataOptions' => [
            'HttpEndpoint' => 'disabled|enabled',
            'HttpPutResponseHopLimit' => <integer>,
            'HttpTokens' => 'optional|required',
        ],
        'Monitoring' => [
            'Enabled' => true || false,
        ],
        'NetworkInterfaces' => [
            [
                'AssociateCarrierIpAddress' => true || false,
                'AssociatePublicIpAddress' => true || false,
                'DeleteOnTermination' => true || false,
                'Description' => '<string>',
                'DeviceIndex' => <integer>,
                'Groups' => ['<string>', ...],
                'InterfaceType' => '<string>',
                'Ipv6AddressCount' => <integer>,
                'Ipv6Addresses' => [
                    [
                        'Ipv6Address' => '<string>',
                    ],
                    // ...
                ],
                'NetworkCardIndex' => <integer>,
                'NetworkInterfaceId' => '<string>',
                'PrivateIpAddress' => '<string>',
                'PrivateIpAddresses' => [
                    [
                        'Primary' => true || false,
                        'PrivateIpAddress' => '<string>',
                    ],
                    // ...
                ],
                'SecondaryPrivateIpAddressCount' => <integer>,
                'SubnetId' => '<string>',
            ],
            // ...
        ],
        'Placement' => [
            'Affinity' => '<string>',
            'AvailabilityZone' => '<string>',
            'GroupName' => '<string>',
            'HostId' => '<string>',
            'HostResourceGroupArn' => '<string>',
            'PartitionNumber' => <integer>,
            'SpreadDomain' => '<string>',
            'Tenancy' => 'default|dedicated|host',
        ],
        'RamDiskId' => '<string>',
        'SecurityGroupIds' => ['<string>', ...],
        'SecurityGroups' => ['<string>', ...],
        'TagSpecifications' => [
            [
                'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
                'Tags' => [
                    [
                        'Key' => '<string>',
                        'Value' => '<string>',
                    ],
                    // ...
                ],
            ],
            // ...
        ],
        'UserData' => '<string>',
    ],
    'LaunchTemplateId' => '<string>',
    'LaunchTemplateName' => '<string>',
    'SourceVersion' => '<string>',
    'VersionDescription' => '<string>',
]);

Parameter Details

Members
ClientToken
  • Type: string

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

Constraint: Maximum 128 ASCII characters.

DryRun
  • Type: boolean

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

LaunchTemplateData
  • Required: Yes
  • Type: RequestLaunchTemplateData structure

The information for the launch template.

LaunchTemplateId
  • Type: string

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

LaunchTemplateName
  • Type: string

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

SourceVersion
  • Type: string

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

VersionDescription
  • Type: string

A description for the version of the launch template.

Result Syntax

[
    'LaunchTemplateVersion' => [
        'CreateTime' => <DateTime>,
        'CreatedBy' => '<string>',
        'DefaultVersion' => true || false,
        'LaunchTemplateData' => [
            'BlockDeviceMappings' => [
                [
                    'DeviceName' => '<string>',
                    'Ebs' => [
                        'DeleteOnTermination' => true || false,
                        'Encrypted' => true || false,
                        'Iops' => <integer>,
                        'KmsKeyId' => '<string>',
                        'SnapshotId' => '<string>',
                        'Throughput' => <integer>,
                        'VolumeSize' => <integer>,
                        'VolumeType' => 'standard|io1|io2|gp2|sc1|st1|gp3',
                    ],
                    'NoDevice' => '<string>',
                    'VirtualName' => '<string>',
                ],
                // ...
            ],
            'CapacityReservationSpecification' => [
                'CapacityReservationPreference' => 'open|none',
                'CapacityReservationTarget' => [
                    'CapacityReservationId' => '<string>',
                    'CapacityReservationResourceGroupArn' => '<string>',
                ],
            ],
            'CpuOptions' => [
                'CoreCount' => <integer>,
                'ThreadsPerCore' => <integer>,
            ],
            'CreditSpecification' => [
                'CpuCredits' => '<string>',
            ],
            'DisableApiTermination' => true || false,
            'EbsOptimized' => true || false,
            'ElasticGpuSpecifications' => [
                [
                    'Type' => '<string>',
                ],
                // ...
            ],
            'ElasticInferenceAccelerators' => [
                [
                    'Count' => <integer>,
                    'Type' => '<string>',
                ],
                // ...
            ],
            'EnclaveOptions' => [
                'Enabled' => true || false,
            ],
            'HibernationOptions' => [
                'Configured' => true || false,
            ],
            'IamInstanceProfile' => [
                'Arn' => '<string>',
                'Name' => '<string>',
            ],
            'ImageId' => '<string>',
            'InstanceInitiatedShutdownBehavior' => 'stop|terminate',
            'InstanceMarketOptions' => [
                'MarketType' => 'spot',
                'SpotOptions' => [
                    'BlockDurationMinutes' => <integer>,
                    'InstanceInterruptionBehavior' => 'hibernate|stop|terminate',
                    'MaxPrice' => '<string>',
                    'SpotInstanceType' => 'one-time|persistent',
                    'ValidUntil' => <DateTime>,
                ],
            ],
            'InstanceType' => 't1.micro|t2.nano|t2.micro|t2.small|t2.medium|t2.large|t2.xlarge|t2.2xlarge|t3.nano|t3.micro|t3.small|t3.medium|t3.large|t3.xlarge|t3.2xlarge|t3a.nano|t3a.micro|t3a.small|t3a.medium|t3a.large|t3a.xlarge|t3a.2xlarge|t4g.nano|t4g.micro|t4g.small|t4g.medium|t4g.large|t4g.xlarge|t4g.2xlarge|m1.small|m1.medium|m1.large|m1.xlarge|m3.medium|m3.large|m3.xlarge|m3.2xlarge|m4.large|m4.xlarge|m4.2xlarge|m4.4xlarge|m4.10xlarge|m4.16xlarge|m2.xlarge|m2.2xlarge|m2.4xlarge|cr1.8xlarge|r3.large|r3.xlarge|r3.2xlarge|r3.4xlarge|r3.8xlarge|r4.large|r4.xlarge|r4.2xlarge|r4.4xlarge|r4.8xlarge|r4.16xlarge|r5.large|r5.xlarge|r5.2xlarge|r5.4xlarge|r5.8xlarge|r5.12xlarge|r5.16xlarge|r5.24xlarge|r5.metal|r5a.large|r5a.xlarge|r5a.2xlarge|r5a.4xlarge|r5a.8xlarge|r5a.12xlarge|r5a.16xlarge|r5a.24xlarge|r5b.large|r5b.xlarge|r5b.2xlarge|r5b.4xlarge|r5b.8xlarge|r5b.12xlarge|r5b.16xlarge|r5b.24xlarge|r5b.metal|r5d.large|r5d.xlarge|r5d.2xlarge|r5d.4xlarge|r5d.8xlarge|r5d.12xlarge|r5d.16xlarge|r5d.24xlarge|r5d.metal|r5ad.large|r5ad.xlarge|r5ad.2xlarge|r5ad.4xlarge|r5ad.8xlarge|r5ad.12xlarge|r5ad.16xlarge|r5ad.24xlarge|r6g.metal|r6g.medium|r6g.large|r6g.xlarge|r6g.2xlarge|r6g.4xlarge|r6g.8xlarge|r6g.12xlarge|r6g.16xlarge|r6gd.metal|r6gd.medium|r6gd.large|r6gd.xlarge|r6gd.2xlarge|r6gd.4xlarge|r6gd.8xlarge|r6gd.12xlarge|r6gd.16xlarge|x1.16xlarge|x1.32xlarge|x1e.xlarge|x1e.2xlarge|x1e.4xlarge|x1e.8xlarge|x1e.16xlarge|x1e.32xlarge|i2.xlarge|i2.2xlarge|i2.4xlarge|i2.8xlarge|i3.large|i3.xlarge|i3.2xlarge|i3.4xlarge|i3.8xlarge|i3.16xlarge|i3.metal|i3en.large|i3en.xlarge|i3en.2xlarge|i3en.3xlarge|i3en.6xlarge|i3en.12xlarge|i3en.24xlarge|i3en.metal|hi1.4xlarge|hs1.8xlarge|c1.medium|c1.xlarge|c3.large|c3.xlarge|c3.2xlarge|c3.4xlarge|c3.8xlarge|c4.large|c4.xlarge|c4.2xlarge|c4.4xlarge|c4.8xlarge|c5.large|c5.xlarge|c5.2xlarge|c5.4xlarge|c5.9xlarge|c5.12xlarge|c5.18xlarge|c5.24xlarge|c5.metal|c5a.large|c5a.xlarge|c5a.2xlarge|c5a.4xlarge|c5a.8xlarge|c5a.12xlarge|c5a.16xlarge|c5a.24xlarge|c5ad.large|c5ad.xlarge|c5ad.2xlarge|c5ad.4xlarge|c5ad.8xlarge|c5ad.12xlarge|c5ad.16xlarge|c5ad.24xlarge|c5d.large|c5d.xlarge|c5d.2xlarge|c5d.4xlarge|c5d.9xlarge|c5d.12xlarge|c5d.18xlarge|c5d.24xlarge|c5d.metal|c5n.large|c5n.xlarge|c5n.2xlarge|c5n.4xlarge|c5n.9xlarge|c5n.18xlarge|c5n.metal|c6g.metal|c6g.medium|c6g.large|c6g.xlarge|c6g.2xlarge|c6g.4xlarge|c6g.8xlarge|c6g.12xlarge|c6g.16xlarge|c6gd.metal|c6gd.medium|c6gd.large|c6gd.xlarge|c6gd.2xlarge|c6gd.4xlarge|c6gd.8xlarge|c6gd.12xlarge|c6gd.16xlarge|c6gn.medium|c6gn.large|c6gn.xlarge|c6gn.2xlarge|c6gn.4xlarge|c6gn.8xlarge|c6gn.12xlarge|c6gn.16xlarge|cc1.4xlarge|cc2.8xlarge|g2.2xlarge|g2.8xlarge|g3.4xlarge|g3.8xlarge|g3.16xlarge|g3s.xlarge|g4ad.4xlarge|g4ad.8xlarge|g4ad.16xlarge|g4dn.xlarge|g4dn.2xlarge|g4dn.4xlarge|g4dn.8xlarge|g4dn.12xlarge|g4dn.16xlarge|g4dn.metal|cg1.4xlarge|p2.xlarge|p2.8xlarge|p2.16xlarge|p3.2xlarge|p3.8xlarge|p3.16xlarge|p3dn.24xlarge|p4d.24xlarge|d2.xlarge|d2.2xlarge|d2.4xlarge|d2.8xlarge|d3.xlarge|d3.2xlarge|d3.4xlarge|d3.8xlarge|d3en.xlarge|d3en.2xlarge|d3en.4xlarge|d3en.6xlarge|d3en.8xlarge|d3en.12xlarge|f1.2xlarge|f1.4xlarge|f1.16xlarge|m5.large|m5.xlarge|m5.2xlarge|m5.4xlarge|m5.8xlarge|m5.12xlarge|m5.16xlarge|m5.24xlarge|m5.metal|m5a.large|m5a.xlarge|m5a.2xlarge|m5a.4xlarge|m5a.8xlarge|m5a.12xlarge|m5a.16xlarge|m5a.24xlarge|m5d.large|m5d.xlarge|m5d.2xlarge|m5d.4xlarge|m5d.8xlarge|m5d.12xlarge|m5d.16xlarge|m5d.24xlarge|m5d.metal|m5ad.large|m5ad.xlarge|m5ad.2xlarge|m5ad.4xlarge|m5ad.8xlarge|m5ad.12xlarge|m5ad.16xlarge|m5ad.24xlarge|m5zn.large|m5zn.xlarge|m5zn.2xlarge|m5zn.3xlarge|m5zn.6xlarge|m5zn.12xlarge|m5zn.metal|h1.2xlarge|h1.4xlarge|h1.8xlarge|h1.16xlarge|z1d.large|z1d.xlarge|z1d.2xlarge|z1d.3xlarge|z1d.6xlarge|z1d.12xlarge|z1d.metal|u-6tb1.metal|u-9tb1.metal|u-12tb1.metal|u-18tb1.metal|u-24tb1.metal|a1.medium|a1.large|a1.xlarge|a1.2xlarge|a1.4xlarge|a1.metal|m5dn.large|m5dn.xlarge|m5dn.2xlarge|m5dn.4xlarge|m5dn.8xlarge|m5dn.12xlarge|m5dn.16xlarge|m5dn.24xlarge|m5n.large|m5n.xlarge|m5n.2xlarge|m5n.4xlarge|m5n.8xlarge|m5n.12xlarge|m5n.16xlarge|m5n.24xlarge|r5dn.large|r5dn.xlarge|r5dn.2xlarge|r5dn.4xlarge|r5dn.8xlarge|r5dn.12xlarge|r5dn.16xlarge|r5dn.24xlarge|r5n.large|r5n.xlarge|r5n.2xlarge|r5n.4xlarge|r5n.8xlarge|r5n.12xlarge|r5n.16xlarge|r5n.24xlarge|inf1.xlarge|inf1.2xlarge|inf1.6xlarge|inf1.24xlarge|m6g.metal|m6g.medium|m6g.large|m6g.xlarge|m6g.2xlarge|m6g.4xlarge|m6g.8xlarge|m6g.12xlarge|m6g.16xlarge|m6gd.metal|m6gd.medium|m6gd.large|m6gd.xlarge|m6gd.2xlarge|m6gd.4xlarge|m6gd.8xlarge|m6gd.12xlarge|m6gd.16xlarge|mac1.metal|x2gd.medium|x2gd.large|x2gd.xlarge|x2gd.2xlarge|x2gd.4xlarge|x2gd.8xlarge|x2gd.12xlarge|x2gd.16xlarge|x2gd.metal',
            'KernelId' => '<string>',
            'KeyName' => '<string>',
            'LicenseSpecifications' => [
                [
                    'LicenseConfigurationArn' => '<string>',
                ],
                // ...
            ],
            'MetadataOptions' => [
                'HttpEndpoint' => 'disabled|enabled',
                'HttpPutResponseHopLimit' => <integer>,
                'HttpTokens' => 'optional|required',
                'State' => 'pending|applied',
            ],
            'Monitoring' => [
                'Enabled' => true || false,
            ],
            'NetworkInterfaces' => [
                [
                    'AssociateCarrierIpAddress' => true || false,
                    'AssociatePublicIpAddress' => true || false,
                    'DeleteOnTermination' => true || false,
                    'Description' => '<string>',
                    'DeviceIndex' => <integer>,
                    'Groups' => ['<string>', ...],
                    'InterfaceType' => '<string>',
                    'Ipv6AddressCount' => <integer>,
                    'Ipv6Addresses' => [
                        [
                            'Ipv6Address' => '<string>',
                        ],
                        // ...
                    ],
                    'NetworkCardIndex' => <integer>,
                    'NetworkInterfaceId' => '<string>',
                    'PrivateIpAddress' => '<string>',
                    'PrivateIpAddresses' => [
                        [
                            'Primary' => true || false,
                            'PrivateIpAddress' => '<string>',
                        ],
                        // ...
                    ],
                    'SecondaryPrivateIpAddressCount' => <integer>,
                    'SubnetId' => '<string>',
                ],
                // ...
            ],
            'Placement' => [
                'Affinity' => '<string>',
                'AvailabilityZone' => '<string>',
                'GroupName' => '<string>',
                'HostId' => '<string>',
                'HostResourceGroupArn' => '<string>',
                'PartitionNumber' => <integer>,
                'SpreadDomain' => '<string>',
                'Tenancy' => 'default|dedicated|host',
            ],
            'RamDiskId' => '<string>',
            'SecurityGroupIds' => ['<string>', ...],
            'SecurityGroups' => ['<string>', ...],
            'TagSpecifications' => [
                [
                    'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
                    'Tags' => [
                        [
                            'Key' => '<string>',
                            'Value' => '<string>',
                        ],
                        // ...
                    ],
                ],
                // ...
            ],
            'UserData' => '<string>',
        ],
        'LaunchTemplateId' => '<string>',
        'LaunchTemplateName' => '<string>',
        'VersionDescription' => '<string>',
        'VersionNumber' => <integer>,
    ],
    'Warning' => [
        'Errors' => [
            [
                'Code' => '<string>',
                'Message' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
LaunchTemplateVersion
  • Type: LaunchTemplateVersion structure

Information about the launch template version.

Warning
  • Type: ValidationWarning structure

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

Errors

There are no errors described for this operation.

Examples

Example 1: To create a launch template version

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

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

Result syntax:

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

CreateLocalGatewayRoute

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

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

Parameter Syntax

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

Parameter Details

Members
DestinationCidrBlock
  • Required: Yes
  • Type: string

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

DryRun
  • Type: boolean

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

LocalGatewayRouteTableId
  • Required: Yes
  • Type: string

The ID of the local gateway route table.

LocalGatewayVirtualInterfaceGroupId
  • Required: Yes
  • Type: string

The ID of the virtual interface group.

Result Syntax

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

Result Details

Members
Route
  • Type: LocalGatewayRoute structure

Information about the route.

Errors

There are no errors described for this operation.

CreateLocalGatewayRouteTableVpcAssociation

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

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

Parameter Syntax

$result = $client->createLocalGatewayRouteTableVpcAssociation([
    'DryRun' => true || false,
    'LocalGatewayRouteTableId' => '<string>', // REQUIRED
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'VpcId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DryRun
  • Type: boolean

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

LocalGatewayRouteTableId
  • Required: Yes
  • Type: string

The ID of the local gateway route table.

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to assign to the local gateway route table VPC association.

VpcId
  • Required: Yes
  • Type: string

The ID of the VPC.

Result Syntax

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

Result Details

Members
LocalGatewayRouteTableVpcAssociation
  • Type: LocalGatewayRouteTableVpcAssociation structure

Information about the association.

Errors

There are no errors described for this operation.

CreateManagedPrefixList

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

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

You must specify the maximum number of entries for the prefix list. The maximum number of entries cannot be changed later.

Parameter Syntax

$result = $client->createManagedPrefixList([
    'AddressFamily' => '<string>', // REQUIRED
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'Entries' => [
        [
            'Cidr' => '<string>', // REQUIRED
            'Description' => '<string>',
        ],
        // ...
    ],
    'MaxEntries' => <integer>, // REQUIRED
    'PrefixListName' => '<string>', // REQUIRED
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
AddressFamily
  • Required: Yes
  • Type: string

The IP address type.

Valid Values: IPv4 | IPv6

ClientToken
  • Type: string

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

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

DryRun
  • Type: boolean

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

Entries
  • Type: Array of AddPrefixListEntry structures

One or more entries for the prefix list.

MaxEntries
  • Required: Yes
  • Type: int

The maximum number of entries for the prefix list.

PrefixListName
  • Required: Yes
  • Type: string

A name for the prefix list.

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

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to apply to the prefix list during creation.

Result Syntax

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

Result Details

Members
PrefixList
  • Type: ManagedPrefixList structure

Information about the prefix list.

Errors

There are no errors described for this operation.

CreateNatGateway

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

Creates a NAT gateway in the specified 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 NAT Gateways in the Amazon Virtual Private Cloud User Guide.

Parameter Syntax

$result = $client->createNatGateway([
    'AllocationId' => '<string>', // REQUIRED
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'SubnetId' => '<string>', // REQUIRED
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
AllocationId
  • Required: Yes
  • Type: string

The allocation ID of an Elastic IP address to associate with the NAT gateway. If the Elastic IP address is associated with another resource, you must first disassociate it.

ClientToken
  • Type: string

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

Constraint: Maximum 64 ASCII characters.

DryRun
  • Type: boolean

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

SubnetId
  • Required: Yes
  • Type: string

The subnet in which to create the NAT gateway.

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to assign to the NAT gateway.

Result Syntax

[
    'ClientToken' => '<string>',
    'NatGateway' => [
        'CreateTime' => <DateTime>,
        'DeleteTime' => <DateTime>,
        'FailureCode' => '<string>',
        'FailureMessage' => '<string>',
        'NatGatewayAddresses' => [
            [
                'AllocationId' => '<string>',
                'NetworkInterfaceId' => '<string>',
                'PrivateIp' => '<string>',
                'PublicIp' => '<string>',
            ],
            // ...
        ],
        'NatGatewayId' => '<string>',
        'ProvisionedBandwidth' => [
            'ProvisionTime' => <DateTime>,
            'Provisioned' => '<string>',
            'RequestTime' => <DateTime>,
            'Requested' => '<string>',
            'Status' => '<string>',
        ],
        'State' => 'pending|failed|available|deleting|deleted',
        'SubnetId' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'VpcId' => '<string>',
    ],
]

Result Details

Members
ClientToken
  • Type: string

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

NatGateway
  • Type: NatGateway structure

Information about the NAT gateway.

Errors

There are no errors described for this operation.

Examples

Example 1: To create a NAT gateway

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

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

Result syntax:

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

CreateNetworkAcl

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

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

For more information, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

Parameter Syntax

$result = $client->createNetworkAcl([
    'DryRun' => true || false,
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'VpcId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DryRun
  • Type: boolean

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

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to assign to the network ACL.

VpcId
  • Required: Yes
  • Type: string

The ID of the VPC.

Result Syntax

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

Result Details

Members
NetworkAcl
  • Type: NetworkAcl structure

Information about the network ACL.

Errors

There are no errors described for this operation.

Examples

Example 1: To create a network ACL

This example creates a network ACL for the specified VPC.

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

Result syntax:

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

CreateNetworkAclEntry

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

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

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

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

For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

Parameter Syntax

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

Parameter Details

Members
CidrBlock
  • Type: string

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

DryRun
  • Type: boolean

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

Egress
  • Required: Yes
  • Type: boolean

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

IcmpTypeCode
  • Type: IcmpTypeCode structure

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

Ipv6CidrBlock
  • Type: string

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

NetworkAclId
  • Required: Yes
  • Type: string

The ID of the network ACL.

PortRange
  • Type: PortRange structure

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

Protocol
  • Required: Yes
  • Type: string

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

RuleAction
  • Required: Yes
  • Type: string

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

RuleNumber
  • Required: Yes
  • Type: int

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

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

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

There are no errors described for this operation.

Examples

Example 1: To create a network ACL entry

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

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

CreateNetworkInsightsPath

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

Creates a path to analyze for reachability.

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

Parameter Syntax

$result = $client->createNetworkInsightsPath([
    'ClientToken' => '<string>', // REQUIRED
    'Destination' => '<string>', // REQUIRED
    'DestinationIp' => '<string>',
    'DestinationPort' => <integer>,
    'DryRun' => true || false,
    'Protocol' => 'tcp|udp', // REQUIRED
    'Source' => '<string>', // REQUIRED
    'SourceIp' => '<string>',
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
ClientToken
  • Required: Yes
  • Type: string

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

Destination
  • Required: Yes
  • Type: string

The AWS resource that is the destination of the path.

DestinationIp
  • Type: string

The IP address of the AWS resource that is the destination of the path.

DestinationPort
  • Type: int

The destination port.

DryRun
  • Type: boolean

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

Protocol
  • Required: Yes
  • Type: string

The protocol.

Source
  • Required: Yes
  • Type: string

The AWS resource that is the source of the path.

SourceIp
  • Type: string

The IP address of the AWS resource that is the source of the path.

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to add to the path.

Result Syntax

[
    'NetworkInsightsPath' => [
        'CreatedDate' => <DateTime>,
        'Destination' => '<string>',
        'DestinationIp' => '<string>',
        'DestinationPort' => <integer>,
        'NetworkInsightsPathArn' => '<string>',
        'NetworkInsightsPathId' => '<string>',
        'Protocol' => 'tcp|udp',
        'Source' => '<string>',
        'SourceIp' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
NetworkInsightsPath
  • Type: NetworkInsightsPath structure

Information about the path.

Errors

There are no errors described for this operation.

CreateNetworkInterface

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

Creates a network interface in the specified subnet.

For more information about network interfaces, see Elastic Network Interfaces in the Amazon Virtual Private Cloud User Guide.

Parameter Syntax

$result = $client->createNetworkInterface([
    'Description' => '<string>',
    'DryRun' => true || false,
    'Groups' => ['<string>', ...],
    'InterfaceType' => 'efa',
    'Ipv6AddressCount' => <integer>,
    'Ipv6Addresses' => [
        [
            'Ipv6Address' => '<string>',
        ],
        // ...
    ],
    'PrivateIpAddress' => '<string>',
    'PrivateIpAddresses' => [
        [
            'Primary' => true || false,
            'PrivateIpAddress' => '<string>',
        ],
        // ...
    ],
    'SecondaryPrivateIpAddressCount' => <integer>,
    'SubnetId' => '<string>', // REQUIRED
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
Description
  • Type: string

A description for the network interface.

DryRun
  • Type: boolean

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

Groups
  • Type: Array of strings

The IDs of one or more security groups.

InterfaceType
  • Type: string

Indicates the type of network interface. To create an Elastic Fabric Adapter (EFA), specify efa. For more information, see Elastic Fabric Adapter in the Amazon Elastic Compute Cloud User Guide.

Ipv6AddressCount
  • Type: int

The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. You can't use this option if specifying specific IPv6 addresses. If your subnet has the AssignIpv6AddressOnCreation attribute set to true, you can specify 0 to override this setting.

Ipv6Addresses
  • Type: Array of InstanceIpv6Address structures

One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. You can't use this option if you're specifying a number of IPv6 addresses.

PrivateIpAddress
  • Type: string

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

PrivateIpAddresses
  • Type: Array of PrivateIpAddressSpecification structures

One or more private IPv4 addresses.

SecondaryPrivateIpAddressCount
  • Type: int

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

The number of IP addresses you can assign to a network interface varies by instance type. For more information, see IP Addresses Per ENI Per Instance Type in the Amazon Virtual Private Cloud User Guide.

SubnetId
  • Required: Yes
  • Type: string

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

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to apply to the new network interface.

Result Syntax

[
    'NetworkInterface' => [
        'Association' => [
            'AllocationId' => '<string>',
            'AssociationId' => '<string>',
            'CarrierIp' => '<string>',
            'CustomerOwnedIp' => '<string>',
            'IpOwnerId' => '<string>',
            'PublicDnsName' => '<string>',
            'PublicIp' => '<string>',
        ],
        'Attachment' => [
            'AttachTime' => <DateTime>,
            'AttachmentId' => '<string>',
            'DeleteOnTermination' => true || false,
            'DeviceIndex' => <integer>,
            'InstanceId' => '<string>',
            'InstanceOwnerId' => '<string>',
            'NetworkCardIndex' => <integer>,
            'Status' => 'attaching|attached|detaching|detached',
        ],
        'AvailabilityZone' => '<string>',
        'Description' => '<string>',
        'Groups' => [
            [
                'GroupId' => '<string>',
                'GroupName' => '<string>',
            ],
            // ...
        ],
        'InterfaceType' => 'interface|natGateway|efa',
        'Ipv6Addresses' => [
            [
                'Ipv6Address' => '<string>',
            ],
            // ...
        ],
        'MacAddress' => '<string>',
        'NetworkInterfaceId' => '<string>',
        'OutpostArn' => '<string>',
        'OwnerId' => '<string>',
        'PrivateDnsName' => '<string>',
        'PrivateIpAddress' => '<string>',
        'PrivateIpAddresses' => [
            [
                'Association' => [
                    'AllocationId' => '<string>',
                    'AssociationId' => '<string>',
                    'CarrierIp' => '<string>',
                    'CustomerOwnedIp' => '<string>',
                    'IpOwnerId' => '<string>',
                    'PublicDnsName' => '<string>',
                    'PublicIp' => '<string>',
                ],
                'Primary' => true || false,
                'PrivateDnsName' => '<string>',
                'PrivateIpAddress' => '<string>',
            ],
            // ...
        ],
        'RequesterId' => '<string>',
        'RequesterManaged' => true || false,
        'SourceDestCheck' => true || false,
        'Status' => 'available|associated|attaching|in-use|detaching',
        'SubnetId' => '<string>',
        'TagSet' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'VpcId' => '<string>',
    ],
]

Result Details

Members
NetworkInterface
  • Type: NetworkInterface structure

Information about the network interface.

Errors

There are no errors described for this operation.

Examples

Example 1: To create a network interface

This example creates a network interface for the specified subnet.

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

Result syntax:

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

CreateNetworkInterfacePermission

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

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

You can grant permission to a single AWS account only, and only one account at a time.

Parameter Syntax

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

Parameter Details

Members
AwsAccountId
  • Type: string

The AWS account ID.

AwsService
  • Type: string

The AWS service. Currently not supported.

DryRun
  • Type: boolean

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

NetworkInterfaceId
  • Required: Yes
  • Type: string

The ID of the network interface.

Permission
  • Required: Yes
  • Type: string

The type of permission to grant.

Result Syntax

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

Result Details

Members
InterfacePermission
  • Type: NetworkInterfacePermission structure

Information about the permission for the network interface.

Errors

There are no errors described for this operation.

CreatePlacementGroup

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

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

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

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

Parameter Syntax

$result = $client->createPlacementGroup([
    'DryRun' => true || false,
    'GroupName' => '<string>',
    'PartitionCount' => <integer>,
    'Strategy' => 'cluster|spread|partition',
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
DryRun
  • Type: boolean

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

GroupName
  • Type: string

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

Constraints: Up to 255 ASCII characters

PartitionCount
  • Type: int

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

Strategy
  • Type: string

The placement strategy.

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to apply to the new placement group.

Result Syntax

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

Result Details

Members
PlacementGroup
  • Type: PlacementGroup structure

Describes a placement group.

Errors

There are no errors described for this operation.

Examples

Example 1: To create a placement group

This example creates a placement group with the specified name.

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

Result syntax:

[
]

CreateReplaceRootVolumeTask

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

Creates a root volume replacement task for an Amazon EC2 instance. The root volume can either be restored to its initial launch state, or it can be restored using a specific snapshot.

For more information, see Replace a root volume in the Amazon Elastic Compute Cloud User Guide.

Parameter Syntax

$result = $client->createReplaceRootVolumeTask([
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'InstanceId' => '<string>', // REQUIRED
    'SnapshotId' => '<string>',
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
ClientToken
  • Type: string

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. If you do not specify a client token, a randomly generated token is used for the request to ensure idempotency. For more information, see Ensuring Idempotency.

DryRun
  • Type: boolean

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

InstanceId
  • Required: Yes
  • Type: string

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

SnapshotId
  • Type: string

The ID of the snapshot from which to restore the replacement root volume. If you want to restore the volume to the initial launch state, omit this parameter.

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to apply to the root volume replacement task.

Result Syntax

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

Result Details

Members
ReplaceRootVolumeTask
  • Type: ReplaceRootVolumeTask structure

Information about the root volume replacement task.

Errors

There are no errors described for this operation.

CreateReservedInstancesListing

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

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

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

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

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

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

Parameter Syntax

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

Parameter Details

Members
ClientToken
  • Required: Yes
  • Type: string

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

InstanceCount
  • Required: Yes
  • Type: int

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

PriceSchedules
  • Required: Yes
  • Type: Array of PriceScheduleSpecification structures

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

ReservedInstancesId
  • Required: Yes
  • Type: string

The ID of the active Standard Reserved Instance.

Result Syntax

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

Result Details

Members
ReservedInstancesListings
  • Type: Array of ReservedInstancesListing structures

Information about the Standard Reserved Instance listing.

Errors

There are no errors described for this operation.

CreateRestoreImageTask

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

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

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

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

Parameter Syntax

$result = $client->createRestoreImageTask([
    'Bucket' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'Name' => '<string>',
    'ObjectKey' => '<string>', // REQUIRED
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
Bucket
  • Required: Yes
  • Type: string

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

DryRun
  • Type: boolean

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

Name
  • Type: string

The name for the restored AMI. The name must be unique for AMIs in the Region for this account. If you do not provide a name, the new AMI gets the same name as the original AMI.

ObjectKey
  • Required: Yes
  • Type: string

The name of the stored AMI object in the bucket.

TagSpecifications
  • Type: Array of TagSpecification structures

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

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

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

Result Syntax

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

Result Details

Members
ImageId
  • Type: string

The AMI ID.

Errors

There are no errors described for this operation.

CreateRoute

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

Creates a route in a route table within a VPC.

You must specify 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.

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

  • 192.0.2.0/24 (goes to some target A)

  • 192.0.2.0/28 (goes to some target B)

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

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

Parameter Syntax

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

Parameter Details

Members
CarrierGatewayId
  • Type: string

The ID of the carrier gateway.

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

DestinationCidrBlock
  • Type: string

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

DestinationIpv6CidrBlock
  • Type: string

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

DestinationPrefixListId
  • Type: string

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

DryRun
  • Type: boolean

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

EgressOnlyInternetGatewayId
  • Type: string

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

GatewayId
  • Type: string

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

InstanceId
  • Type: string

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

LocalGatewayId
  • Type: string

The ID of the local gateway.

NatGatewayId
  • Type: string

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

NetworkInterfaceId
  • Type: string

The ID of a network interface.

RouteTableId
  • Required: Yes
  • Type: string

The ID of the route table for the route.

TransitGatewayId
  • Type: string

The ID of a transit gateway.

VpcEndpointId
  • Type: string

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

VpcPeeringConnectionId
  • Type: string

The ID of a VPC peering connection.

Result Syntax

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

Result Details

Members
Return
  • Type: boolean

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

Errors

There are no errors described for this operation.

Examples

Example 1: To create a route

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

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

CreateRouteTable

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

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

For more information, see Route Tables in the Amazon Virtual Private Cloud User Guide.

Parameter Syntax

$result = $client->createRouteTable([
    'DryRun' => true || false,
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'VpcId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DryRun
  • Type: boolean

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

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to assign to the route table.

VpcId
  • Required: Yes
  • Type: string

The ID of the VPC.

Result Syntax

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

Result Details

Members
RouteTable
  • Type: RouteTable structure

Information about the route table.

Errors

There are no errors described for this operation.

Examples

Example 1: To create a route table

This example creates a route table for the specified VPC.

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

Result syntax:

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

CreateSecurityGroup

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

Creates a security group.

A security group acts as a virtual firewall for your instance to control inbound and outbound traffic. For more information, see Amazon EC2 Security Groups in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

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.

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.

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

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

Parameter Syntax

$result = $client->createSecurityGroup([
    'Description' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'GroupName' => '<string>', // REQUIRED
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'VpcId' => '<string>',
]);

Parameter Details

Members
Description
  • Required: Yes
  • Type: string

A description for the security group. This is informational only.

Constraints: Up to 255 characters in length

Constraints for EC2-Classic: ASCII characters

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

DryRun
  • Type: boolean

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

GroupName
  • Required: Yes
  • Type: string

The name of the security group.

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

Constraints for EC2-Classic: ASCII characters

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

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to assign to the security group.

VpcId
  • Type: string

[EC2-VPC] The ID of the VPC. Required for EC2-VPC.

Result Syntax

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

Result Details

Members
GroupId
  • Type: string

The ID of the security group.

Tags
  • Type: Array of Tag structures

The tags assigned to the security group.

Errors

There are no errors described for this operation.

Examples

Example 1: To create a security group for a VPC

This example creates a security group for the specified VPC.

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

Result syntax:

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

CreateSnapshot

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

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

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

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

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

To create a snapshot for EBS volumes that serve as root devices, you should stop the instance before taking the snapshot.

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

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

For more information, see Amazon Elastic Block Store and Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

Parameter Syntax

$result = $client->createSnapshot([
    'Description' => '<string>',
    'DryRun' => true || false,
    'OutpostArn' => '<string>',
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'VolumeId' => '<string>', // REQUIRED
]);

Parameter Details

Members
Description
  • Type: string

A description for the snapshot.

DryRun
  • Type: boolean

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

OutpostArn
  • Type: string

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

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

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

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

For more information, see Creating local snapshots from volumes on an Outpost in the Amazon Elastic Compute Cloud User Guide.

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to apply to the snapshot during creation.

VolumeId
  • Required: Yes
  • Type: string

The ID of the EBS volume.

Result Syntax

[
    'DataEncryptionKeyId' => '<string>',
    'Description' => '<string>',
    'Encrypted' => true || false,
    'KmsKeyId' => '<string>',
    'OutpostArn' => '<string>',
    'OwnerAlias' => '<string>',
    'OwnerId' => '<string>',
    'Progress' => '<string>',
    'SnapshotId' => '<string>',
    'StartTime' => <DateTime>,
    'State' => 'pending|completed|error',
    'StateMessage' => '<string>',
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'VolumeId' => '<string>',
    'VolumeSize' => <integer>,
]

Result Details

Members
DataEncryptionKeyId
  • Type: string

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

Description
  • Type: string

The description for the snapshot.

Encrypted
  • Type: boolean

Indicates whether the snapshot is encrypted.

KmsKeyId
  • Type: string

The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to protect the volume encryption key for the parent volume.

OutpostArn
  • Type: string

The ARN of the AWS Outpost on which the snapshot is stored. For more information, see EBS Local Snapshot on Outposts in the Amazon Elastic Compute Cloud User Guide.

OwnerAlias
  • Type: string

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

OwnerId
  • Type: string

The AWS account ID of the EBS snapshot owner.

Progress
  • Type: string

The progress of the snapshot, as a percentage.

SnapshotId
  • Type: string

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

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

The time stamp when the snapshot was initiated.

State
  • Type: string

The snapshot state.

StateMessage
  • Type: string

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

Tags
  • Type: Array of Tag structures

Any tags assigned to the snapshot.

VolumeId
  • Type: string

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

VolumeSize
  • Type: int

The size of the volume, in GiB.

Errors

There are no errors described for this operation.

Examples

Example 1: To create a snapshot

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

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

Result syntax:

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

CreateSnapshots

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

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

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

Parameter Syntax

$result = $client->createSnapshots([
    'CopyTagsFromSource' => 'volume',
    'Description' => '<string>',
    'DryRun' => true || false,
    'InstanceSpecification' => [ // REQUIRED
        'ExcludeBootVolume' => true || false,
        'InstanceId' => '<string>',
    ],
    'OutpostArn' => '<string>',
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
CopyTagsFromSource
  • Type: string

Copies the tags from the specified volume to corresponding snapshot.

Description
  • Type: string

A description propagated to every snapshot specified by the instance.

DryRun
  • Type: boolean

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

InstanceSpecification
  • Required: Yes
  • Type: InstanceSpecification structure

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

OutpostArn
  • Type: string

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

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

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

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

For more information, see Creating multi-volume local snapshots from instances on an Outpost in the Amazon Elastic Compute Cloud User Guide.

TagSpecifications
  • Type: Array of TagSpecification structures

Tags to apply to every snapshot specified by the instance.

Result Syntax

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

Result Details

Members
Snapshots
  • Type: Array of SnapshotInfo structures

List of snapshots.

Errors

There are no errors described for this operation.

CreateSpotDatafeedSubscription

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

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

Parameter Syntax

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

Parameter Details

Members
Bucket
  • Required: Yes
  • Type: string

The name of the Amazon S3 bucket in which to store the Spot Instance data feed. For more information about bucket names, see Rules for bucket naming in the Amazon S3 Developer Guide.

DryRun
  • Type: boolean

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

Prefix
  • Type: string

The prefix for the data feed file names.

Result Syntax

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

Result Details

Members
SpotDatafeedSubscription
  • Type: SpotDatafeedSubscription structure

The Spot Instance data feed subscription.

Errors

There are no errors described for this operation.

Examples

Example 1: To create a Spot Instance datafeed

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

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

Result syntax:

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

CreateStoreImageTask

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

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

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

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

Parameter Syntax

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

Parameter Details

Members
Bucket
  • Required: Yes
  • Type: string

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

DryRun
  • Type: boolean

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

ImageId
  • Required: Yes
  • Type: string

The ID of the AMI.

S3ObjectTags
  • Type: Array of S3ObjectTag structures

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

Result Syntax

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

Result Details

Members
ObjectKey
  • Type: string

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

Errors

There are no errors described for this operation.

CreateSubnet

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

Creates a subnet in a specified VPC.

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.

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.

AWS reserves both the first four and the last IPv4 address in each subnet's CIDR block. They're not available for use.

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

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

For more information about subnets, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide.

Parameter Syntax

$result = $client->createSubnet([
    'AvailabilityZone' => '<string>',
    'AvailabilityZoneId' => '<string>',
    'CidrBlock' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'Ipv6CidrBlock' => '<string>',
    'OutpostArn' => '<string>',
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'VpcId' => '<string>', // REQUIRED
]);

Parameter Details

Members
AvailabilityZone
  • Type: string

The Availability Zone or Local Zone for the subnet.

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

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

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

AvailabilityZoneId
  • Type: string

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

CidrBlock
  • Required: Yes
  • Type: string

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

DryRun
  • Type: boolean

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

Ipv6CidrBlock
  • Type: string

The IPv6 network range for the subnet, in CIDR notation. The subnet size must use a /64 prefix length.

OutpostArn
  • Type: string

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

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to assign to the subnet.

VpcId
  • Required: Yes
  • Type: string

The ID of the VPC.

Result Syntax

[
    'Subnet' => [
        'AssignIpv6AddressOnCreation' => true || false,
        'AvailabilityZone' => '<string>',
        'AvailabilityZoneId' => '<string>',
        'AvailableIpAddressCount' => <integer>,
        'CidrBlock' => '<string>',
        'CustomerOwnedIpv4Pool' => '<string>',
        'DefaultForAz' => true || false,
        'Ipv6CidrBlockAssociationSet' => [
            [
                'AssociationId' => '<string>',
                'Ipv6CidrBlock' => '<string>',
                'Ipv6CidrBlockState' => [
                    'State' => 'associating|associated|disassociating|disassociated|failing|failed',
                    'StatusMessage' => '<string>',
                ],
            ],
            // ...
        ],
        'MapCustomerOwnedIpOnLaunch' => true || false,
        'MapPublicIpOnLaunch' => true || false,
        'OutpostArn' => '<string>',
        'OwnerId' => '<string>',
        'State' => 'pending|available',
        'SubnetArn' => '<string>',
        'SubnetId' => '<string>',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'VpcId' => '<string>',
    ],
]

Result Details

Members
Subnet
  • Type: Subnet structure

Information about the subnet.

Errors

There are no errors described for this operation.

Examples

Example 1: To create a subnet

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

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

Result syntax:

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

CreateTags

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

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

For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide. For more information about creating IAM policies that control users' access to resources based on tags, see Supported Resource-Level Permissions for Amazon EC2 API Actions in the Amazon Elastic Compute Cloud User Guide.

Parameter Syntax

$result = $client->createTags([
    'DryRun' => true || false,
    'Resources' => ['<string>', ...], // REQUIRED
    'Tags' => [ // REQUIRED
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
DryRun
  • Type: boolean

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

Resources
  • Required: Yes
  • Type: Array of strings

The IDs of the resources, separated by spaces.

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

Tags
  • Required: Yes
  • Type: Array of Tag structures

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

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

There are no errors described for this operation.

Examples

Example 1: To add a tag to a resource

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

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

CreateTrafficMirrorFilter

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

Creates a Traffic Mirror filter.

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

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

Parameter Syntax

$result = $client->createTrafficMirrorFilter([
    'ClientToken' => '<string>',
    'Description' => '<string>',
    'DryRun' => true || false,
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
ClientToken
  • Type: string

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

Description
  • Type: string

The description of the Traffic Mirror filter.

DryRun
  • Type: boolean

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

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to assign to a Traffic Mirror filter.

Result Syntax

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

Result Details

Members
ClientToken
  • Type: string

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

TrafficMirrorFilter
  • Type: TrafficMirrorFilter structure

Information about the Traffic Mirror filter.

Errors

There are no errors described for this operation.

CreateTrafficMirrorFilterRule

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

Creates a Traffic Mirror filter rule.

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

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

Parameter Syntax

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

Parameter Details

Members
ClientToken
  • Type: string

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

Description
  • Type: string

The description of the Traffic Mirror rule.

DestinationCidrBlock
  • Required: Yes
  • Type: string

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

DestinationPortRange
  • Type: TrafficMirrorPortRangeRequest structure

The destination port range.

DryRun
  • Type: boolean

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

Protocol
  • Type: int

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

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

RuleAction
  • Required: Yes
  • Type: string

The action to take (accept | reject) on the filtered traffic.

RuleNumber
  • Required: Yes
  • Type: int

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

SourceCidrBlock
  • Required: Yes
  • Type: string

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

SourcePortRange
  • Type: TrafficMirrorPortRangeRequest structure

The source port range.

TrafficDirection
  • Required: Yes
  • Type: string

The type of traffic (ingress | egress).

TrafficMirrorFilterId
  • Required: Yes
  • Type: string

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

Result Syntax

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

Result Details

Members
ClientToken
  • Type: string

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

TrafficMirrorFilterRule
  • Type: TrafficMirrorFilterRule structure

The Traffic Mirror rule.

Errors

There are no errors described for this operation.

CreateTrafficMirrorSession

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

Creates a Traffic Mirror session.

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

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

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

Parameter Syntax

$result = $client->createTrafficMirrorSession([
    'ClientToken' => '<string>',
    'Description' => '<string>',
    'DryRun' => true || false,
    'NetworkInterfaceId' => '<string>', // REQUIRED
    'PacketLength' => <integer>,
    'SessionNumber' => <integer>, // REQUIRED
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'TrafficMirrorFilterId' => '<string>', // REQUIRED
    'TrafficMirrorTargetId' => '<string>', // REQUIRED
    'VirtualNetworkId' => <integer>,
]);

Parameter Details

Members
ClientToken
  • Type: string

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

Description
  • Type: string

The description of the Traffic Mirror session.

DryRun
  • Type: boolean

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

NetworkInterfaceId
  • Required: Yes
  • Type: string

The ID of the source network interface.

PacketLength
  • Type: int

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

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

SessionNumber
  • Required: Yes
  • Type: int

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

Valid values are 1-32766.

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to assign to a Traffic Mirror session.

TrafficMirrorFilterId
  • Required: Yes
  • Type: string

The ID of the Traffic Mirror filter.

TrafficMirrorTargetId
  • Required: Yes
  • Type: string

The ID of the Traffic Mirror target.

VirtualNetworkId
  • Type: int

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

Result Syntax

[
    'ClientToken' => '<string>',
    'TrafficMirrorSession' => [
        'Description' => '<string>',
        'NetworkInterfaceId' => '<string>',
        'OwnerId' => '<string>',
        'PacketLength' => <integer>,
        'SessionNumber' => <integer>,
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TrafficMirrorFilterId' => '<string>',
        'TrafficMirrorSessionId' => '<string>',
        'TrafficMirrorTargetId' => '<string>',
        'VirtualNetworkId' => <integer>,
    ],
]

Result Details

Members
ClientToken
  • Type: string

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

TrafficMirrorSession
  • Type: TrafficMirrorSession structure

Information about the Traffic Mirror session.

Errors

There are no errors described for this operation.

CreateTrafficMirrorTarget

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

Creates a target for your Traffic Mirror session.

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

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

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

Parameter Syntax

$result = $client->createTrafficMirrorTarget([
    'ClientToken' => '<string>',
    'Description' => '<string>',
    'DryRun' => true || false,
    'NetworkInterfaceId' => '<string>',
    'NetworkLoadBalancerArn' => '<string>',
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
ClientToken
  • Type: string

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

Description
  • Type: string

The description of the Traffic Mirror target.

DryRun
  • Type: boolean

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

NetworkInterfaceId
  • Type: string

The network interface ID that is associated with the target.

NetworkLoadBalancerArn
  • Type: string

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

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to assign to the Traffic Mirror target.

Result Syntax

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

Result Details

Members
ClientToken
  • Type: string

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

TrafficMirrorTarget
  • Type: TrafficMirrorTarget structure

Information about the Traffic Mirror target.

Errors

There are no errors described for this operation.

CreateTransitGateway

$result = $client->createTransitGateway([/* ... */]);
$promise = $client->createTransitGatewayAsync([/* ... */]);

Creates a transit gateway.

You can use a transit gateway to interconnect your virtual private clouds (VPC) and on-premises networks. After the transit gateway enters the available state, you can attach your VPCs and VPN connections to the transit gateway.

To attach your VPCs, use CreateTransitGatewayVpcAttachment.

To attach a VPN connection, use CreateCustomerGateway to create a customer gateway and specify the ID of the customer gateway and the ID of the transit gateway in a call to CreateVpnConnection.

When you create a transit gateway, we create a default transit gateway route table and use it as the default association route table and the default propagation route table. You can use CreateTransitGatewayRouteTable to create additional transit gateway route tables. If you disable automatic route propagation, we do not create a default transit gateway route table. You can use EnableTransitGatewayRouteTablePropagation to propagate routes from a resource attachment to a transit gateway route table. If you disable automatic associations, you can use AssociateTransitGatewayRouteTable to associate a resource attachment with a transit gateway route table.

Parameter Syntax

$result = $client->createTransitGateway([
    'Description' => '<string>',
    'DryRun' => true || false,
    'Options' => [
        'AmazonSideAsn' => <integer>,
        'AutoAcceptSharedAttachments' => 'enable|disable',
        'DefaultRouteTableAssociation' => 'enable|disable',
        'DefaultRouteTablePropagation' => 'enable|disable',
        'DnsSupport' => 'enable|disable',
        'MulticastSupport' => 'enable|disable',
        'TransitGatewayCidrBlocks' => ['<string>', ...],
        'VpnEcmpSupport' => 'enable|disable',
    ],
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
Description
  • Type: string

A description of the transit gateway.

DryRun
  • Type: boolean

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

Options
  • Type: TransitGatewayRequestOptions structure

The transit gateway options.

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to apply to the transit gateway.

Result Syntax

[
    'TransitGateway' => [
        'CreationTime' => <DateTime>,
        'Description' => '<string>',
        'Options' => [
            'AmazonSideAsn' => <integer>,
            'AssociationDefaultRouteTableId' => '<string>',
            'AutoAcceptSharedAttachments' => 'enable|disable',
            'DefaultRouteTableAssociation' => 'enable|disable',
            'DefaultRouteTablePropagation' => 'enable|disable',
            'DnsSupport' => 'enable|disable',
            'MulticastSupport' => 'enable|disable',
            'PropagationDefaultRouteTableId' => '<string>',
            'TransitGatewayCidrBlocks' => ['<string>', ...],
            'VpnEcmpSupport' => 'enable|disable',
        ],
        'OwnerId' => '<string>',
        'State' => 'pending|available|modifying|deleting|deleted',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TransitGatewayArn' => '<string>',
        'TransitGatewayId' => '<string>',
    ],
]

Result Details

Members
TransitGateway
  • Type: TransitGateway structure

Information about the transit gateway.

Errors

There are no errors described for this operation.

CreateTransitGatewayConnect

$result = $client->createTransitGatewayConnect([/* ... */]);
$promise = $client->createTransitGatewayConnectAsync([/* ... */]);

Creates a Connect attachment from a specified transit gateway attachment. A Connect attachment is a GRE-based tunnel attachment that you can use to establish a connection between a transit gateway and an appliance.

A Connect attachment uses an existing VPC or AWS Direct Connect attachment as the underlying transport mechanism.

Parameter Syntax

$result = $client->createTransitGatewayConnect([
    'DryRun' => true || false,
    'Options' => [ // REQUIRED
        'Protocol' => 'gre', // REQUIRED
    ],
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'TransportTransitGatewayAttachmentId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DryRun
  • Type: boolean

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

Options
  • Required: Yes
  • Type: CreateTransitGatewayConnectRequestOptions structure

The Connect attachment options.

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to apply to the Connect attachment.

TransportTransitGatewayAttachmentId
  • Required: Yes
  • Type: string

The ID of the transit gateway attachment. You can specify a VPC attachment or a AWS Direct Connect attachment.

Result Syntax

[
    'TransitGatewayConnect' => [
        'CreationTime' => <DateTime>,
        'Options' => [
            'Protocol' => 'gre',
        ],
        'State' => 'initiating|initiatingRequest|pendingAcceptance|rollingBack|pending|available|modifying|deleting|deleted|failed|rejected|rejecting|failing',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TransitGatewayAttachmentId' => '<string>',
        'TransitGatewayId' => '<string>',
        'TransportTransitGatewayAttachmentId' => '<string>',
    ],
]

Result Details

Members
TransitGatewayConnect
  • Type: TransitGatewayConnect structure

Information about the Connect attachment.

Errors

There are no errors described for this operation.

CreateTransitGatewayConnectPeer

$result = $client->createTransitGatewayConnectPeer([/* ... */]);
$promise = $client->createTransitGatewayConnectPeerAsync([/* ... */]);

Creates a Connect peer for a specified transit gateway Connect attachment between a transit gateway and an appliance.

The peer address and transit gateway address must be the same IP address family (IPv4 or IPv6).

For more information, see Connect peers in the Transit Gateways Guide.

Parameter Syntax

$result = $client->createTransitGatewayConnectPeer([
    'BgpOptions' => [
        'PeerAsn' => <integer>,
    ],
    'DryRun' => true || false,
    'InsideCidrBlocks' => ['<string>', ...], // REQUIRED
    'PeerAddress' => '<string>', // REQUIRED
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'TransitGatewayAddress' => '<string>',
    'TransitGatewayAttachmentId' => '<string>', // REQUIRED
]);

Parameter Details

Members
BgpOptions
  • Type: TransitGatewayConnectRequestBgpOptions structure

The BGP options for the Connect peer.

DryRun
  • Type: boolean

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

InsideCidrBlocks
  • Required: Yes
  • Type: Array of strings

The range of inside IP addresses that are used for BGP peering. You must specify a size /29 IPv4 CIDR block from the 169.254.0.0/16 range. The first address from the range must be configured on the appliance as the BGP IP address. You can also optionally specify a size /125 IPv6 CIDR block from the fd00::/8 range.

PeerAddress
  • Required: Yes
  • Type: string

The peer IP address (GRE outer IP address) on the appliance side of the Connect peer.

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to apply to the Connect peer.

TransitGatewayAddress
  • Type: string

The peer IP address (GRE outer IP address) on the transit gateway side of the Connect peer, which must be specified from a transit gateway CIDR block. If not specified, Amazon automatically assigns the first available IP address from the transit gateway CIDR block.

TransitGatewayAttachmentId
  • Required: Yes
  • Type: string

The ID of the Connect attachment.

Result Syntax

[
    'TransitGatewayConnectPeer' => [
        'ConnectPeerConfiguration' => [
            'BgpConfigurations' => [
                [
                    'BgpStatus' => 'up|down',
                    'PeerAddress' => '<string>',
                    'PeerAsn' => <integer>,
                    'TransitGatewayAddress' => '<string>',
                    'TransitGatewayAsn' => <integer>,
                ],
                // ...
            ],
            'InsideCidrBlocks' => ['<string>', ...],
            'PeerAddress' => '<string>',
            'Protocol' => 'gre',
            'TransitGatewayAddress' => '<string>',
        ],
        'CreationTime' => <DateTime>,
        'State' => 'pending|available|deleting|deleted',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TransitGatewayAttachmentId' => '<string>',
        'TransitGatewayConnectPeerId' => '<string>',
    ],
]

Result Details

Members
TransitGatewayConnectPeer
  • Type: TransitGatewayConnectPeer structure

Information about the Connect peer.

Errors

There are no errors described for this operation.

CreateTransitGatewayMulticastDomain

$result = $client->createTransitGatewayMulticastDomain([/* ... */]);
$promise = $client->createTransitGatewayMulticastDomainAsync([/* ... */]);

Creates a multicast domain using the specified transit gateway.

The transit gateway must be in the available state before you create a domain. Use DescribeTransitGateways to see the state of transit gateway.

Parameter Syntax

$result = $client->createTransitGatewayMulticastDomain([
    'DryRun' => true || false,
    'Options' => [
        'AutoAcceptSharedAssociations' => 'enable|disable',
        'Igmpv2Support' => 'enable|disable',
        'StaticSourcesSupport' => 'enable|disable',
    ],
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'TransitGatewayId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DryRun
  • Type: boolean

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

Options
  • Type: CreateTransitGatewayMulticastDomainRequestOptions structure

The options for the transit gateway multicast domain.

TagSpecifications
  • Type: Array of TagSpecification structures

The tags for the transit gateway multicast domain.

TransitGatewayId
  • Required: Yes
  • Type: string

The ID of the transit gateway.

Result Syntax

[
    'TransitGatewayMulticastDomain' => [
        'CreationTime' => <DateTime>,
        'Options' => [
            'AutoAcceptSharedAssociations' => 'enable|disable',
            'Igmpv2Support' => 'enable|disable',
            'StaticSourcesSupport' => 'enable|disable',
        ],
        'OwnerId' => '<string>',
        'State' => 'pending|available|deleting|deleted',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TransitGatewayId' => '<string>',
        'TransitGatewayMulticastDomainArn' => '<string>',
        'TransitGatewayMulticastDomainId' => '<string>',
    ],
]

Result Details

Members
TransitGatewayMulticastDomain
  • Type: TransitGatewayMulticastDomain structure

Information about the transit gateway multicast domain.

Errors

There are no errors described for this operation.

CreateTransitGatewayPeeringAttachment

$result = $client->createTransitGatewayPeeringAttachment([/* ... */]);
$promise = $client->createTransitGatewayPeeringAttachmentAsync([/* ... */]);

Requests a transit gateway peering attachment between the specified transit gateway (requester) and a peer transit gateway (accepter). The transit gateways must be in different Regions. The peer transit gateway can be in your account or a different AWS account.

After you create the peering attachment, the owner of the accepter transit gateway must accept the attachment request.

Parameter Syntax

$result = $client->createTransitGatewayPeeringAttachment([
    'DryRun' => true || false,
    'PeerAccountId' => '<string>', // REQUIRED
    'PeerRegion' => '<string>', // REQUIRED
    'PeerTransitGatewayId' => '<string>', // REQUIRED
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'TransitGatewayId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DryRun
  • Type: boolean

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

PeerAccountId
  • Required: Yes
  • Type: string

The AWS account ID of the owner of the peer transit gateway.

PeerRegion
  • Required: Yes
  • Type: string

The Region where the peer transit gateway is located.

PeerTransitGatewayId
  • Required: Yes
  • Type: string

The ID of the peer transit gateway with which to create the peering attachment.

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to apply to the transit gateway peering attachment.

TransitGatewayId
  • Required: Yes
  • Type: string

The ID of the transit gateway.

Result Syntax

[
    'TransitGatewayPeeringAttachment' => [
        'AccepterTgwInfo' => [
            'OwnerId' => '<string>',
            'Region' => '<string>',
            'TransitGatewayId' => '<string>',
        ],
        'CreationTime' => <DateTime>,
        'RequesterTgwInfo' => [
            'OwnerId' => '<string>',
            'Region' => '<string>',
            'TransitGatewayId' => '<string>',
        ],
        'State' => 'initiating|initiatingRequest|pendingAcceptance|rollingBack|pending|available|modifying|deleting|deleted|failed|rejected|rejecting|failing',
        'Status' => [
            'Code' => '<string>',
            'Message' => '<string>',
        ],
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TransitGatewayAttachmentId' => '<string>',
    ],
]

Result Details

Members
TransitGatewayPeeringAttachment
  • Type: TransitGatewayPeeringAttachment structure

The transit gateway peering attachment.

Errors

There are no errors described for this operation.

CreateTransitGatewayPrefixListReference

$result = $client->createTransitGatewayPrefixListReference([/* ... */]);
$promise = $client->createTransitGatewayPrefixListReferenceAsync([/* ... */]);

Creates a reference (route) to a prefix list in a specified transit gateway route table.

Parameter Syntax

$result = $client->createTransitGatewayPrefixListReference([
    'Blackhole' => true || false,
    'DryRun' => true || false,
    'PrefixListId' => '<string>', // REQUIRED
    'TransitGatewayAttachmentId' => '<string>',
    'TransitGatewayRouteTableId' => '<string>', // REQUIRED
]);

Parameter Details

Members
Blackhole
  • Type: boolean

Indicates whether to drop traffic that matches this route.

DryRun
  • Type: boolean

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

PrefixListId
  • Required: Yes
  • Type: string

The ID of the prefix list that is used for destination matches.

TransitGatewayAttachmentId
  • Type: string

The ID of the attachment to which traffic is routed.

TransitGatewayRouteTableId
  • Required: Yes
  • Type: string

The ID of the transit gateway route table.

Result Syntax

[
    'TransitGatewayPrefixListReference' => [
        'Blackhole' => true || false,
        'PrefixListId' => '<string>',
        'PrefixListOwnerId' => '<string>',
        'State' => 'pending|available|modifying|deleting',
        'TransitGatewayAttachment' => [
            'ResourceId' => '<string>',
            'ResourceType' => 'vpc|vpn|direct-connect-gateway|connect|peering|tgw-peering',
            'TransitGatewayAttachmentId' => '<string>',
        ],
        'TransitGatewayRouteTableId' => '<string>',
    ],
]

Result Details

Members
TransitGatewayPrefixListReference
  • Type: TransitGatewayPrefixListReference structure

Information about the prefix list reference.

Errors

There are no errors described for this operation.

CreateTransitGatewayRoute

$result = $client->createTransitGatewayRoute([/* ... */]);
$promise = $client->createTransitGatewayRouteAsync([/* ... */]);

Creates a static route for the specified transit gateway route table.

Parameter Syntax

$result = $client->createTransitGatewayRoute([
    'Blackhole' => true || false,
    'DestinationCidrBlock' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'TransitGatewayAttachmentId' => '<string>',
    'TransitGatewayRouteTableId' => '<string>', // REQUIRED
]);

Parameter Details

Members
Blackhole
  • Type: boolean

Indicates whether to drop traffic that matches this route.

DestinationCidrBlock
  • Required: Yes
  • Type: string

The CIDR range used for destination matches. Routing decisions are based on the most specific match.

DryRun
  • Type: boolean

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

TransitGatewayAttachmentId
  • Type: string

The ID of the attachment.

TransitGatewayRouteTableId
  • Required: Yes
  • Type: string

The ID of the transit gateway route table.

Result Syntax

[
    'Route' => [
        'DestinationCidrBlock' => '<string>',
        'PrefixListId' => '<string>',
        'State' => 'pending|active|blackhole|deleting|deleted',
        'TransitGatewayAttachments' => [
            [
                'ResourceId' => '<string>',
                'ResourceType' => 'vpc|vpn|direct-connect-gateway|connect|peering|tgw-peering',
                'TransitGatewayAttachmentId' => '<string>',
            ],
            // ...
        ],
        'Type' => 'static|propagated',
    ],
]

Result Details

Members
Route
  • Type: TransitGatewayRoute structure

Information about the route.

Errors

There are no errors described for this operation.

CreateTransitGatewayRouteTable

$result = $client->createTransitGatewayRouteTable([/* ... */]);
$promise = $client->createTransitGatewayRouteTableAsync([/* ... */]);

Creates a route table for the specified transit gateway.

Parameter Syntax

$result = $client->createTransitGatewayRouteTable([
    'DryRun' => true || false,
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'TransitGatewayId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DryRun
  • Type: boolean

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to apply to the transit gateway route table.

TransitGatewayId
  • Required: Yes
  • Type: string

The ID of the transit gateway.

Result Syntax

[
    'TransitGatewayRouteTable' => [
        'CreationTime' => <DateTime>,
        'DefaultAssociationRouteTable' => true || false,
        'DefaultPropagationRouteTable' => true || false,
        'State' => 'pending|available|deleting|deleted',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TransitGatewayId' => '<string>',
        'TransitGatewayRouteTableId' => '<string>',
    ],
]

Result Details

Members
TransitGatewayRouteTable
  • Type: TransitGatewayRouteTable structure

Information about the transit gateway route table.

Errors

There are no errors described for this operation.

CreateTransitGatewayVpcAttachment

$result = $client->createTransitGatewayVpcAttachment([/* ... */]);
$promise = $client->createTransitGatewayVpcAttachmentAsync([/* ... */]);

Attaches the specified VPC to the specified transit gateway.

If you attach a VPC with a CIDR range that overlaps the CIDR range of a VPC that is already attached, the new VPC CIDR range is not propagated to the default propagation route table.

To send VPC traffic to an attached transit gateway, add a route to the VPC route table using CreateRoute.

Parameter Syntax

$result = $client->createTransitGatewayVpcAttachment([
    'DryRun' => true || false,
    'Options' => [
        'ApplianceModeSupport' => 'enable|disable',
        'DnsSupport' => 'enable|disable',
        'Ipv6Support' => 'enable|disable',
    ],
    'SubnetIds' => ['<string>', ...], // REQUIRED
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'TransitGatewayId' => '<string>', // REQUIRED
    'VpcId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DryRun
  • Type: boolean

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

Options
  • Type: CreateTransitGatewayVpcAttachmentRequestOptions structure

The VPC attachment options.

SubnetIds
  • Required: Yes
  • Type: Array of strings

The IDs of one or more subnets. You can specify only one subnet per Availability Zone. You must specify at least one subnet, but we recommend that you specify two subnets for better availability. The transit gateway uses one IP address from each specified subnet.

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to apply to the VPC attachment.

TransitGatewayId
  • Required: Yes
  • Type: string

The ID of the transit gateway.

VpcId
  • Required: Yes
  • Type: string

The ID of the VPC.

Result Syntax

[
    'TransitGatewayVpcAttachment' => [
        'CreationTime' => <DateTime>,
        'Options' => [
            'ApplianceModeSupport' => 'enable|disable',
            'DnsSupport' => 'enable|disable',
            'Ipv6Support' => 'enable|disable',
        ],
        'State' => 'initiating|initiatingRequest|pendingAcceptance|rollingBack|pending|available|modifying|deleting|deleted|failed|rejected|rejecting|failing',
        'SubnetIds' => ['<string>', ...],
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TransitGatewayAttachmentId' => '<string>',
        'TransitGatewayId' => '<string>',
        'VpcId' => '<string>',
        'VpcOwnerId' => '<string>',
    ],
]

Result Details

Members
TransitGatewayVpcAttachment
  • Type: TransitGatewayVpcAttachment structure

Information about the VPC attachment.

Errors

There are no errors described for this operation.

CreateVolume

$result = $client->createVolume([/* ... */]);
$promise = $client->createVolumeAsync([/* ... */]);

Creates an EBS volume that can be attached to an instance in the same Availability Zone.

You can create a new empty volume or restore a volume from an EBS snapshot. Any AWS Marketplace product codes from the snapshot are propagated to the volume.

You can create encrypted volumes. Encrypted volumes must be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are also automatically encrypted. For more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

You can tag your volumes during creation. For more information, see Tagging your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

For more information, see Creating an Amazon EBS volume in the Amazon Elastic Compute Cloud User Guide.

Parameter Syntax

$result = $client->createVolume([
    'AvailabilityZone' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'Encrypted' => true || false,
    'Iops' => <integer>,
    'KmsKeyId' => '<string>',
    'MultiAttachEnabled' => true || false,
    'OutpostArn' => '<string>',
    'Size' => <integer>,
    'SnapshotId' => '<string>',
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'Throughput' => <integer>,
    'VolumeType' => 'standard|io1|io2|gp2|sc1|st1|gp3',
]);

Parameter Details

Members
AvailabilityZone
  • Required: Yes
  • Type: string

The Availability Zone in which to create the volume.

DryRun
  • Type: boolean

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

Encrypted
  • Type: boolean

Indicates whether the volume should be encrypted. The effect of setting the encryption state to true depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see Encryption by default in the Amazon Elastic Compute Cloud User Guide.

Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Supported instance types.

Iops
  • Type: int

The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.

The following are the supported values for each volume type:

  • gp3: 3,000-16,000 IOPS

  • io1: 100-64,000 IOPS

  • io2: 100-64,000 IOPS

For io1 and io2 volumes, we guarantee 64,000 IOPS only for Instances built on the Nitro System. Other instance families guarantee performance up to 32,000 IOPS.

This parameter is required for io1 and io2 volumes. The default for gp3 volumes is 3,000 IOPS. This parameter is not supported for gp2, st1, sc1, or standard volumes.

KmsKeyId
  • Type: string

The identifier of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use for Amazon EBS encryption. If this parameter is not specified, your AWS managed CMK for EBS is used. If KmsKeyId is specified, the encrypted state must be true.

You can specify the CMK using any of the following:

  • Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

  • Key alias. For example, alias/ExampleAlias.

  • Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

  • Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

AWS authenticates the CMK asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, the action can appear to complete, but eventually fails.

MultiAttachEnabled
  • Type: boolean

Indicates whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the volume to up to 16 Instances built on the Nitro System in the same Availability Zone. This parameter is supported with io1 and io2 volumes only. For more information, see Amazon EBS Multi-Attach in the Amazon Elastic Compute Cloud User Guide.

OutpostArn
  • Type: string

The Amazon Resource Name (ARN) of the Outpost.

Size
  • Type: int

The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size.

The following are the supported volumes sizes for each volume type:

  • gp2 and gp3: 1-16,384

  • io1 and io2: 4-16,384

  • st1 and sc1: 125-16,384

  • standard: 1-1,024

SnapshotId
  • Type: string

The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size.

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to apply to the volume during creation.

Throughput
  • Type: int

The throughput to provision for a volume, with a maximum of 1,000 MiB/s.

This parameter is valid only for gp3 volumes.

Valid Range: Minimum value of 125. Maximum value of 1000.

VolumeType
  • Type: string

The volume type. This parameter can be one of the following values:

  • General Purpose SSD: gp2 | gp3

  • Provisioned IOPS SSD: io1 | io2

  • Throughput Optimized HDD: st1

  • Cold HDD: sc1

  • Magnetic: standard

For more information, see Amazon EBS volume types in the Amazon Elastic Compute Cloud User Guide.

Default: gp2

Result Syntax

[
    'Attachments' => [
        [
            'AttachTime' => <DateTime>,
            'DeleteOnTermination' => true || false,
            'Device' => '<string>',
            'InstanceId' => '<string>',
            'State' => 'attaching|attached|detaching|detached|busy',
            'VolumeId' => '<string>',
        ],
        // ...
    ],
    'AvailabilityZone' => '<string>',
    'CreateTime' => <DateTime>,
    'Encrypted' => true || false,
    'FastRestored' => true || false,
    'Iops' => <integer>,
    'KmsKeyId' => '<string>',
    'MultiAttachEnabled' => true || false,
    'OutpostArn' => '<string>',
    'Size' => <integer>,
    'SnapshotId' => '<string>',
    'State' => 'creating|available|in-use|deleting|deleted|error',
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'Throughput' => <integer>,
    'VolumeId' => '<string>',
    'VolumeType' => 'standard|io1|io2|gp2|sc1|st1|gp3',
]

Result Details

Members
Attachments
  • Type: Array of VolumeAttachment structures

Information about the volume attachments.

AvailabilityZone
  • Type: string

The Availability Zone for the volume.

CreateTime
  • Type: timestamp (string|DateTime or anything parsable by strtotime)

The time stamp when volume creation was initiated.

Encrypted
  • Type: boolean

Indicates whether the volume is encrypted.

FastRestored
  • Type: boolean

Indicates whether the volume was created using fast snapshot restore.

Iops
  • Type: int

The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.

KmsKeyId
  • Type: string

The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to protect the volume encryption key for the volume.

MultiAttachEnabled
  • Type: boolean

Indicates whether Amazon EBS Multi-Attach is enabled.

OutpostArn
  • Type: string

The Amazon Resource Name (ARN) of the Outpost.

Size
  • Type: int

The size of the volume, in GiBs.

SnapshotId
  • Type: string

The snapshot from which the volume was created, if applicable.

State
  • Type: string

The volume state.

Tags
  • Type: Array of Tag structures

Any tags assigned to the volume.

Throughput
  • Type: int

The throughput that the volume supports, in MiB/s.

VolumeId
  • Type: string

The ID of the volume.

VolumeType
  • Type: string

The volume type.

Errors

There are no errors described for this operation.

Examples

Example 1: To create a new volume

This example creates an 80 GiB General Purpose (SSD) volume in the Availability Zone ``us-east-1a``.

$result = $client->createVolume([
    'AvailabilityZone' => 'us-east-1a',
    'Size' => 80,
    'VolumeType' => 'gp2',
]);

Result syntax:

[
    'AvailabilityZone' => 'us-east-1a',
    'CreateTime' => ,
    'Encrypted' => ,
    'Iops' => 240,
    'Size' => 80,
    'SnapshotId' => '',
    'State' => 'creating',
    'VolumeId' => 'vol-6b60b7c7',
    'VolumeType' => 'gp2',
]
Example 2: To create a new Provisioned IOPS (SSD) volume from a snapshot

This example creates a new Provisioned IOPS (SSD) volume with 1000 provisioned IOPS from a snapshot in the Availability Zone ``us-east-1a``.

$result = $client->createVolume([
    'AvailabilityZone' => 'us-east-1a',
    'Iops' => 1000,
    'SnapshotId' => 'snap-066877671789bd71b',
    'VolumeType' => 'io1',
]);

Result syntax:

[
    'Attachments' => [
    ],
    'AvailabilityZone' => 'us-east-1a',
    'CreateTime' => ,
    'Iops' => 1000,
    'Size' => 500,
    'SnapshotId' => 'snap-066877671789bd71b',
    'State' => 'creating',
    'Tags' => [
    ],
    'VolumeId' => 'vol-1234567890abcdef0',
    'VolumeType' => 'io1',
]

CreateVpc

$result = $client->createVpc([/* ... */]);
$promise = $client->createVpcAsync([/* ... */]);

Creates a VPC with the specified 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 Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide.

You can optionally request an IPv6 CIDR block for the VPC. You can request an Amazon-provided IPv6 CIDR block from Amazon's pool of IPv6 addresses, or an IPv6 CIDR block from an IPv6 address pool that you provisioned through bring your own IP addresses (BYOIP).

By default, each instance you launch in the VPC has the default DHCP options, which include only a default DNS server that we provide (AmazonProvidedDNS). For more information, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

You can specify the instance tenancy value for the VPC when you create it. You can't change this value for the VPC after you create it. For more information, see Dedicated Instances in the Amazon Elastic Compute Cloud User Guide.

Parameter Syntax

$result = $client->createVpc([
    'AmazonProvidedIpv6CidrBlock' => true || false,
    'CidrBlock' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'InstanceTenancy' => 'default|dedicated|host',
    'Ipv6CidrBlock' => '<string>',
    'Ipv6CidrBlockNetworkBorderGroup' => '<string>',
    'Ipv6Pool' => '<string>',
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
AmazonProvidedIpv6CidrBlock
  • Type: boolean

Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IP addresses, or the size of the CIDR block.

CidrBlock
  • Required: Yes
  • Type: string

The IPv4 network range for the VPC, in CIDR notation. For example, 10.0.0.0/16. We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

DryRun
  • Type: boolean

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

InstanceTenancy
  • Type: string

The tenancy options for instances launched into the VPC. For default, instances are launched with shared tenancy by default. You can launch instances with any tenancy into a shared tenancy VPC. For dedicated, instances are launched as dedicated tenancy instances by default. You can only launch instances with a tenancy of dedicated or host into a dedicated tenancy VPC.

Important: The host value cannot be used with this parameter. Use the default or dedicated values only.

Default: default

Ipv6CidrBlock
  • Type: string

The IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool in the request.

To let Amazon choose the IPv6 CIDR block for you, omit this parameter.

Ipv6CidrBlockNetworkBorderGroup
  • Type: string

The name of the location from which we advertise the IPV6 CIDR block. Use this parameter to limit the address to this location.

You must set AmazonProvidedIpv6CidrBlock to true to use this parameter.

Ipv6Pool
  • Type: string

The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to assign to the VPC.

Result Syntax

[
    'Vpc' => [
        'CidrBlock' => '<string>',
        'CidrBlockAssociationSet' => [
            [
                'AssociationId' => '<string>',
                'CidrBlock' => '<string>',
                'CidrBlockState' => [
                    'State' => 'associating|associated|disassociating|disassociated|failing|failed',
                    'StatusMessage' => '<string>',
                ],
            ],
            // ...
        ],
        'DhcpOptionsId' => '<string>',
        'InstanceTenancy' => 'default|dedicated|host',
        'Ipv6CidrBlockAssociationSet' => [
            [
                'AssociationId' => '<string>',
                'Ipv6CidrBlock' => '<string>',
                'Ipv6CidrBlockState' => [
                    'State' => 'associating|associated|disassociating|disassociated|failing|failed',
                    'StatusMessage' => '<string>',
                ],
                'Ipv6Pool' => '<string>',
                'NetworkBorderGroup' => '<string>',
            ],
            // ...
        ],
        'IsDefault' => true || false,
        'OwnerId' => '<string>',
        'State' => 'pending|available',
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'VpcId' => '<string>',
    ],
]

Result Details

Members
Vpc
  • Type: Vpc structure

Information about the VPC.

Errors

There are no errors described for this operation.

Examples

Example 1: To create a VPC

This example creates a VPC with the specified CIDR block.

$result = $client->createVpc([
    'CidrBlock' => '10.0.0.0/16',
]);

Result syntax:

[
    'Vpc' => [
        'CidrBlock' => '10.0.0.0/16',
        'DhcpOptionsId' => 'dopt-7a8b9c2d',
        'InstanceTenancy' => 'default',
        'State' => 'pending',
        'VpcId' => 'vpc-a01106c2',
    ],
]

CreateVpcEndpoint

$result = $client->createVpcEndpoint([/* ... */]);
$promise = $client->createVpcEndpointAsync([/* ... */]);

Creates a VPC endpoint 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 VPC Endpoints in the Amazon Virtual Private Cloud User Guide.

A gateway 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.

An interface 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.

A GatewayLoadBalancer endpoint is a network interface in your subnet that serves an endpoint for communicating with a Gateway Load Balancer that you've configured as a VPC endpoint service.

Use DescribeVpcEndpointServices to get a list of supported services.

Parameter Syntax

$result = $client->createVpcEndpoint([
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'PolicyDocument' => '<string>',
    'PrivateDnsEnabled' => true || false,
    'RouteTableIds' => ['<string>', ...],
    'SecurityGroupIds' => ['<string>', ...],
    'ServiceName' => '<string>', // REQUIRED
    'SubnetIds' => ['<string>', ...],
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'VpcEndpointType' => 'Interface|Gateway|GatewayLoadBalancer',
    'VpcId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ClientToken
  • Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

DryRun
  • Type: boolean

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

PolicyDocument
  • Type: string

(Interface and gateway endpoints) A policy to attach to the endpoint that controls access to the service. The policy must be in valid JSON format. If this parameter is not specified, we attach a default policy that allows full access to the service.

PrivateDnsEnabled
  • Type: boolean

(Interface endpoint) Indicates whether to associate a private hosted zone with the specified VPC. The private hosted zone contains a record set for the default public DNS name for the service for the Region (for example, kinesis.us-east-1.amazonaws.com), which resolves to the private IP addresses of the endpoint network interfaces in the VPC. This enables you to make requests to the default public DNS name for the service instead of the public DNS names that are automatically generated by the VPC endpoint service.

To use a private hosted zone, you must set the following VPC attributes to true: enableDnsHostnames and enableDnsSupport. Use ModifyVpcAttribute to set the VPC attributes.

Default: true

RouteTableIds
  • Type: Array of strings

(Gateway endpoint) One or more route table IDs.

SecurityGroupIds
  • Type: Array of strings

(Interface endpoint) The ID of one or more security groups to associate with the endpoint network interface.

ServiceName
  • Required: Yes
  • Type: string

The service name. To get a list of available services, use the DescribeVpcEndpointServices request, or get the name from the service provider.

SubnetIds
  • Type: Array of strings

(Interface and Gateway Load Balancer endpoints) The ID of one or more subnets in which to create an endpoint network interface. For a Gateway Load Balancer endpoint, you can specify one subnet only.

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to associate with the endpoint.

VpcEndpointType
  • Type: string

The type of endpoint.

Default: Gateway

VpcId
  • Required: Yes
  • Type: string

The ID of the VPC in which the endpoint will be used.

Result Syntax

[
    'ClientToken' => '<string>',
    'VpcEndpoint' => [
        'CreationTimestamp' => <DateTime>,
        'DnsEntries' => [
            [
                'DnsName' => '<string>',
                'HostedZoneId' => '<string>',
            ],
            // ...
        ],
        'Groups' => [
            [
                'GroupId' => '<string>',
                'GroupName' => '<string>',
            ],
            // ...
        ],
        'LastError' => [
            'Code' => '<string>',
            'Message' => '<string>',
        ],
        'NetworkInterfaceIds' => ['<string>', ...],
        'OwnerId' => '<string>',
        'PolicyDocument' => '<string>',
        'PrivateDnsEnabled' => true || false,
        'RequesterManaged' => true || false,
        'RouteTableIds' => ['<string>', ...],
        'ServiceName' => '<string>',
        'State' => 'PendingAcceptance|Pending|Available|Deleting|Deleted|Rejected|Failed|Expired',
        'SubnetIds' => ['<string>', ...],
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'VpcEndpointId' => '<string>',
        'VpcEndpointType' => 'Interface|Gateway|GatewayLoadBalancer',
        'VpcId' => '<string>',
    ],
]

Result Details

Members
ClientToken
  • Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

VpcEndpoint
  • Type: VpcEndpoint structure

Information about the endpoint.

Errors

There are no errors described for this operation.

CreateVpcEndpointConnectionNotification

$result = $client->createVpcEndpointConnectionNotification([/* ... */]);
$promise = $client->createVpcEndpointConnectionNotificationAsync([/* ... */]);

Creates a connection notification for a specified VPC endpoint or VPC endpoint service. A connection notification notifies you of specific endpoint events. You must create an SNS topic to receive notifications. For more information, see Create a Topic in the Amazon Simple Notification Service Developer Guide.

You can create a connection notification for interface endpoints only.

Parameter Syntax

$result = $client->createVpcEndpointConnectionNotification([
    'ClientToken' => '<string>',
    'ConnectionEvents' => ['<string>', ...], // REQUIRED
    'ConnectionNotificationArn' => '<string>', // REQUIRED
    'DryRun' => true || false,
    'ServiceId' => '<string>',
    'VpcEndpointId' => '<string>',
]);

Parameter Details

Members
ClientToken
  • Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

ConnectionEvents
  • Required: Yes
  • Type: Array of strings

One or more endpoint events for which to receive notifications. Valid values are Accept, Connect, Delete, and Reject.

ConnectionNotificationArn
  • Required: Yes
  • Type: string

The ARN of the SNS topic for the notifications.

DryRun
  • Type: boolean

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

ServiceId
  • Type: string

The ID of the endpoint service.

VpcEndpointId
  • Type: string

The ID of the endpoint.

Result Syntax

[
    'ClientToken' => '<string>',
    'ConnectionNotification' => [
        'ConnectionEvents' => ['<string>', ...],
        'ConnectionNotificationArn' => '<string>',
        'ConnectionNotificationId' => '<string>',
        'ConnectionNotificationState' => 'Enabled|Disabled',
        'ConnectionNotificationType' => 'Topic',
        'ServiceId' => '<string>',
        'VpcEndpointId' => '<string>',
    ],
]

Result Details

Members
ClientToken
  • Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

ConnectionNotification
  • Type: ConnectionNotification structure

Information about the notification.

Errors

There are no errors described for this operation.

CreateVpcEndpointServiceConfiguration

$result = $client->createVpcEndpointServiceConfiguration([/* ... */]);
$promise = $client->createVpcEndpointServiceConfigurationAsync([/* ... */]);

Creates a VPC endpoint service configuration to which service consumers (AWS accounts, IAM users, and IAM roles) can connect.

To create an endpoint service configuration, you must first create one of the following for your service:

  • A Network Load Balancer. Service consumers connect to your service using an interface endpoint.

  • A Gateway Load Balancer. Service consumers connect to your service using a Gateway Load Balancer endpoint.

For more information, see VPC Endpoint Services in the Amazon Virtual Private Cloud User Guide.

If you set the private DNS name, you must prove that you own the private DNS domain name. For more information, see VPC Endpoint Service Private DNS Name Verification in the Amazon Virtual Private Cloud User Guide.

Parameter Syntax

$result = $client->createVpcEndpointServiceConfiguration([
    'AcceptanceRequired' => true || false,
    'ClientToken' => '<string>',
    'DryRun' => true || false,
    'GatewayLoadBalancerArns' => ['<string>', ...],
    'NetworkLoadBalancerArns' => ['<string>', ...],
    'PrivateDnsName' => '<string>',
    'TagSpecifications' => [
        [
            'ResourceType' => 'client-vpn-endpoint|customer-gateway|dedicated-host|dhcp-options|egress-only-internet-gateway|elastic-ip|elastic-gpu|export-image-task|export-instance-task|fleet|fpga-image|host-reservation|image|import-image-task|import-snapshot-task|instance|internet-gateway|key-pair|launch-template|local-gateway-route-table-vpc-association|natgateway|network-acl|network-interface|network-insights-analysis|network-insights-path|placement-group|reserved-instances|route-table|security-group|snapshot|spot-fleet-request|spot-instances-request|subnet|traffic-mirror-filter|traffic-mirror-session|traffic-mirror-target|transit-gateway|transit-gateway-attachment|transit-gateway-connect-peer|transit-gateway-multicast-domain|transit-gateway-route-table|volume|vpc|vpc-peering-connection|vpn-connection|vpn-gateway|vpc-flow-log',
            'Tags' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
AcceptanceRequired
  • Type: boolean

Indicates whether requests from service consumers to create an endpoint to your service must be accepted. To accept a request, use AcceptVpcEndpointConnections.

ClientToken
  • Type: string

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

DryRun
  • Type: boolean

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

GatewayLoadBalancerArns
  • Type: Array of strings

The Amazon Resource Names (ARNs) of one or more Gateway Load Balancers.

NetworkLoadBalancerArns
  • Type: Array of strings

The Amazon Resource Names (ARNs) of one or more Network Load Balancers for your service.

PrivateDnsName
  • Type: string

(Interface endpoint configuration) The private DNS name to assign to the VPC endpoint service.

TagSpecifications
  • Type: Array of TagSpecification structures

The tags to associate with the service.

Result Syntax

[
    'ClientToken' => '<string>',
    'ServiceConfiguration' => [
        'AcceptanceRequired' => true || false,
        'AvailabilityZones' => ['<string>', ...],
        'BaseEndpointDnsNames' => ['<string>', ...],
        'GatewayLoadBalancerArns' => ['<string>', ...],
        'ManagesVpcEndpoints' => true || false,
        'NetworkLoadBalancerArns' => ['<string>', ...],
        'PrivateDnsName' => '<string>',
        'PrivateDnsNameConfiguration' => [
            'Name' => '<string>',
            'State' => 'pendingVerification|verified|failed',
            'Type' => '<string>',
            'Value' => '<string>',
        ],
        'ServiceId' => '<string>',
        'ServiceName' => '<string>',
        'ServiceState' => 'Pending|Available|Deleting|Deleted|Failed',
        'ServiceType' => [
            [
                'ServiceType' => 'Interface|Gateway|GatewayLoadBalancer',
            ],
            // ...
        ],
        'Tags' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
ClientToken
  • Type: string

Unique, case-sensitiv