Update project maturity status
[multicloud/azure.git] / azure / aria / aria-extension-cloudify / src / aria / extensions / aria_extension_tosca / profiles / tosca-simple-1.0 / capabilities.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 capability_types:
17
18   tosca.capabilities.Root:
19     _extensions:
20       shorthand_name: Root # ARIA NOTE: omitted in the spec
21       type_qualified_name: tosca:Root
22       specification: tosca-simple-1.0
23       specification_section: 5.4.1
24       specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_CAPABILITIES_ROOT'
25     description: >-
26       This is the default (root) TOSCA Capability Type definition that all other TOSCA Capability Types derive from.
27
28   tosca.capabilities.Node:
29     _extensions:
30       shorthand_name: Node
31       type_qualified_name: tosca:Node
32       specification: tosca-simple-1.0
33       specification_section: 5.4.2
34       specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_CAPABILITIES_NODE'
35       role: feature
36     description: >-
37       The Node capability indicates the base capabilities of a TOSCA Node Type.
38     derived_from: tosca.capabilities.Root
39
40   tosca.capabilities.Container:
41     _extensions:
42       shorthand_name: Container
43       type_qualified_name: tosca:Container
44       specification: tosca-simple-1.0
45       specification_section: 5.4.3
46       specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_CAPABILITIES_CONTAINER'
47       role: host
48     description: >-
49       The Container capability, when included on a Node Type or Template definition, indicates that the node can act as a container
50       for (or a host for) one or more other declared Node Types.
51     derived_from: tosca.capabilities.Root
52     properties:
53       num_cpus:
54         description: >-
55           Number of (actual or virtual) CPUs associated with the Compute node.
56         type: integer
57         constraints:
58           - greater_or_equal: 1
59         required: false
60       cpu_frequency:
61         description: >-
62           Specifies the operating frequency of CPU's core. This property expresses the expected frequency of one (1) CPU as
63           provided by the property "num_cpus".
64         type: scalar-unit.frequency
65         constraints:
66           - greater_or_equal: 0.1 GHz
67         required: false
68       disk_size:
69         description: >-
70           Size of the local disk available to applications running on the Compute node (default unit is MB).
71         type: scalar-unit.size
72         constraints:
73           - greater_or_equal: 0 MB
74         required: false
75       mem_size:
76         description: >-
77           Size of memory available to applications running on the Compute node (default unit is MB).
78         type: scalar-unit.size
79         constraints:
80           - greater_or_equal: 0 MB
81         required: false
82
83   tosca.capabilities.Attachment:
84     _extensions:
85       shorthand_name: Attachment
86       type_qualified_name: tosca:Attachment
87       specification: tosca-simple-1.0
88       specification_section: 5.4.8
89       specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_CAPABILITIES_ATTACHMENT'
90     description: >-
91       This is the default TOSCA type that should be used or extended to define an attachment capability of a (logical)
92       infrastructure device node (e.g., BlockStorage node).
93     derived_from: tosca.capabilities.Root
94
95   tosca.capabilities.OperatingSystem:
96     _extensions:
97       shorthand_name: OperatingSystem
98       type_qualified_name: tosca:OperatingSystem
99       specification: tosca-simple-1.0
100       specification_section: 5.4.9
101       specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_CAPABILITIES_OPSYS'
102     description: >-
103       This is the default TOSCA type that should be used to express an Operating System capability for a node.
104     derived_from: tosca.capabilities.Root
105     properties:
106       architecture:
107         description: >-
108           The Operating System (OS) architecture. Examples of valid values include: x86_32, x86_64, etc.
109         type: string
110         required: false
111       type:
112         description: >-
113           The Operating System (OS) type. Examples of valid values include: linux, aix, mac, windows, etc.
114         type: string
115         required: false
116       distribution:
117         description: >-
118           The Operating System (OS) distribution. Examples of valid values for a "type" of "Linux" would include: debian, fedora,
119           rhel and ubuntu.
120         type: string
121         required: false
122       version:
123         description: >-
124           The Operating System version.
125         type: version
126         required: false
127
128   tosca.capabilities.Scalable:
129     _extensions:
130       shorthand_name: Scalable
131       type_qualified_name: tosca:Scalable
132       specification: tosca-simple-1.0
133       specification_section: 5.4.10
134       specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_CAPABILITIES_SCALABLE'
135       role: scaling
136     description: >-
137       This is the default TOSCA type that should be used to express a scalability capability for a node.
138     derived_from: tosca.capabilities.Root
139     properties:
140       min_instances:
141         description: >-
142           This property is used to indicate the minimum number of instances that should be created for the associated TOSCA Node
143           Template by a TOSCA orchestrator.
144         type: integer
145         default: 1
146       max_instances:
147         description: >-
148           This property is used to indicate the maximum number of instances that should be created for the associated TOSCA Node
149           Template by a TOSCA orchestrator.
150         type: integer
151         default: 1
152       default_instances:
153         description: >-
154           An optional property that indicates the requested default number of instances that should be the starting number of
155           instances a TOSCA orchestrator should attempt to allocate. Note: The value for this property MUST be in the range between
156           the values set for "min_instances" and "max_instances" properties.
157         type: integer
158         required: false
159
160   #
161   # Endpoints
162   #
163
164   tosca.capabilities.Endpoint:
165     _extensions:
166       shorthand_name: Endpoint
167       type_qualified_name: tosca:Endpoint
168       specification: tosca-simple-1.0
169       specification_section: 5.4.4
170       specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_CAPABILITIES_ENDPOINT'
171     description: >-
172       This is the default TOSCA type that should be used or extended to define a network endpoint capability. This includes the information to express a basic endpoint with a single port or a complex endpoint with multiple ports. By default the Endpoint is assumed to represent an address on a private network unless otherwise specified.
173     derived_from: tosca.capabilities.Root
174     properties:
175       protocol:
176         description: >-
177           The name of the protocol (i.e., the protocol prefix) that the endpoint accepts (any OSI Layer 4-7 protocols). Examples:
178           http, https, ftp, tcp, udp, etc.
179         type: string
180         default: tcp
181         required: true
182       port:
183         description: >-
184           The optional port of the endpoint.
185         type: tosca.datatypes.network.PortDef
186         required: false
187       secure:
188         description: >-
189           Requests for the endpoint to be secure and use credentials supplied on the ConnectsTo relationship.
190         type: boolean
191         default: false
192         required: false
193       url_path:
194         description: >-
195           The optional URL path of the endpoint's address if applicable for the protocol.
196         type: string
197         required: false
198       port_name:
199         description: >-
200           The optional name (or ID) of the network port this endpoint should be bound to.
201         type: string
202         required: false
203       network_name:
204         description: >-
205           The optional name (or ID) of the network this endpoint should be bound to. network_name: PRIVATE | PUBLIC |
206           <network_name> | <network_id>.
207         type: string
208         default: PRIVATE
209         required: false
210       initiator:
211         description: >-
212           The optional indicator of the direction of the connection.
213         type: string
214         constraints:
215           - valid_values: [ source, target, peer ]
216         default: source
217         required: false
218       ports:
219         description: >-
220           The optional map of ports the Endpoint supports (if more than one).
221         type: map
222         entry_schema:
223           type: tosca.datatypes.network.PortSpec
224         constraints:
225           - min_length: 1
226         required: false
227     attributes:
228       ip_address:
229         description: >-
230           Note: This is the IP address as propagated up by the associated node's host (Compute) container.
231         type: string
232
233   tosca.capabilities.Endpoint.Public:
234     _extensions:
235       shorthand_name: Endpoint.Public
236       type_qualified_name: tosca:Endpoint.Public
237       specification: tosca-simple-1.0
238       specification_section: 5.4.5
239       specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_CAPABILITIES_ENDPOINT_PUBLIC'
240     description: >-
241       This capability represents a public endpoint which is accessible to the general internet (and its public IP address ranges).
242
243       This public endpoint capability also can be used to create a floating (IP) address that the underlying network assigns from a
244       pool allocated from the application's underlying public network. This floating address is managed by the underlying network
245       such that can be routed an application's private address and remains reliable to internet clients.
246     derived_from: tosca.capabilities.Endpoint
247     properties:
248       network_name:
249         type: string
250         constraints:
251           - equal: PUBLIC
252         default: PUBLIC
253       floating:
254         description: >-
255           Indicates that the public address should be allocated from a pool of floating IPs that are associated with the network.
256         type: boolean
257         default: false
258         status: experimental
259       dns_name:
260         description: >-
261           The optional name to register with DNS.
262         type: string
263         required: false
264         status: experimental
265
266   tosca.capabilities.Endpoint.Admin:
267     _extensions:
268       shorthand_name: Endpoint.Admin
269       type_qualified_name: tosca:Endpoint.Admin
270       specification: tosca-simple-1.0
271       specification_section: 5.4.6
272       specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_CAPABILITIES_ENDPOINT_ADMIN'
273     description: >-
274       This is the default TOSCA type that should be used or extended to define a specialized administrator endpoint capability.
275     derived_from: tosca.capabilities.Endpoint
276     properties:
277       secure:
278         description: >-
279           Requests for the endpoint to be secure and use credentials supplied on the ConnectsTo relationship.
280         type: boolean
281         constraints:
282           - equal: true
283         default: true
284
285   tosca.capabilities.Endpoint.Database:
286     _extensions:
287       shorthand_name: Endpoint.Database
288       type_qualified_name: tosca:Endpoint.Database
289       specification: tosca-simple-1.0
290       specification_section: 5.4.7
291       specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_CAPABILITIES_ENDPOINT_DATABASE'
292     description: >-
293       This is the default TOSCA type that should be used or extended to define a specialized database endpoint capability.
294     derived_from: tosca.capabilities.Endpoint
295
296   #
297   # Network
298   #
299
300   tosca.capabilities.network.Bindable:
301     _extensions:
302       shorthand_name: Bindable # ARIA NOTE: mistake in spec? has "network." as a prefix
303       type_qualified_name: tosca:Bindable
304       specification: tosca-simple-1.0
305       specification_section: 5.4.11
306       specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_CAPABILITIES_NETWORK_BINDABLE'
307     description: >-
308       A node type that includes the Bindable capability indicates that it can be bound to a logical network association via a
309       network port.
310     derived_from: tosca.capabilities.Node
311
312   tosca.capabilities.network.Linkable:
313     _extensions:
314       shorthand_name: Linkable
315       type_qualified_name: tosca:Linkable
316       specification: tosca-simple-1.0
317       specification_section: 7.5.3
318       specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_CAPABILITIES_NETWORK_LINKABLE'
319     description: >-
320       A node type that includes the Linkable capability indicates that it can be pointed by tosca.relationships.network.LinksTo
321       relationship type.
322     derived_from: tosca.capabilities.Node