Skip to content

Instantly share code, notes, and snippets.

@tonybaloney
Created April 29, 2016 15:29
Show Gist options
  • Save tonybaloney/d5d213e4a8e6c8b2abffe695643b3322 to your computer and use it in GitHub Desktop.
Save tonybaloney/d5d213e4a8e6c8b2abffe695643b3322 to your computer and use it in GitHub Desktop.
---
version: '2.0'
argo.deploy_global:
type: direct
input:
- region
- location
- name
- image
- network_domain_name
- vlan_name
- password
output:
server: <% $.server %>
public_ip: <% $.public_ip %>
tasks:
find_network_domain:
# [175, 26]
action: dimensiondata.get_network_domain_by_name
input:
region: <% $.region %>
network_domain_name: <% $.network_domain_name %>
on-error:
- create_network_domain
publish:
network_domain: <% $.find_network_domain.result %>
on-success:
- get_vlan
create_network_domain:
# [245, 128]
action: dimensiondata.create_network_domain
input:
region: <% $.region %>
name: <% $.network_domain_name %>
location: <% $.location %>
publish:
network_domain: <% $.create_network_domain.result %>
on-success:
- get_vlan
get_vlan:
# [175, 230]
action: dimensiondata.get_vlan_by_name
input:
region: <% $.region %>
vlan_name: <% $.vlan_name %>
network_domain_id: <% $.network_domain.id %>
publish:
vlan: <% $.get_vlan.result %>
on-error:
- create_vlan
on-success:
- create_vm
create_vlan:
# [105, 332]
action: dimensiondata.create_vlan
input:
region: <% $.region %>
network_domain_id: <% $.network_domain.id %>
name: <% $.vlan_name %>
publish:
vlan: <% $.create_vlan.result %>
on-success:
- create_vm
create_vm:
# [175, 434]
action: dimensiondata.create_vm_mcp2
input:
region: <% $.region %>
location: <% $.location %>
name: <% $.name %>
image_name: <% $.image %>
network_domain_id: <% $.network_domain.id %>
vlan_id: <% $.vlan.id %>
is_started: true
password: <% $.password %>
publish:
server: <% $.create_vm.result %>
on-success:
- create_public_ip_block
create_public_ip_block:
# [175, 536]
action: dimensiondata.create_public_ip_block
input:
region: <% $.region %>
network_domain_id: <% $.network_domain.id %>
publish:
public_ip: <% $.create_public_ip_block.result.base_ip %>
on-success:
- create_nat_rule
create_nat_rule:
# [175, 638]
action: dimensiondata.create_nat_rule
input:
region: <% $.region %>
network_domain_id: <% $.network_domain.id %>
internal_ip: <% $.server.private_ips[0] %>
external_ip: <% $.public_ip %>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment