| {# |
| 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 |
| |