SDK for PHP 3.x

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
Return values
PromiseInterface
On this page