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

Namespaces

  • Aws
    • AccessAnalyzer
      • Exception
    • Account
      • Exception
    • Acm
      • Exception
    • ACMPCA
      • Exception
    • AlexaForBusiness
      • Exception
    • Amplify
      • Exception
    • AmplifyBackend
      • Exception
    • AmplifyUIBuilder
      • Exception
    • Api
      • ErrorParser
      • Parser
        • Exception
      • Serializer
    • ApiGateway
      • Exception
    • ApiGatewayManagementApi
      • Exception
    • ApiGatewayV2
      • Exception
    • AppConfig
      • Exception
    • AppConfigData
      • Exception
    • Appflow
      • Exception
    • AppIntegrationsService
      • Exception
    • ApplicationAutoScaling
      • Exception
    • ApplicationCostProfiler
      • Exception
    • ApplicationDiscoveryService
      • Exception
    • ApplicationInsights
      • Exception
    • AppMesh
      • Exception
    • AppRegistry
      • Exception
    • AppRunner
      • Exception
    • Appstream
      • Exception
    • AppSync
      • Exception
    • ARCZonalShift
      • Exception
    • Arn
      • Exception
    • Athena
      • Exception
    • AuditManager
      • Exception
    • AugmentedAIRuntime
      • Exception
    • AutoScaling
      • Exception
    • AutoScalingPlans
      • Exception
    • Backup
      • Exception
    • BackupGateway
      • Exception
    • BackupStorage
      • Exception
    • Batch
      • Exception
    • BillingConductor
      • Exception
    • Braket
      • Exception
    • Budgets
      • Exception
    • Chime
      • Exception
    • ChimeSDKIdentity
      • Exception
    • ChimeSDKMediaPipelines
      • Exception
    • ChimeSDKMeetings
      • Exception
    • ChimeSDKMessaging
      • Exception
    • ChimeSDKVoice
      • Exception
    • CleanRooms
      • Exception
    • ClientSideMonitoring
      • Exception
    • Cloud9
      • Exception
    • CloudControlApi
      • Exception
    • CloudDirectory
      • Exception
    • CloudFormation
      • Exception
    • CloudFront
      • Exception
    • CloudHsm
      • Exception
    • CloudHSMV2
      • Exception
    • CloudSearch
      • Exception
    • CloudSearchDomain
      • Exception
    • CloudTrail
      • Exception
    • CloudTrailData
      • Exception
    • CloudWatch
      • Exception
    • CloudWatchEvents
      • Exception
    • CloudWatchEvidently
      • Exception
    • CloudWatchLogs
      • Exception
    • CloudWatchRUM
      • Exception
    • CodeArtifact
      • Exception
    • CodeBuild
      • Exception
    • CodeCatalyst
      • 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
    • ConnectCampaignService
      • Exception
    • ConnectCases
      • Exception
    • ConnectContactLens
      • Exception
    • ConnectParticipant
      • Exception
    • ConnectWisdomService
      • Exception
    • ControlTower
      • Exception
    • CostandUsageReportService
      • Exception
    • CostExplorer
      • Exception
    • Credentials
    • Crypto
      • Cipher
      • Polyfill
    • CustomerProfiles
      • Exception
    • DatabaseMigrationService
      • Exception
    • DataExchange
      • Exception
    • DataPipeline
      • Exception
    • DataSync
      • Exception
    • DAX
      • Exception
    • DefaultsMode
      • Exception
    • Detective
      • Exception
    • DeviceFarm
      • Exception
    • DevOpsGuru
      • Exception
    • DirectConnect
      • Exception
    • DirectoryService
      • Exception
    • DLM
      • Exception
    • DocDB
      • Exception
    • DocDBElastic
      • Exception
    • drs
      • 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
    • EMRServerless
      • Exception
    • Endpoint
      • UseDualstackEndpoint
        • Exception
      • UseFipsEndpoint
        • Exception
    • EndpointDiscovery
      • Exception
    • EndpointV2
      • Rule
      • Ruleset
    • EventBridge
      • Exception
    • Exception
    • finspace
      • Exception
    • FinSpaceData
      • Exception
    • Firehose
      • Exception
    • FIS
      • Exception
    • FMS
      • Exception
    • ForecastQueryService
      • Exception
    • ForecastService
      • Exception
    • FraudDetector
      • Exception
    • FSx
      • Exception
    • GameLift
      • Exception
    • GameSparks
      • 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
    • Inspector2
      • Exception
    • Iot
      • Exception
    • IoT1ClickDevicesService
      • Exception
    • IoT1ClickProjects
      • Exception
    • IoTAnalytics
      • Exception
    • IotDataPlane
      • Exception
    • IoTDeviceAdvisor
      • Exception
    • IoTEvents
      • Exception
    • IoTEventsData
      • Exception
    • IoTFleetHub
      • Exception
    • IoTFleetWise
      • Exception
    • IoTJobsDataPlane
      • Exception
    • IoTRoboRunner
      • Exception
    • IoTSecureTunneling
      • Exception
    • IoTSiteWise
      • Exception
    • IoTThingsGraph
      • Exception
    • IoTTwinMaker
      • Exception
    • IoTWireless
      • Exception
    • IVS
      • Exception
    • ivschat
      • Exception
    • Kafka
      • Exception
    • KafkaConnect
      • Exception
    • kendra
      • Exception
    • KendraRanking
      • Exception
    • Keyspaces
      • Exception
    • Kinesis
      • Exception
    • KinesisAnalytics
      • Exception
    • KinesisAnalyticsV2
      • Exception
    • KinesisVideo
      • Exception
    • KinesisVideoArchivedMedia
      • Exception
    • KinesisVideoMedia
      • Exception
    • KinesisVideoSignalingChannels
      • Exception
    • KinesisVideoWebRTCStorage
      • Exception
    • Kms
      • Exception
    • LakeFormation
      • Exception
    • Lambda
      • Exception
    • LexModelBuildingService
      • Exception
    • LexModelsV2
      • Exception
    • LexRuntimeService
      • Exception
    • LexRuntimeV2
      • Exception
    • LicenseManager
      • Exception
    • LicenseManagerLinuxSubscriptions
      • Exception
    • LicenseManagerUserSubscriptions
      • Exception
    • Lightsail
      • Exception
    • LocationService
      • Exception
    • LookoutEquipment
      • Exception
    • LookoutforVision
      • Exception
    • LookoutMetrics
      • Exception
    • MachineLearning
      • Exception
    • Macie
      • Exception
    • Macie2
      • Exception
    • MainframeModernization
      • Exception
    • ManagedBlockchain
      • Exception
    • ManagedGrafana
      • 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
    • MemoryDB
      • Exception
    • mgn
      • Exception
    • MigrationHub
      • Exception
    • MigrationHubConfig
      • Exception
    • MigrationHubOrchestrator
      • Exception
    • MigrationHubRefactorSpaces
      • Exception
    • MigrationHubStrategyRecommendations
      • Exception
    • Mobile
      • Exception
    • MQ
      • Exception
    • MTurk
      • Exception
    • Multipart
    • MWAA
      • Exception
    • Neptune
      • Exception
    • NetworkFirewall
      • Exception
    • NetworkManager
      • Exception
    • NimbleStudio
      • Exception
    • OAM
      • Exception
    • Omics
      • Exception
    • OpenSearchServerless
      • Exception
    • OpenSearchService
      • Exception
    • OpsWorks
      • Exception
    • OpsWorksCM
      • Exception
    • Organizations
      • Exception
    • Outposts
      • Exception
    • Panorama
      • Exception
    • Personalize
      • Exception
    • PersonalizeEvents
      • Exception
    • PersonalizeRuntime
      • Exception
    • PI
      • Exception
    • Pinpoint
      • Exception
    • PinpointEmail
      • Exception
    • PinpointSMSVoice
      • Exception
    • PinpointSMSVoiceV2
      • Exception
    • Pipes
      • Exception
    • Polly
      • Exception
    • Pricing
      • Exception
    • PrivateNetworks
      • Exception
    • PrometheusService
      • Exception
    • Proton
      • Exception
    • QLDB
      • Exception
    • QLDBSession
      • Exception
    • QuickSight
      • Exception
    • RAM
      • Exception
    • Rds
      • Exception
    • RDSDataService
      • Exception
    • RecycleBin
      • Exception
    • Redshift
      • Exception
    • RedshiftDataAPIService
      • Exception
    • RedshiftServerless
      • Exception
    • Rekognition
      • Exception
    • ResilienceHub
      • Exception
    • ResourceExplorer2
      • Exception
    • ResourceGroups
      • Exception
    • ResourceGroupsTaggingAPI
      • Exception
    • Retry
      • Exception
    • RoboMaker
      • Exception
    • RolesAnywhere
      • Exception
    • Route53
      • Exception
    • Route53Domains
      • Exception
    • Route53RecoveryCluster
      • Exception
    • Route53RecoveryControlConfig
      • Exception
    • Route53RecoveryReadiness
      • Exception
    • Route53Resolver
      • Exception
    • S3
      • Crypto
      • Exception
      • RegionalEndpoint
        • Exception
      • UseArnRegion
        • Exception
    • S3Control
      • Exception
    • S3Outposts
      • Exception
    • SageMaker
      • Exception
    • SagemakerEdgeManager
      • Exception
    • SageMakerFeatureStoreRuntime
      • Exception
    • SageMakerGeospatial
      • Exception
    • SageMakerMetrics
      • Exception
    • SageMakerRuntime
      • Exception
    • SavingsPlans
      • Exception
    • Scheduler
      • Exception
    • Schemas
      • Exception
    • Script
      • Composer
    • SecretsManager
      • Exception
    • SecurityHub
      • Exception
    • SecurityLake
      • Exception
    • ServerlessApplicationRepository
      • Exception
    • ServiceCatalog
      • Exception
    • ServiceDiscovery
      • Exception
    • ServiceQuotas
      • Exception
    • Ses
      • Exception
    • SesV2
      • Exception
    • Sfn
      • Exception
    • Shield
      • Exception
    • Signature
    • signer
      • Exception
    • SimSpaceWeaver
      • Exception
    • Sms
      • Exception
    • SnowBall
      • Exception
    • SnowDeviceManagement
      • Exception
    • Sns
      • Exception
    • Sqs
      • Exception
    • Ssm
      • Exception
    • SSMContacts
      • Exception
    • SSMIncidents
      • Exception
    • SsmSap
      • Exception
    • SSO
      • Exception
    • SSOAdmin
      • Exception
    • SSOOIDC
      • Exception
    • StorageGateway
      • Exception
    • Sts
      • Exception
      • RegionalEndpoints
        • Exception
    • Support
      • Exception
    • SupportApp
      • Exception
    • Swf
      • Exception
    • Synthetics
      • Exception
    • Textract
      • Exception
    • TimestreamQuery
      • Exception
    • TimestreamWrite
      • Exception
    • Token
    • TranscribeService
      • Exception
    • Transfer
      • Exception
    • Translate
      • Exception
    • VoiceID
      • Exception
    • Waf
      • Exception
    • WafRegional
      • Exception
    • WAFV2
      • Exception
    • WellArchitected
      • Exception
    • WorkDocs
      • Exception
    • WorkLink
      • Exception
    • WorkMail
      • Exception
    • WorkMailMessageFlow
      • Exception
    • WorkSpaces
      • Exception
    • WorkSpacesWeb
      • Exception
    • XRay
      • Exception
  • GuzzleHttp
    • Promise
    • Psr7
  • Psr
    • Http
      • Message

Classes

  • Configuration
  • ConfigurationProvider
  • EndpointDiscoveryMiddleware
  • EndpointList

Interfaces

  • ConfigurationInterface

Class ConfigurationProvider

Aws\AbstractConfigurationProvider
Extended by Aws\EndpointDiscovery\ConfigurationProvider implements Aws\ConfigurationProviderInterface
Namespace: Aws\EndpointDiscovery
Located at EndpointDiscovery/ConfigurationProvider.php

A configuration provider is a function that returns a promise that is fulfilled with a Aws\EndpointDiscovery\ConfigurationInterface or rejected with an Aws\EndpointDiscovery\Exception\ConfigurationException.

use Aws\EndpointDiscovery\ConfigurationProvider;
$provider = ConfigurationProvider::defaultProvider();
// Returns a ConfigurationInterface or throws.
$config = $provider()->wait();

Configuration providers can be composed to create configuration using conditional logic that can create different configurations in different environments. You can compose multiple providers into a single provider using Aws\EndpointDiscovery\ConfigurationProvider::chain. This function accepts providers as variadic arguments and returns a new function that will invoke each provider until a successful configuration is returned.

// First try an INI file at this location.
$a = ConfigurationProvider::ini(null, '/path/to/file.ini');
// Then try an INI file at this location.
$b = ConfigurationProvider::ini(null, '/path/to/other-file.ini');
// Then try loading from environment variables.
$c = ConfigurationProvider::env();
// Combine the three providers together.
$composed = ConfigurationProvider::chain($a, $b, $c);
// Returns a promise that is fulfilled with a configuration or throws.
$promise = $composed();
// Wait on the configuration to resolve.
$config = $promise->wait();

Methods Summary

  • static defaultProvider ( array $config = [] )

    Create a default config provider that first checks for environment variables, then checks for a specified profile in the environment-defined config file location (env variable is 'AWS_CONFIG_FILE', file location defaults to ~/.aws/config), then checks for the "default" profile in the environment-defined config file location, and failing those uses a default fallback set of configuration options.

  • static env ( $cacheLimit = self::DEFAULT_CACHE_LIMIT )

    Provider that creates config from environment variables.

  • static fallback ( array $config = [] )

    Fallback config options when other sources are not set. Will check the service model for any endpoint discovery required operations, and enable endpoint discovery in that case. If no required operations found, will use the class default values.

  • static ini ( string|null $profile = null, string|null $filename = null, int $cacheLimit = self::DEFAULT_CACHE_LIMIT )

    Config provider that creates config using a config file whose location is specified by an environment variable 'AWS_CONFIG_FILE', defaulting to ~/.aws/config if not specified

  • static unwrap ( mixed $config )

    Unwraps a configuration object in whatever valid form it is in, always returning a ConfigurationInterface object.

Methods inherited from Aws\AbstractConfigurationProvider

cache(), chain(), memoize()

Methods Details

static callable defaultProvider ( array $config = [] )

Create a default config provider that first checks for environment variables, then checks for a specified profile in the environment-defined config file location (env variable is 'AWS_CONFIG_FILE', file location defaults to ~/.aws/config), then checks for the "default" profile in the environment-defined config file location, and failing those uses a default fallback set of configuration options.

This provider is automatically wrapped in a memoize function that caches previously provided config options.

Parameters

array $config = []

Returns

callable

Implementation of

Aws\ConfigurationProviderInterface::defaultProvider()

static callable env ( $cacheLimit = self::DEFAULT_CACHE_LIMIT )

Provider that creates config from environment variables.

Parameters

$cacheLimit = self::DEFAULT_CACHE_LIMIT

Returns

callable

static callable fallback ( array $config = [] )

Fallback config options when other sources are not set. Will check the service model for any endpoint discovery required operations, and enable endpoint discovery in that case. If no required operations found, will use the class default values.

Parameters

array $config = []

Returns

callable

static callable ini ( string|null $profile = null, string|null $filename = null, integer $cacheLimit = self::DEFAULT_CACHE_LIMIT )

Config provider that creates config using a config file whose location is specified by an environment variable 'AWS_CONFIG_FILE', defaulting to ~/.aws/config if not specified

Parameters

string|null $profile = null

Profile to use. If not specified will use the "default" profile.

string|null $filename = null

If provided, uses a custom filename rather than looking in the default directory.

integer $cacheLimit = self::DEFAULT_CACHE_LIMIT

Returns

callable

static Aws\EndpointDiscovery\ConfigurationInterface unwrap ( mixed $config )

Unwraps a configuration object in whatever valid form it is in, always returning a ConfigurationInterface object.

Parameters

mixed $config

Returns

Aws\EndpointDiscovery\ConfigurationInterface

Exceptions

InvalidArgumentException

Constants summary

boolean DEFAULT_ENABLED
# false
integer DEFAULT_CACHE_LIMIT
# 1000
string ENV_ENABLED
# 'AWS_ENDPOINT_DISCOVERY_ENABLED'
string ENV_ENABLED_ALT
# 'AWS_ENABLE_ENDPOINT_DISCOVERY'

Constants inherited from Aws\AbstractConfigurationProvider

ENV_CONFIG_FILE, ENV_PROFILE
AWS SDK for PHP 3.x API documentation generated by ApiGen