diff --git a/config.cfg b/config.cfg index 747bae5f..b869dd2f 100644 --- a/config.cfg +++ b/config.cfg @@ -58,9 +58,13 @@ SSH_keys: private: configs/algo.pem public: configs/algo.pem.pub -dynamic_inventory_groups: - - azure - - digitalocean - - ec2 - - gce - - local +cloud_providers: + azure: + size: Basic_A0 + digitalocean: + size: 512mb + ec2: + size: t2.micro + gce: + size: f1-micro + local: diff --git a/playbooks/local.yml b/playbooks/local.yml index e852bc20..a7cc2d7e 100644 --- a/playbooks/local.yml +++ b/playbooks/local.yml @@ -19,6 +19,6 @@ create: yes block: | [algo:children] - {% for group in dynamic_inventory_groups %} + {% for group in cloud_providers.keys() %} {{ group }} {% endfor %} diff --git a/roles/cloud-azure/tasks/main.yml b/roles/cloud-azure/tasks/main.yml index 17c6ce36..d3b831a8 100644 --- a/roles/cloud-azure/tasks/main.yml +++ b/roles/cloud-azure/tasks/main.yml @@ -80,7 +80,7 @@ virtual_network: algo_net name: "{{ azure_server_name }}" ssh_password_enabled: false - vm_size: Basic_A0 + vm_size: "{{ cloud_providers.azure.size }}" tags: Environment: Algo ssh_public_keys: @@ -91,7 +91,7 @@ sku: '16.04-LTS' version: latest register: azure_rm_virtualmachine - + # To-do: Add error handling - if vm_size requested is not available, can we fall back to another, ideally with a prompt? - set_fact: diff --git a/roles/cloud-digitalocean/tasks/main.yml b/roles/cloud-digitalocean/tasks/main.yml index a472fb56..28dd7f15 100644 --- a/roles/cloud-digitalocean/tasks/main.yml +++ b/roles/cloud-digitalocean/tasks/main.yml @@ -45,7 +45,7 @@ command: droplet name: "{{ do_server_name }}" region_id: "{{ do_region }}" - size_id: "512mb" + size_id: "{{ cloud_providers.digitalocean.size }}" image_id: "ubuntu-16-04-x64" ssh_key_ids: "{{ do_ssh_key.ssh_key.id }}" unique_name: yes diff --git a/roles/cloud-ec2/tasks/main.yml b/roles/cloud-ec2/tasks/main.yml index be0b0d4e..46a29425 100644 --- a/roles/cloud-ec2/tasks/main.yml +++ b/roles/cloud-ec2/tasks/main.yml @@ -90,7 +90,7 @@ keypair: "VPNKEY" vpc_subnet_id: "{{ vpc.subnets[0].id }}" group: vpn-secgroup - instance_type: t2.micro + instance_type: "{{ cloud_providers.ec2.size }}" image: "{{ ami_image }}" wait: true region: "{{ region }}" diff --git a/roles/cloud-gce/tasks/main.yml b/roles/cloud-gce/tasks/main.yml index 5c6a1f66..fce69ce3 100644 --- a/roles/cloud-gce/tasks/main.yml +++ b/roles/cloud-gce/tasks/main.yml @@ -13,7 +13,7 @@ gce: instance_names: "{{ server_name }}" zone: "{{ zone }}" - machine_type: f1-micro + machine_type: "{{ cloud_providers.gce.size }}" image: ubuntu-1604 service_account_email: "{{ service_account_email }}" credentials_file: "{{ credentials_file_path }}"