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