#include "source/extensions/common/aws/credential_providers/iam_roles_anywhere_credentials_provider.h"
#include "source/extensions/common/aws/credential_providers/iam_roles_anywhere_x509_credentials_provider.h"
#include "source/extensions/common/aws/credential_providers/instance_profile_credentials_provider.h"
const envoy::extensions::common::aws::v3::AwsCredentialProvider& credential_provider_config) {
std::make_shared<CommonCredentialsProviderChain>(context, region, credential_provider_config);
CredentialsProviderChainSharedPtr CommonCredentialsProviderChain::defaultCredentialsProviderChain(
auto chain = std::make_shared<CommonCredentialsProviderChain>(context, region, absl::nullopt);
auto metadata_provider = std::dynamic_pointer_cast<MetadataCredentialsProviderBase>(provider);
// Initial amount of time for async credential receivers to wait for an initial refresh to succeed
const auto full_uri = absl::NullSafeStringView(std::getenv(AWS_CONTAINER_CREDENTIALS_FULL_URI));
const auto metadata_disabled = absl::NullSafeStringView(std::getenv(AWS_EC2_METADATA_DISABLED));
if (chain_to_create.has_instance_profile_credential_provider() && metadata_disabled != "true") {
CredentialsProviderSharedPtr CommonCredentialsProviderChain::createAssumeRoleCredentialsProvider(
// If a custom chain has been configured in the assume role provider, ensure we do not allow the
CredentialsProviderSharedPtr CommonCredentialsProviderChain::createContainerCredentialsProvider(
absl::string_view credential_uri, MetadataFetcher::MetadataReceiver::RefreshState refresh_state,
CredentialsProviderSharedPtr CommonCredentialsProviderChain::createWebIdentityCredentialsProvider(
ENVOY_LOG(error, "Failed to initialize IAM Roles Anywhere X509 Credentials Provider, disabling "