Configuration
in package
FinalYes
Helper object that holds all configuration to the API.
Tags
Table of Contents
Constants
- DEFAULT_REGION = 'us-east-1'
- OPTION_ACCESS_KEY_ID = 'accessKeyId'
- OPTION_CONTAINER_CREDENTIALS_RELATIVE_URI = 'containerCredentialsRelativeUri'
- OPTION_DEBUG = 'debug'
- OPTION_ENDPOINT = 'endpoint'
- OPTION_ENDPOINT_DISCOVERY_ENABLED = 'endpointDiscoveryEnabled'
- OPTION_PATH_STYLE_ENDPOINT = 'pathStyleEndpoint'
- OPTION_PROFILE = 'profile'
- OPTION_REGION = 'region'
- OPTION_ROLE_ARN = 'roleArn'
- OPTION_ROLE_SESSION_NAME = 'roleSessionName'
- OPTION_SECRET_ACCESS_KEY = 'accessKeySecret'
- OPTION_SEND_CHUNKED_BODY = 'sendChunkedBody'
- OPTION_SESSION_TOKEN = 'sessionToken'
- OPTION_SHARED_CONFIG_FILE = 'sharedConfigFile'
- OPTION_SHARED_CREDENTIALS_FILE = 'sharedCredentialsFile'
- OPTION_WEB_IDENTITY_TOKEN_FILE = 'webIdentityTokenFile'
- AVAILABLE_OPTIONS = [self::OPTION_REGION => true, self::OPTION_DEBUG => true, self::OPTION_PROFILE => true, self::OPTION_ACCESS_KEY_ID => true, self::OPTION_SECRET_ACCESS_KEY => true, self::OPTION_SESSION_TOKEN => true, self::OPTION_SHARED_CREDENTIALS_FILE => true, self::OPTION_SHARED_CONFIG_FILE => true, self::OPTION_ENDPOINT => true, self::OPTION_ROLE_ARN => true, self::OPTION_WEB_IDENTITY_TOKEN_FILE => true, self::OPTION_ROLE_SESSION_NAME => true, self::OPTION_CONTAINER_CREDENTIALS_RELATIVE_URI => true, self::OPTION_ENDPOINT_DISCOVERY_ENABLED => true, self::OPTION_PATH_STYLE_ENDPOINT => true, self::OPTION_SEND_CHUNKED_BODY => true]
- DEFAULT_OPTIONS = [ self::OPTION_REGION => self::DEFAULT_REGION, self::OPTION_DEBUG => 'false', self::OPTION_PROFILE => 'default', self::OPTION_SHARED_CREDENTIALS_FILE => '~/.aws/credentials', self::OPTION_SHARED_CONFIG_FILE => '~/.aws/config', // https://docs.aws.amazon.com/general/latest/gr/rande.html self::OPTION_ENDPOINT => 'https://%service%.%region%.amazonaws.com', self::OPTION_PATH_STYLE_ENDPOINT => 'false', self::OPTION_SEND_CHUNKED_BODY => 'false', self::OPTION_ENDPOINT_DISCOVERY_ENABLED => 'false', ]
- FALLBACK_OPTIONS = [[self::OPTION_REGION => ['AWS_REGION', 'AWS_DEFAULT_REGION']], [self::OPTION_PROFILE => ['AWS_PROFILE', 'AWS_DEFAULT_PROFILE']], [self::OPTION_ACCESS_KEY_ID => ['AWS_ACCESS_KEY_ID', 'AWS_ACCESS_KEY'], self::OPTION_SECRET_ACCESS_KEY => ['AWS_SECRET_ACCESS_KEY', 'AWS_SECRET_KEY'], self::OPTION_SESSION_TOKEN => 'AWS_SESSION_TOKEN'], [self::OPTION_SHARED_CREDENTIALS_FILE => 'AWS_SHARED_CREDENTIALS_FILE'], [self::OPTION_SHARED_CONFIG_FILE => 'AWS_CONFIG_FILE'], [self::OPTION_ENDPOINT => 'AWS_ENDPOINT_URL'], [self::OPTION_ROLE_ARN => 'AWS_ROLE_ARN', self::OPTION_WEB_IDENTITY_TOKEN_FILE => 'AWS_WEB_IDENTITY_TOKEN_FILE', self::OPTION_ROLE_SESSION_NAME => 'AWS_ROLE_SESSION_NAME'], [self::OPTION_CONTAINER_CREDENTIALS_RELATIVE_URI => 'AWS_CONTAINER_CREDENTIALS_RELATIVE_URI'], [self::OPTION_ENDPOINT_DISCOVERY_ENABLED => ['AWS_ENDPOINT_DISCOVERY_ENABLED', 'AWS_ENABLE_ENDPOINT_DISCOVERY']]]
Properties
Methods
- create() : self
- get() : string|null
- has() : bool
- isDefault() : bool
- optionExists() : bool
- parseEnvironmentVariables() : array<string|int, mixed>
- parseIniFiles() : array<string|int, mixed>
- Look for "region" in the configured ini files.
- populateConfiguration() : void
- Add array options to the configuration object.
Constants
DEFAULT_REGION
public
mixed
DEFAULT_REGION
= 'us-east-1'
OPTION_ACCESS_KEY_ID
public
mixed
OPTION_ACCESS_KEY_ID
= 'accessKeyId'
OPTION_CONTAINER_CREDENTIALS_RELATIVE_URI
public
mixed
OPTION_CONTAINER_CREDENTIALS_RELATIVE_URI
= 'containerCredentialsRelativeUri'
OPTION_DEBUG
public
mixed
OPTION_DEBUG
= 'debug'
OPTION_ENDPOINT
public
mixed
OPTION_ENDPOINT
= 'endpoint'
OPTION_ENDPOINT_DISCOVERY_ENABLED
public
mixed
OPTION_ENDPOINT_DISCOVERY_ENABLED
= 'endpointDiscoveryEnabled'
OPTION_PATH_STYLE_ENDPOINT
public
mixed
OPTION_PATH_STYLE_ENDPOINT
= 'pathStyleEndpoint'
OPTION_PROFILE
public
mixed
OPTION_PROFILE
= 'profile'
OPTION_REGION
public
mixed
OPTION_REGION
= 'region'
OPTION_ROLE_ARN
public
mixed
OPTION_ROLE_ARN
= 'roleArn'
OPTION_ROLE_SESSION_NAME
public
mixed
OPTION_ROLE_SESSION_NAME
= 'roleSessionName'
OPTION_SECRET_ACCESS_KEY
public
mixed
OPTION_SECRET_ACCESS_KEY
= 'accessKeySecret'
OPTION_SEND_CHUNKED_BODY
public
mixed
OPTION_SEND_CHUNKED_BODY
= 'sendChunkedBody'
OPTION_SESSION_TOKEN
public
mixed
OPTION_SESSION_TOKEN
= 'sessionToken'
OPTION_SHARED_CONFIG_FILE
public
mixed
OPTION_SHARED_CONFIG_FILE
= 'sharedConfigFile'
OPTION_SHARED_CREDENTIALS_FILE
public
mixed
OPTION_SHARED_CREDENTIALS_FILE
= 'sharedCredentialsFile'
OPTION_WEB_IDENTITY_TOKEN_FILE
public
mixed
OPTION_WEB_IDENTITY_TOKEN_FILE
= 'webIdentityTokenFile'
AVAILABLE_OPTIONS
private
mixed
AVAILABLE_OPTIONS
= [self::OPTION_REGION => true, self::OPTION_DEBUG => true, self::OPTION_PROFILE => true, self::OPTION_ACCESS_KEY_ID => true, self::OPTION_SECRET_ACCESS_KEY => true, self::OPTION_SESSION_TOKEN => true, self::OPTION_SHARED_CREDENTIALS_FILE => true, self::OPTION_SHARED_CONFIG_FILE => true, self::OPTION_ENDPOINT => true, self::OPTION_ROLE_ARN => true, self::OPTION_WEB_IDENTITY_TOKEN_FILE => true, self::OPTION_ROLE_SESSION_NAME => true, self::OPTION_CONTAINER_CREDENTIALS_RELATIVE_URI => true, self::OPTION_ENDPOINT_DISCOVERY_ENABLED => true, self::OPTION_PATH_STYLE_ENDPOINT => true, self::OPTION_SEND_CHUNKED_BODY => true]
DEFAULT_OPTIONS
private
mixed
DEFAULT_OPTIONS
= [
self::OPTION_REGION => self::DEFAULT_REGION,
self::OPTION_DEBUG => 'false',
self::OPTION_PROFILE => 'default',
self::OPTION_SHARED_CREDENTIALS_FILE => '~/.aws/credentials',
self::OPTION_SHARED_CONFIG_FILE => '~/.aws/config',
// https://docs.aws.amazon.com/general/latest/gr/rande.html
self::OPTION_ENDPOINT => 'https://%service%.%region%.amazonaws.com',
self::OPTION_PATH_STYLE_ENDPOINT => 'false',
self::OPTION_SEND_CHUNKED_BODY => 'false',
self::OPTION_ENDPOINT_DISCOVERY_ENABLED => 'false',
]
FALLBACK_OPTIONS
private
mixed
FALLBACK_OPTIONS
= [[self::OPTION_REGION => ['AWS_REGION', 'AWS_DEFAULT_REGION']], [self::OPTION_PROFILE => ['AWS_PROFILE', 'AWS_DEFAULT_PROFILE']], [self::OPTION_ACCESS_KEY_ID => ['AWS_ACCESS_KEY_ID', 'AWS_ACCESS_KEY'], self::OPTION_SECRET_ACCESS_KEY => ['AWS_SECRET_ACCESS_KEY', 'AWS_SECRET_KEY'], self::OPTION_SESSION_TOKEN => 'AWS_SESSION_TOKEN'], [self::OPTION_SHARED_CREDENTIALS_FILE => 'AWS_SHARED_CREDENTIALS_FILE'], [self::OPTION_SHARED_CONFIG_FILE => 'AWS_CONFIG_FILE'], [self::OPTION_ENDPOINT => 'AWS_ENDPOINT_URL'], [self::OPTION_ROLE_ARN => 'AWS_ROLE_ARN', self::OPTION_WEB_IDENTITY_TOKEN_FILE => 'AWS_WEB_IDENTITY_TOKEN_FILE', self::OPTION_ROLE_SESSION_NAME => 'AWS_ROLE_SESSION_NAME'], [self::OPTION_CONTAINER_CREDENTIALS_RELATIVE_URI => 'AWS_CONTAINER_CREDENTIALS_RELATIVE_URI'], [self::OPTION_ENDPOINT_DISCOVERY_ENABLED => ['AWS_ENDPOINT_DISCOVERY_ENABLED', 'AWS_ENABLE_ENDPOINT_DISCOVERY']]]
Properties
$data
private
mixed
$data
= []
$userData
private
mixed
$userData
= []
Methods
create()
public
static create(array<string|int, mixed> $options) : self
Parameters
- $options : array<string|int, mixed>
Return values
selfget()
public
get(self::OPTION_* $name) : string|null
Parameters
- $name : self::OPTION_*
Tags
Return values
string|nullhas()
public
has(self::OPTION_* $name) : bool
Parameters
- $name : self::OPTION_*
Return values
boolisDefault()
public
isDefault(self::OPTION_* $name) : bool
Parameters
- $name : self::OPTION_*
Return values
booloptionExists()
public
static optionExists(string $optionName) : bool
Parameters
- $optionName : string
Return values
boolparseEnvironmentVariables()
private
static parseEnvironmentVariables(array<string|int, mixed> $options) : array<string|int, mixed>
Parameters
- $options : array<string|int, mixed>
Return values
array<string|int, mixed>parseIniFiles()
Look for "region" in the configured ini files.
private
static parseIniFiles(Configuration $configuration) : array<string|int, mixed>
Parameters
- $configuration : Configuration
Return values
array<string|int, mixed>populateConfiguration()
Add array options to the configuration object.
private
static populateConfiguration(Configuration $configuration, array<string|int, mixed> $options) : void
Parameters
- $configuration : Configuration
- $options : array<string|int, mixed>