def _v2_call()

in src/cloudwatch/modules/configuration/metadatareader.py [0:0]


    def _v2_call(self, request):
        try:
            if not self.token:
                self.token = self._get_metadata_token()
            headers = {self._X_AWS_EC_METADATA_TOKEN:self.token}
            result = self.session.get(self.metadata_server + request, timeout=self._REQUEST_TIMEOUT, headers=headers)
            # In case that token expired, we need to try v2 again.
            if result.status_code == codes.unauthorized:
                self._LOGGER.info("[debug] unauthorized token, try IMDSV2 again.")
                self.token = self._get_metadata_token()
                headers = {self._X_AWS_EC_METADATA_TOKEN:self.token}
                result = self.session.get(self.metadata_server + request, timeout=self._REQUEST_TIMEOUT, headers=headers)
            return result
        except Exception as e:
            return False