public static function defaultProvider(array $config = [])
{
$instanceProfileProvider = self::instanceProfile($config);
$ecsCredentialProvider = self::ecsCredentials($config);
if (isset($config['credentials']) && $config['credentials'] instanceof CacheInterface) {
$instanceProfileProvider = self::cache($instanceProfileProvider, $config['credentials']);
}
return self::memoize(self::chain(self::env(), self::ini(), $ecsCredentialProvider, $instanceProfileProvider));
}