InstanceProfileProvider
in package
Credential provider that provides credentials from the EC2 metadata service.
Table of Contents
Constants
- CFG_EC2_METADATA_SERVICE_ENDPOINT = 'ec2_metadata_service_endpoint'
- CFG_EC2_METADATA_SERVICE_ENDPOINT_MODE = 'ec2_metadata_service_endpoint_mode'
- CFG_EC2_METADATA_V1_DISABLED = 'ec2_metadata_v1_disabled'
- CRED_PATH = 'meta-data/iam/security-credentials/'
- DEFAULT_AWS_EC2_METADATA_V1_DISABLED = false
- DEFAULT_METADATA_SERVICE_IPv4_ENDPOINT = 'http://169.254.169.254'
- DEFAULT_METADATA_SERVICE_IPv6_ENDPOINT = 'http://[fd00:ec2::254]'
- DEFAULT_RETRIES = 3
- DEFAULT_TIMEOUT = 1.0
- DEFAULT_TOKEN_TTL_SECONDS = 21600
- ENDPOINT_MODE_IPv4 = 'IPv4'
- ENDPOINT_MODE_IPv6 = 'IPv6'
- ENV_DISABLE = 'AWS_EC2_METADATA_DISABLED'
- ENV_RETRIES = 'AWS_METADATA_SERVICE_NUM_ATTEMPTS'
- ENV_TIMEOUT = 'AWS_METADATA_SERVICE_TIMEOUT'
- TOKEN_PATH = 'api/token'
Methods
- __construct() : mixed
- The constructor accepts the following options:
- __invoke() : PromiseInterface
- Loads instance profile credentials.
Constants
CFG_EC2_METADATA_SERVICE_ENDPOINT
public
mixed
CFG_EC2_METADATA_SERVICE_ENDPOINT
= 'ec2_metadata_service_endpoint'
CFG_EC2_METADATA_SERVICE_ENDPOINT_MODE
public
mixed
CFG_EC2_METADATA_SERVICE_ENDPOINT_MODE
= 'ec2_metadata_service_endpoint_mode'
CFG_EC2_METADATA_V1_DISABLED
public
mixed
CFG_EC2_METADATA_V1_DISABLED
= 'ec2_metadata_v1_disabled'
CRED_PATH
public
mixed
CRED_PATH
= 'meta-data/iam/security-credentials/'
DEFAULT_AWS_EC2_METADATA_V1_DISABLED
public
mixed
DEFAULT_AWS_EC2_METADATA_V1_DISABLED
= false
DEFAULT_METADATA_SERVICE_IPv4_ENDPOINT
public
mixed
DEFAULT_METADATA_SERVICE_IPv4_ENDPOINT
= 'http://169.254.169.254'
DEFAULT_METADATA_SERVICE_IPv6_ENDPOINT
public
mixed
DEFAULT_METADATA_SERVICE_IPv6_ENDPOINT
= 'http://[fd00:ec2::254]'
DEFAULT_RETRIES
public
mixed
DEFAULT_RETRIES
= 3
DEFAULT_TIMEOUT
public
mixed
DEFAULT_TIMEOUT
= 1.0
DEFAULT_TOKEN_TTL_SECONDS
public
mixed
DEFAULT_TOKEN_TTL_SECONDS
= 21600
ENDPOINT_MODE_IPv4
public
mixed
ENDPOINT_MODE_IPv4
= 'IPv4'
ENDPOINT_MODE_IPv6
public
mixed
ENDPOINT_MODE_IPv6
= 'IPv6'
ENV_DISABLE
public
mixed
ENV_DISABLE
= 'AWS_EC2_METADATA_DISABLED'
ENV_RETRIES
public
mixed
ENV_RETRIES
= 'AWS_METADATA_SERVICE_NUM_ATTEMPTS'
ENV_TIMEOUT
public
mixed
ENV_TIMEOUT
= 'AWS_METADATA_SERVICE_TIMEOUT'
TOKEN_PATH
public
mixed
TOKEN_PATH
= 'api/token'
Methods
__construct()
The constructor accepts the following options:
public
__construct([array<string|int, mixed> $config = [] ]) : mixed
- timeout: Connection timeout, in seconds.
- profile: Optional EC2 profile name, if known.
- retries: Optional number of retries to be attempted.
- ec2_metadata_v1_disabled: Optional for disabling the fallback to IMDSv1.
- endpoint: Optional for overriding the default endpoint to be used for fetching credentials. The value must contain a valid URI scheme. If the URI scheme is not https, it must resolve to a loopback address.
- endpoint_mode: Optional for overriding the default endpoint mode (IPv4|IPv6) to be used for resolving the default endpoint.
- use_aws_shared_config_files: Decides whether the shared config file should be considered when using the ConfigurationResolver::resolve method.
Parameters
- $config : array<string|int, mixed> = []
-
Configuration options.
__invoke()
Loads instance profile credentials.
public
__invoke([mixed $previousCredentials = null ]) : PromiseInterface
Parameters
- $previousCredentials : mixed = null