summaryrefslogtreecommitdiffstats
path: root/dcaedt_validator/checker/src/main/resources/tosca/tosca-network-types.yaml
blob: e4930e0949e03cf13deea208d39d4714c73b6378 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
tosca_definitions_version: tosca_simple_yaml_1_0_0
description: >
 TOSCA simple profile for networking.

metadata:
  template_name: tosca_simple_networking
  template_version: "1.0"

#imports:
#  - tosca-common-types.yaml

node_types:

  tosca.nodes.network.Network:
    derived_from: tosca.nodes.Root
    properties:
      ip_version:
        type: integer
        required: false
        default: 4
        constraints:
          - valid_values: [ 4, 6 ]
      cidr:
        type: string
        required: false
      start_ip:
        type: string
        required: false
      end_ip:
        type: string
        required: false
      gateway_ip:
        type: string
        required: false
      network_name:
        type: string
        required: false
      network_id:
        type: string
        required: false
      segmentation_id:
        type: string
        required: false
      network_type:
        type: string
        required: false
      physical_network:
        type: string
        required: false
    capabilities:
      link:
        type: tosca.capabilities.network.Linkable

  tosca.nodes.network.Port:
    derived_from: tosca.nodes.Root
    properties:
      ip_address:
        type: string
        required: false
      order:
        type: integer
        required: true
        default: 0
        constraints:
          - greater_or_equal: 0
      is_default:
        type: boolean
        required: false
        default: false
      ip_range_start:
        type: string
        required: false
      ip_range_end:
        type: string
        required: false
    requirements:
      - link:
          capability: tosca.capabilities.network.Linkable
          relationship: tosca.relationships.network.LinksTo
      - binding:
          capability: tosca.capabilities.network.Bindable
          relationship: tosca.relationships.network.BindsTo


capability_types:

  tosca.capabilities.network.Linkable:
    derived_from: tosca.capabilities.Node
 
  # also part of common types - used in Compute node type 
  tosca.capabilities.network.Bindable:
    derived_from: tosca.capabilities.Node

relationship_types:

  tosca.relationships.network.LinksTo:
    derived_from: tosca.relationships.DependsOn
    valid_target_types: [ tosca.capabilities.network.Linkable ]

  tosca.relationships.network.BindsTo:
    derived_from: tosca.relationships.DependsOn
    valid_target_types: [ tosca.capabilities.network.Bindable ]