def _get_metadata_token()

in alibabacloud_credentials/providers.py [0:0]


    def _get_metadata_token(self, url=None):
        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(self.default_metadata_token_duration)
        if not url:
            tea_request.pathname = self.__url_in_ecs_metadata_token
        try:
            response = TeaCore.do_action(tea_request)
            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