async updateCredential()

in src/ecs_ram_role_credential.ts [56:78]


  async updateCredential(): Promise<void> {
    let options = {};
    if (this.enableIMDSv2) {
      this.metadataToken = await this.getMetadataToken();
      options = {
        headers: {
          'X-aliyun-ecs-metadata-token': this.metadataToken
        },
        readTimeout: this.readTimeout,
        connectTimeout: this.connectTimeout
      }
    }
    const roleName = await this.getRoleName();
    const url = SECURITY_CRED_URL + roleName;
    const body = await this.getBody(url, options);
    const json = JSON.parse(body);
    this.sessionCredential = {
      AccessKeyId: json.AccessKeyId,
      AccessKeySecret: json.AccessKeySecret,
      Expiration: json.Expiration,
      SecurityToken: json.SecurityToken,
    };
  }