Store JSON in Python for instance types

This allows it to be bundled in the distributed app more simply
This commit is contained in:
Jack Danger 2017-09-27 13:50:48 -07:00
parent a06145d781
commit 4c1d0c3f5f
5 changed files with 2178 additions and 4 deletions

View File

@ -67,6 +67,7 @@ from .exceptions import (
MotoNotImplementedError,
FilterNotImplementedError
)
from .resources.instance_types import instance_types_data
from .utils import (
EC2_RESOURCE_TO_PREFIX,
EC2_PREFIX_TO_RESOURCE,
@ -112,7 +113,7 @@ from .utils import (
)
RESOURCES_DIR = os.path.join(os.path.dirname(__file__), 'resources')
INSTANCE_TYPES = json.load(open(os.path.join(RESOURCES_DIR, 'instance_types.json'), 'r'))
INSTANCE_TYPES = json.loads(instance_types_data)
def utc_date_and_time():

View File

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@ -141,10 +141,20 @@ def main():
result[instance_id] = instance_data
root_dir = subprocess.check_output(['git', 'rev-parse', '--show-toplevel']).decode().strip()
dest = os.path.join(root_dir, 'moto/ec2/resources/instance_types.json')
dest = os.path.join(root_dir, 'moto/ec2/resources/instance_types.py')
print("Writing data to {0}".format(dest))
with open(dest, 'w') as open_file:
json.dump(result, open_file)
triple_quote = '\"\"\"'
open_file.write("# Imported via `scripts/get_instance_info.py`\n")
open_file.write('instance_types_data = {}\n'.format(triple_quote))
json.dump(result,
open_file,
sort_keys=True,
indent=4,
separators=(',', ': '))
open_file.write('{}\n'.format(triple_quote))
if __name__ == '__main__':
main()