tosca_definitions_version: tosca_simple_yaml_1_0

imports:
   - custom_types/xos.yaml

description: management network config, generated by platform-install

topology_template:
  node_templates:

# site, fully created in deployment.yaml
    {{ site_name }}:
      type: tosca.nodes.Site

# management network
    management_template:
      type: tosca.nodes.NetworkTemplate
      properties:
        visibility: private
        translation: none
        vtn_kind: MANAGEMENT_LOCAL

    management:
      type: tosca.nodes.network.Network
      properties:
        ip_version: 4
        cidr: {{ management_network_cidr }}
      requirements:
        - network_template:
            node: management_template
            relationship: tosca.relationships.UsesNetworkTemplate
        - owner:
            node: {{ site_name }}_management
            relationship: tosca.relationships.MemberOfSlice

{% if use_management_hosts %}
    management_hosts_template:
      type: tosca.nodes.NetworkTemplate
      properties:
        visibility: private
        translation: none
        vtn_kind: MANAGEMENT_HOST

    management_hosts:
      type: tosca.nodes.network.Network
      properties:
        ip_version: 4
        cidr: {{ management_hosts_net_cidr }}
        start_ip: {{ management_hosts_net_range_xos_low }}
        end_ip: {{ management_hosts_net_range_xos_high }}
      requirements:
        - network_template:
            node: management_hosts_template
            relationship: tosca.relationships.UsesNetworkTemplate
        - owner:
            node: {{ site_name }}_management
            relationship: tosca.relationships.MemberOfSlice
{% endif %}

    {{ site_name }}_management:
      description: This slice exists solely to own the management network
      type: tosca.nodes.Slice
      properties:
        network: noauto
      requirements:
        - site:
            node: {{ site_name }}
            relationship: tosca.relationships.MemberOfSite

