diff --git a/app/server.py b/app/server.py index d4c9afe..b2d68d9 100644 --- a/app/server.py +++ b/app/server.py @@ -107,6 +107,17 @@ async def post_exit(request): ) return web.json_response(response) +@routes.post('/ec2_regions') +async def post_exit(request): + data = await request.json() + client = boto3.client( + 'ec2', + aws_access_key_id=data.get('aws_access_key'), + aws_secret_access_key=data.get('aws_secret_key') + ) + response = client.describe_regions()['Regions'] + return web.json_response(response) + app = web.Application() app.router.add_routes(routes) diff --git a/app/static/provider-ec2.vue b/app/static/provider-ec2.vue new file mode 100644 index 0000000..7c0d1ed --- /dev/null +++ b/app/static/provider-ec2.vue @@ -0,0 +1,139 @@ + + + diff --git a/app/static/provider-setup.vue b/app/static/provider-setup.vue index 3a28cb6..a324dad 100644 --- a/app/static/provider-setup.vue +++ b/app/static/provider-setup.vue @@ -58,7 +58,8 @@ module.exports = { }, components: { 'digitalocean': window.httpVueLoader('/static/provider-do.vue'), - 'lightsail': window.httpVueLoader('/static/provider-lightsail.vue') + 'lightsail': window.httpVueLoader('/static/provider-lightsail.vue'), + 'ec2': window.httpVueLoader('/static/provider-ec2.vue') } };