From 0a0f93a883772c51bfa8f7afec5fc4ae1f9170cc Mon Sep 17 00:00:00 2001
From: Tim Steiner <tim.steiner@nebraska.edu>
Date: Tue, 19 Dec 2023 16:32:30 -0600
Subject: [PATCH] Use IMDSv2 tokens.

---
 update-tg-config.py | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/update-tg-config.py b/update-tg-config.py
index d2a375c..457da1c 100755
--- a/update-tg-config.py
+++ b/update-tg-config.py
@@ -1,8 +1,7 @@
 #!/usr/bin/python
 
 import boto3
-import urllib2
-import json
+import requests
 import sys
 import re
 import tempfile
@@ -55,8 +54,8 @@ def main():
 
 # Returns the region the instance is currently running in (eg: 'us-east')
 def get_region():
-  instance_info = urllib2.urlopen('http://169.254.169.254/2018-09-24/dynamic/instance-identity/document/').read()
-  instance_info = json.loads(instance_info)
+  session_token = requests.put('http://169.254.169.254/latest/api/token', headers={'X-aws-ec2-metadata-token-ttl-seconds': 60}).text
+  instance_info = requests.get('http://169.254.169.254/2018-09-24/dynamic/instance-identity/document/', headers={'X-aws-ec2-metadata-token': session_token}).json()
   return instance_info['region']
 
 # Returns the instance_id of this VM.
-- 
GitLab