Sha256: 9198e7ba6c34178dcb73ed8b324a265246e5826c688eb436ab51db7f55f46426

Contents?: true

Size: 1.96 KB

Versions: 11

Compression:

Stored size: 1.96 KB

Contents

# A pretty complete example of using YAML Anchors to reduce 
# repetition when creating multiple vApps.
# 
# This example defines 4 vapps: 
#  * frontend-1
#  * frontend-2
#  * backend-1
#  * backend-2
#
---
anchors:

- &VAPP_TEMPLATE_NAME our-vapp-template

- &ENVIRONMENT example
- &VDC_NAME    example-vdc

- &APP_NETWORK example-app-net
- &MGMT_NETWORK example-mgmt-net

- &BASE_VAPP
  vdc_name: *VDC_NAME
  catalog_name:  our-catalog
  vapp_template_name: *VAPP_TEMPLATE_NAME

- &BASE_VM
  metadata:
    environment:   *ENVIRONMENT
    vapp_template: *VAPP_TEMPLATE_NAME
  bootstrap: &BASE_VM_BOOTSTRAP
    script_path: basic_preamble.erb
    vars: &BASE_VM_VARS
      environment: *ENVIRONMENT
      vapp_template: *VAPP_TEMPLATE_NAME
      vdc: *VDC_NAME

- &SMALL_VM
  <<: *BASE_VM
  hardware_config: { memory: 4096, cpu: 2 }

- &MEDIUM_VM
  <<: *BASE_VM
  hardware_config: { memory: 8192, cpu: 4 }

vapps:

- &frontend_vapp
  <<: *BASE_VAPP
  name: frontend-example-1
  vm: &frontend_vm
    <<: *SMALL_VM
    bootstrap:
      <<: *BASE_VM_BOOTSTRAP
      vars:
        <<: *BASE_VM_VARS
        role: frontend
    network_connections:
    - { name: *APP_NETWORK,  ip_address: 192.0.2.11 }
    - { name: *MGMT_NETWORK, ip_address: 198.51.100.11 }
- <<: *frontend_vapp
  name: frontend-example-2
  vm:
    <<: *frontend_vm
    network_connections:
    - { name: *APP_NETWORK,  ip_address: 192.0.2.12 }
    - { name: *MGMT_NETWORK, ip_address: 198.51.100.12 }

- &backend_vapp
  <<: *BASE_VAPP
  name: backend-example-1
  vm: &backend_vm
    <<: *MEDIUM_VM
    bootstrap:
      <<: *BASE_VM_BOOTSTRAP
      vars:
        <<: *BASE_VM_VARS
        role: backend
    network_connections:
    - { name: *APP_NETWORK,  ip_address: 192.0.2.51 }
    - { name: *MGMT_NETWORK, ip_address: 198.51.100.51 }
- <<: *backend_vapp
  name: backend-example-2
  vm:
    <<: *backend_vm
    network_connections:
    - { name: *APP_NETWORK,  ip_address: 192.0.2.52 }
    - { name: *MGMT_NETWORK, ip_address: 198.51.100.52 }

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
vcloud-launcher-2.0.0 examples/vcloud-launch/yaml_anchors_example.yaml
vcloud-launcher-1.1.0 examples/vcloud-launch/yaml_anchors_example.yaml
vcloud-launcher-1.0.0 examples/vcloud-launch/yaml_anchors_example.yaml
vcloud-launcher-0.7.0 examples/vcloud-launch/yaml_anchors_example.yaml
vcloud-launcher-0.6.0 examples/vcloud-launch/yaml_anchors_example.yaml
vcloud-launcher-0.5.0 examples/vcloud-launch/yaml_anchors_example.yaml
vcloud-launcher-0.4.0 examples/vcloud-launch/yaml_anchors_example.yaml
vcloud-launcher-0.3.1 examples/vcloud-launch/yaml_anchors_example.yaml
vcloud-launcher-0.3.0 examples/vcloud-launch/yaml_anchors_example.yaml
vcloud-launcher-0.2.0 examples/vcloud-launch/yaml_anchors_example.yaml
vcloud-launcher-0.1.0 examples/vcloud-launch/yaml_anchors_example.yaml