in src/deep_learning_container.py [0:0]
def requests_helper_imds(url, token=None):
"""
Requests to get instance metadata using imdsv1 and imdsv2
:param url: str, url to get the request
:param token: str, token is needed to use imdsv2
"""
response_text = None
response = None
headers = None
if token:
headers = {"X-aws-ec2-metadata-token": token}
timeout = 1
try:
while timeout <= 3:
if headers:
response = requests.get(url, headers=headers, timeout=timeout)
else:
response = requests.get(url, timeout=timeout)
if response:
break
timeout += 1
except requests.exceptions.RequestException as e:
logging.error("Request exception: {}".format(e))
if response is not None and not (400 <= response.status_code < 600):
response_text = response.text
return response_text