summaryrefslogtreecommitdiffstats
path: root/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/data.yaml
blob: 61d41868de155ef109d7743dec45129f096ea3d6 (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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You 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.

data_types:

  #
  # Primitive
  #

  timestamp:
    _extensions:
      coerce_value: aria_extension_tosca.simple_v1_0.data_types.coerce_timestamp

  version:
    _extensions:
      coerce_value: aria_extension_tosca.simple_v1_0.data_types.coerce_version
      type_qualified_name: tosca:version
      specification: tosca-simple-1.0
      specification_section: 3.2.2
      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'

  range:
    _extensions:
      coerce_value: aria_extension_tosca.simple_v1_0.data_types.coerce_range
      type_qualified_name: tosca:range
      specification: tosca-simple-1.0
      specification_section: 3.2.3
      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'

  #
  # With entry schema
  #

  list:
    _extensions:
      use_entry_schema: true
      coerce_value: aria_extension_tosca.simple_v1_0.data_types.coerce_list
      type_qualified_name: tosca:list
      specification: tosca-simple-1.0
      specification_section: 3.2.4
      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'

  map:
    _extensions:
      use_entry_schema: true
      coerce_value: aria_extension_tosca.simple_v1_0.data_types.coerce_map_value
      type_qualified_name: tosca:map
      specification: tosca-simple-1.0
      specification_section: 3.2.5
      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'

  #
  # Scalar
  #

  scalar-unit.size:
    _extensions:
      coerce_value: aria_extension_tosca.simple_v1_0.data_types.coerce_scalar_unit_size
      type_qualified_name: tosca:scalar-unit.size
      specification: tosca-simple-1.0
      specification_section: 3.2.6.4
      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'

  scalar-unit.time:
    _extensions:
      coerce_value: aria_extension_tosca.simple_v1_0.data_types.coerce_scalar_unit_time
      type_qualified_name: tosca:scalar-unit.time
      specification: tosca-simple-1.0
      specification_section: 3.2.6.5
      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'

  scalar-unit.frequency:
    _extensions:
      coerce_value: aria_extension_tosca.simple_v1_0.data_types.coerce_scalar_unit_frequency
      type_qualified_name: tosca:scalar-unit.frequency
      specification: tosca-simple-1.0
      specification_section: 3.2.6.6
      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'

  #
  # Complex
  #

  tosca.datatypes.Root:
    _extensions:
      shorthand_name: Root # ARIA NOTE: omitted in the spec
      type_qualified_name: tosca:Root
      specification: tosca-simple-1.0
      specification_section: 5.2.1
      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'
    description: >-
      This is the default (root) TOSCA Root Type definition that all complex TOSCA Data Types derive from.

  tosca.datatypes.Credential:
    _extensions:
      shorthand_name: Credential
      type_qualified_name: tosca:Credential
      specification: tosca-simple-1.0
      specification_section: 5.2.2
      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'
    description: >-
      The Credential type is a complex TOSCA data Type used when describing authorization credentials used to access network
      accessible resources.
    derived_from: tosca.datatypes.Root
    properties:
      protocol:
        description: >-
          The optional protocol name.
        type: string
        required: false
      token_type:
        description: >-
          The required token type.
        type: string
        default: password
      token:
        description: >-
          The required token used as a credential for authorization or access to a networked resource.
        type: string
        required: false
      keys:
        description: >-
          The optional list of protocol-specific keys or assertions.
        type: map
        entry_schema:
          type: string
        required: false
      user:
        description: >-
          The optional user (name or ID) used for non-token based credentials.
        type: string
        required: false

  tosca.datatypes.network.NetworkInfo:
    _extensions:
      shorthand_name: NetworkInfo
      type_qualified_name: tosca:NetworkInfo
      specification: tosca-simple-1.0
      specification_section: 5.2.3
      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'
    description: >-
      The Network type is a complex TOSCA data type used to describe logical network information.
    derived_from: tosca.datatypes.Root
    properties:
      network_name:
        description: >-
          The name of the logical network. e.g., "public", "private", "admin". etc.
        type: string
        required: false
      network_id:
        description: >-
          The unique ID of for the network generated by the network provider.
        type: string
        required: false
      addresses:
        description: >-
          The list of IP addresses assigned from the underlying network.
        type: list
        entry_schema:
          type: string
        required: false

  tosca.datatypes.network.PortInfo:
    _extensions:
      shorthand_name: PortInfo
      type_qualified_name: tosca:PortInfo
      specification: tosca-simple-1.0
      specification_section: 5.2.4
      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'
    description: >-
      The PortInfo type is a complex TOSCA data type used to describe network port information.
    derived_from: tosca.datatypes.Root
    properties:
      port_name:
        description: >-
          The logical network port name.
        type: string
        required: false
      port_id:
        description: >-
          The unique ID for the network port generated by the network provider.
        type: string
        required: false
      network_id:
        description: >-
          The unique ID for the network.
        type: string
        required: false
      mac_address:
        description: >-
          The unique media access control address (MAC address) assigned to the port.
        type: string
        required: false
      addresses:
        description: >-
          The list of IP address(es) assigned to the port.
        type: list
        entry_schema:
          type: string
        required: false

  tosca.datatypes.network.PortDef:
    _extensions:
      shorthand_name: PortDef
      type_qualified_name: tosca:PortDef
      specification: tosca-simple-1.0
      specification_section: 5.2.5
      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'
    description: >-
      The PortDef type is a TOSCA data Type used to define a network port.
    derived_from: integer # ARIA NOTE: we allow deriving from primitives
    constraints:
      - in_range: [ 1, 65535 ]

  tosca.datatypes.network.PortSpec:
    _extensions:
      shorthand_name: PortSpec
      type_qualified_name: tosca:PortSpec
      specification: tosca-simple-1.0
      specification_section: 5.2.6
      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'
    description: >-
      The PortSpec type is a complex TOSCA data Type used when describing port specifications for a network connection.
    derived_from: tosca.datatypes.Root
    properties:
      protocol:
        description: >-
          The required protocol used on the port.
        type: string
        constraints:
          - valid_values: [ udp, tcp, igmp ]
        default: tcp
      source:
        description: >-
          The optional source port.
        type: tosca.datatypes.network.PortDef
        required: false
      source_range:
        description: >-
          The optional range for source port.
        type: range
        constraints:
          - in_range: [ 1, 65535 ]
        required: false
      target:
        description: >-
          The optional target port.
        type: tosca.datatypes.network.PortDef
        required: false
      target_range:
        description: >-
          The optional range for target port.
        type: range
        constraints:
          - in_range: [ 1, 65535 ]
        required: false