Update project maturity status
[multicloud/azure.git] / azure / aria / aria-extension-cloudify / src / aria / extensions / aria_extension_tosca / profiles / tosca-simple-1.0 / data.yaml
1 # Licensed to the Apache Software Foundation (ASF) under one or more
2 # contributor license agreements.  See the NOTICE file distributed with
3 # this work for additional information regarding copyright ownership.
4 # The ASF licenses this file to You under the Apache License, Version 2.0
5 # (the "License"); you may not use this file except in compliance with
6 # the License.  You may obtain a copy of the License at
7 #
8 #     http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15
16 data_types:
17
18   #
19   # Primitive
20   #
21
22   timestamp:
23     _extensions:
24       coerce_value: aria_extension_tosca.simple_v1_0.data_types.coerce_timestamp
25
26   version:
27     _extensions:
28       coerce_value: aria_extension_tosca.simple_v1_0.data_types.coerce_version
29       type_qualified_name: tosca:version
30       specification: tosca-simple-1.0
31       specification_section: 3.2.2
32       specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#TYPE_TOSCA_VERSION'
33
34   range:
35     _extensions:
36       coerce_value: aria_extension_tosca.simple_v1_0.data_types.coerce_range
37       type_qualified_name: tosca:range
38       specification: tosca-simple-1.0
39       specification_section: 3.2.3
40       specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#TYPE_TOSCA_RANGE'
41
42   #
43   # With entry schema
44   #
45
46   list:
47     _extensions:
48       use_entry_schema: true
49       coerce_value: aria_extension_tosca.simple_v1_0.data_types.coerce_list
50       type_qualified_name: tosca:list
51       specification: tosca-simple-1.0
52       specification_section: 3.2.4
53       specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#TYPE_TOSCA_LIST'
54
55   map:
56     _extensions:
57       use_entry_schema: true
58       coerce_value: aria_extension_tosca.simple_v1_0.data_types.coerce_map_value
59       type_qualified_name: tosca:map
60       specification: tosca-simple-1.0
61       specification_section: 3.2.5
62       specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#TYPE_TOSCA_MAP'
63
64   #
65   # Scalar
66   #
67
68   scalar-unit.size:
69     _extensions:
70       coerce_value: aria_extension_tosca.simple_v1_0.data_types.coerce_scalar_unit_size
71       type_qualified_name: tosca:scalar-unit.size
72       specification: tosca-simple-1.0
73       specification_section: 3.2.6.4
74       specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#TYPE_TOSCA_SCALAR_UNIT_SIZE'
75
76   scalar-unit.time:
77     _extensions:
78       coerce_value: aria_extension_tosca.simple_v1_0.data_types.coerce_scalar_unit_time
79       type_qualified_name: tosca:scalar-unit.time
80       specification: tosca-simple-1.0
81       specification_section: 3.2.6.5
82       specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#TYPE_TOSCA_SCALAR_UNIT_TIME'
83
84   scalar-unit.frequency:
85     _extensions:
86       coerce_value: aria_extension_tosca.simple_v1_0.data_types.coerce_scalar_unit_frequency
87       type_qualified_name: tosca:scalar-unit.frequency
88       specification: tosca-simple-1.0
89       specification_section: 3.2.6.6
90       specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#TYPE_TOSCA_SCALAR_UNIT_FREQUENCY'
91
92   #
93   # Complex
94   #
95
96   tosca.datatypes.Root:
97     _extensions:
98       shorthand_name: Root # ARIA NOTE: omitted in the spec
99       type_qualified_name: tosca:Root
100       specification: tosca-simple-1.0
101       specification_section: 5.2.1
102       specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#TYPE_TOSCA_DATA_ROOT'
103     description: >-
104       This is the default (root) TOSCA Root Type definition that all complex TOSCA Data Types derive from.
105
106   tosca.datatypes.Credential:
107     _extensions:
108       shorthand_name: Credential
109       type_qualified_name: tosca:Credential
110       specification: tosca-simple-1.0
111       specification_section: 5.2.2
112       specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#TYPE_TOSCA_DATA_CREDENTIAL'
113     description: >-
114       The Credential type is a complex TOSCA data Type used when describing authorization credentials used to access network
115       accessible resources.
116     derived_from: tosca.datatypes.Root
117     properties:
118       protocol:
119         description: >-
120           The optional protocol name.
121         type: string
122         required: false
123       token_type:
124         description: >-
125           The required token type.
126         type: string
127         default: password
128       token:
129         description: >-
130           The required token used as a credential for authorization or access to a networked resource.
131         type: string
132         required: false
133       keys:
134         description: >-
135           The optional list of protocol-specific keys or assertions.
136         type: map
137         entry_schema:
138           type: string
139         required: false
140       user:
141         description: >-
142           The optional user (name or ID) used for non-token based credentials.
143         type: string
144         required: false
145
146   tosca.datatypes.network.NetworkInfo:
147     _extensions:
148       shorthand_name: NetworkInfo
149       type_qualified_name: tosca:NetworkInfo
150       specification: tosca-simple-1.0
151       specification_section: 5.2.3
152       specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#TYPE_TOSCA_DATA_NETWORKINFO'
153     description: >-
154       The Network type is a complex TOSCA data type used to describe logical network information.
155     derived_from: tosca.datatypes.Root
156     properties:
157       network_name:
158         description: >-
159           The name of the logical network. e.g., "public", "private", "admin". etc.
160         type: string
161         required: false
162       network_id:
163         description: >-
164           The unique ID of for the network generated by the network provider.
165         type: string
166         required: false
167       addresses:
168         description: >-
169           The list of IP addresses assigned from the underlying network.
170         type: list
171         entry_schema:
172           type: string
173         required: false
174
175   tosca.datatypes.network.PortInfo:
176     _extensions:
177       shorthand_name: PortInfo
178       type_qualified_name: tosca:PortInfo
179       specification: tosca-simple-1.0
180       specification_section: 5.2.4
181       specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#TYPE_TOSCA_DATA_PORTINFO'
182     description: >-
183       The PortInfo type is a complex TOSCA data type used to describe network port information.
184     derived_from: tosca.datatypes.Root
185     properties:
186       port_name:
187         description: >-
188           The logical network port name.
189         type: string
190         required: false
191       port_id:
192         description: >-
193           The unique ID for the network port generated by the network provider.
194         type: string
195         required: false
196       network_id:
197         description: >-
198           The unique ID for the network.
199         type: string
200         required: false
201       mac_address:
202         description: >-
203           The unique media access control address (MAC address) assigned to the port.
204         type: string
205         required: false
206       addresses:
207         description: >-
208           The list of IP address(es) assigned to the port.
209         type: list
210         entry_schema:
211           type: string
212         required: false
213
214   tosca.datatypes.network.PortDef:
215     _extensions:
216       shorthand_name: PortDef
217       type_qualified_name: tosca:PortDef
218       specification: tosca-simple-1.0
219       specification_section: 5.2.5
220       specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#TYPE_TOSCA_DATA_PORTDEF'
221     description: >-
222       The PortDef type is a TOSCA data Type used to define a network port.
223     derived_from: integer # ARIA NOTE: we allow deriving from primitives
224     constraints:
225       - in_range: [ 1, 65535 ]
226
227   tosca.datatypes.network.PortSpec:
228     _extensions:
229       shorthand_name: PortSpec
230       type_qualified_name: tosca:PortSpec
231       specification: tosca-simple-1.0
232       specification_section: 5.2.6
233       specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#TYPE_TOSCA_DATA_PORTSPEC'
234     description: >-
235       The PortSpec type is a complex TOSCA data Type used when describing port specifications for a network connection.
236     derived_from: tosca.datatypes.Root
237     properties:
238       protocol:
239         description: >-
240           The required protocol used on the port.
241         type: string
242         constraints:
243           - valid_values: [ udp, tcp, igmp ]
244         default: tcp
245       source:
246         description: >-
247           The optional source port.
248         type: tosca.datatypes.network.PortDef
249         required: false
250       source_range:
251         description: >-
252           The optional range for source port.
253         type: range
254         constraints:
255           - in_range: [ 1, 65535 ]
256         required: false
257       target:
258         description: >-
259           The optional target port.
260         type: tosca.datatypes.network.PortDef
261         required: false
262       target_range:
263         description: >-
264           The optional range for target port.
265         type: range
266         constraints:
267           - in_range: [ 1, 65535 ]
268         required: false