in alibabacloud_credentials/provider/ecs_ram_role.py [0:0]
def _get_metadata_token(self, url: str = None) -> str:
tea_request = ph.get_new_request()
tea_request.method = 'PUT'
tea_request.headers['host'] = url if url else self.__metadata_service_host
tea_request.headers['X-aliyun-ecs-metadata-token-ttl-seconds'] = str(
EcsRamRoleCredentialsProvider.DEFAULT_METADATA_TOKEN_DURATION)
if not url:
tea_request.pathname = self.__url_in_ecs_metadata_token
try:
response = TeaCore.do_action(tea_request, self._runtime_options)
if response.status_code != 200:
raise CredentialException(
self.__ecs_metadata_token_fetch_error_msg + ' HttpCode=' + str(response.status_code))
return response.body.decode('utf-8')
except Exception as e:
if self._disable_imds_v1:
raise e
return None