---
os-server-new:
  topology:
    topology_name: os-server-new
    resource_groups:
      - resource_group_name: os-server-new
        resource_group_type: openstack
        resource_definitions:
          - name: "ci-lp-cp-{{ distro | default('') }}database"
            role: os_server
            flavor: {{ flavor | default('m1.small') }}
            image: {{ image | default('CentOS-7-x86_64-GenericCloud-1612') }}
            count: 1
            keypair: {{ keypair | default('ci-factory') }}
            networks:
              - {{ networks | default('provider_net_cci_6') }}
          - name: "ci-lp-cp-{{ distro | default('') }}frontend"
            role: os_server
            flavor: {{ flavor | default('m1.small') }}
            image: {{ image | default('CentOS-7-x86_64-GenericCloud-1808') }}
            count: 1
            keypair: {{ keypair | default('ci-factory') }}
            auto_ip: no
            networks:
              - {{ networks | default('provider_net_cci_6') }}
        {% if credentials is defined %}
        credentials:
          filename: {{ credentials.filename }}
          profile: {{ credentials.profile }}
        {% else %}
        credentials:
          filename: clouds.yaml
          profile: ci-rhos
        {% endif %}

  layout:
    inventory_layout:
      vars:
        hostname: __IP__
      hosts:
        db-node:
          count: 1
          host_groups:
            - database
        frontend-node:
          count: 1
          host_groups:
            - frontend

os-sg-new:
  topology:
    topology_name: os-sg-new
    resource_groups:
      - resource_group_name: os-sg-new
        resource_group_type: openstack
        resource_definitions:
          - name: "ci-lp-cp-{{ distro | default('') }}security_group"
            role: os_sg
            description: {{ description | default('Openstack Security Group with ssh access') }}
            {% if rules is defined %}
            rules:
              {% for rule in rules %}
              - rule_type: {{ rule.type }}
                from_port: {{ rule.from_port }}
                to_port: {{ rule.to_port }}
                proto: {{ rule.proto }}
                cidr_ip: {{ rule.cidr_ip }}
              {% endfor %}
            {% else %}
            rules:
              - rule_type: "inbound"
                from_port: 22
                to_port: 22
                proto: "tcp"
                cidr_ip: "0.0.0.0/0"
              - rule_type: "outbound"
                from_port: 22
                to_port: 22
                proto: "tcp"
                cidr_ip: "0.0.0.0/0"
            {% endif %}
        {% if credentials is defined %}
        credentials:
          filename: {{ credentials.filename }}
          profile: {{ credentials.profile }}
        {% else %}
        credentials:
          filename: clouds.yaml
          profile: ci-rhos
        {% endif %}

os-vol-new:
  topology: os-vol-new.yml

os-network:
  topology:
    topology_name: os_network
    resource_groups:
      - resource_group_name: simple
        resource_group_type: openstack
        resource_definitions:
          - name: "ci-lp-cp-testnet_example"
            role: os_network
            unique: {{ unique | default(true) }}
        {% if credentials is defined %}
        credentials:
          filename: {{ credentials.filename }}
          profile: {{ credentials.profile }}
        {% else %}
        credentials:
          filename: clouds.yaml
          profile: ci-rhos
        {% endif %}

os-router:
  topology:
    topology_name: os_router
    resource_groups:
      - resource_group_name: ex_group
        resource_group_type: openstack
        resource_definitions:
          - name: ci-lp-cp-trouter_example
            role: os_router
            unique: {{ unique | default(true) }}
        {% if credentials is defined %}
        credentials:
          filename: {{ credentials.filename }}
          profile: {{ credentials.profile }}
        {% else %}
        credentials:
          filename: clouds.yaml
          profile: ci-rhos
        {% endif %}

os-subnet:
  topology:
    topology_name: os-subnet
    resource_groups:
      - resource_group_name: ex_os_subnet
        resource_group_type: openstack
        resource_definitions:
          - name: ci-lp-cp-test_network_ex
            role: os_network
            unique: {{ unique | default(false) }}
          - name: ci-lp-cp-test_subnet_ex
            role: os_subnet
            network_name: ci-lp-cp-test_network_ex
            unique: {{ unique | default(false) }}
            cidr: {{ cidr | default('192.167.128.0/24') }}
        {% if credentials is defined %}
        credentials:
          filename: {{ credentials.filename }}
          profile: {{ credentials.profile }}
        {% else %}
        credentials:
          filename: clouds.yaml
          profile: ci-rhos
        {% endif %}

os-keypair:
  topology:
    topology_name: os-server-keypair
    resource_groups:
      - resource_group_name: os-server-test-lp
        resource_group_type: openstack
        resource_definitions:
          - name: "{{ distro }}linchpintestkey"
            role: os_keypair
        {% if credentials is defined %}
        credentials:
          filename: {{ credentials.filename }}
          profile: {{ credentials.profile }}
        {% else %}
        credentials:
          filename: clouds.yaml
          profile: ci-rhos
        {% endif %}
