blob: cc30e71f117cea546383162e9aa809e8d12f298e [file] [log] [blame]
{#
Copyright 2017-present Open Networking Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
#}
tosca_definitions_version: tosca_simple_yaml_1_0
imports:
- custom_types/addresspool.yaml
- custom_types/addressmanagerservice.yaml
- custom_types/addressmanagerserviceinstance.yaml
- custom_types/network.yaml
- custom_types/networktemplate.yaml
- custom_types/serviceinstance.yaml
- custom_types/serviceinstancelink.yaml
- custom_types/site.yaml
- custom_types/slice.yaml
description: public network config, generated by rcord profile
topology_template:
node_templates:
# site, fully created in deployment.yaml.j2
{{ site_name }}:
type: tosca.nodes.Site
properties:
name: {{ site_name }}
must-exist: true
{{ site_name }}_public:
description: This slice exists solely to own the public network
type: tosca.nodes.Slice
properties:
network: noauto
name: {{ site_name }}_public
requirements:
- site:
node: {{ site_name }}
relationship: tosca.relationships.BelongsToOne
# Address Manager service, fully created in cord-services.yaml.j2
service#addressmanager:
type: tosca.nodes.AddressManagerService
properties:
name: addressmanager
must-exist: true
# public network
public_template:
type: tosca.nodes.NetworkTemplate
properties:
name: public_template
visibility: public
translation: none
vtn_kind: PUBLIC
public:
type: tosca.nodes.Network
properties:
name: public
permit_all_slices: true
subnet: {{ addresspool_public_cidr }}
# ip_version: 4
requirements:
- template:
node: public_template
relationship: tosca.relationships.BelongsToOne
- owner:
node: {{ site_name }}_public
relationship: tosca.relationships.BelongsToOne
# Created in cord-services.yaml.j2
addresses_public:
type: tosca.nodes.AddressPool
properties:
name: addresses_public
must-exist: true
AddressManagerServiceInstancePublicNetwork:
type: tosca.nodes.AddressManagerServiceInstance
requirements:
- owner:
node: service#addressmanager
relationship: tosca.relationships.BelongsToOne
- address_pool:
node: addresses_public
relationship: tosca.relationships.BelongsToOne
properties:
name: AM_public_net
public_to_address_manager:
type: tosca.nodes.ServiceInstanceLink
requirements:
- provider_service_instance:
node: AddressManagerServiceInstancePublicNetwork
relationship: tosca.relationships.BelongsToOne
- subscriber_network:
node: public
relationship: tosca.relationships.BelongsToOne