Class EcsRoleCredentialProvider

  • All Implemented Interfaces:
    Provider

    public class EcsRoleCredentialProvider
    extends Object
    implements Provider
    Provider that fetches temporary credentials from the ECS IMDS.

    Follows the Provider CQS contract:

    Intended to be wrapped in a CredentialProvider, which serializes refresh through a ReadWriteLock and guarantees the isExpired → refresh → retrieve sequence. Direct use (without wrapping) is not a supported mode.

    • Constructor Detail

      • EcsRoleCredentialProvider

        public EcsRoleCredentialProvider​(String roleName)
      • EcsRoleCredentialProvider

        public EcsRoleCredentialProvider​(String roleName,
                                         int connectTimeoutMs,
                                         int readTimeoutMs,
                                         int maxRetries,
                                         int retryIntervalMs,
                                         int expireBufferSeconds)
    • Method Detail

      • isDisabledByEnv

        public static boolean isDisabledByEnv()
        Returns true when VOLCENGINE_ECS_METADATA_DISABLED=true is set. Used by DefaultCredentialProvider to skip adding the IMDS step to the chain, and by the constructor to fail fast on direct new.
      • setConnectTimeoutMs

        public void setConnectTimeoutMs​(int connectTimeoutMs)
      • setReadTimeoutMs

        public void setReadTimeoutMs​(int readTimeoutMs)
      • setMaxRetries

        public void setMaxRetries​(int maxRetries)
      • setRetryIntervalMs

        public void setRetryIntervalMs​(int retryIntervalMs)
      • setExpireBufferSeconds

        public void setExpireBufferSeconds​(int expireBufferSeconds)
      • isExpired

        public boolean isExpired()
        Specified by:
        isExpired in interface Provider