diff --git a/cloudbaseinit/metadata/services/ec2service.py b/cloudbaseinit/metadata/services/ec2service.py index 52446ddf..6f7f0eb9 100644 --- a/cloudbaseinit/metadata/services/ec2service.py +++ b/cloudbaseinit/metadata/services/ec2service.py @@ -55,6 +55,10 @@ class EC2Service(base.BaseHTTPMetadataService): return self._get_cache_data('%s/meta-data/instance-id' % self._metadata_version, decode=True) + def get_user_data(self): + return self._get_cache_data('%s/user-data' % + self._metadata_version) + def get_public_keys(self): ssh_keys = [] diff --git a/cloudbaseinit/tests/metadata/services/test_ec2service.py b/cloudbaseinit/tests/metadata/services/test_ec2service.py index 15a66eb0..9e11e7e2 100644 --- a/cloudbaseinit/tests/metadata/services/test_ec2service.py +++ b/cloudbaseinit/tests/metadata/services/test_ec2service.py @@ -88,3 +88,11 @@ class EC2ServiceTest(unittest.TestCase): 'idx': 'key'}, decode=True)] self.assertEqual(expected, mock_get_cache_data.call_args_list) self.assertEqual(['fake key'], response) + + @mock.patch('cloudbaseinit.metadata.services.ec2service.EC2Service' + '._get_cache_data') + def test_get_user_data(self, mock_get_cache_data): + response = self._service.get_user_data() + path = '%s/user-data' % self._service._metadata_version + mock_get_cache_data.assert_called_once_with(path) + self.assertEqual(mock_get_cache_data.return_value, response)