Update project maturity status
[multicloud/azure.git] / azure / aria / aria-extension-cloudify / src / aria / extensions / aria_extension_tosca / profiles / tosca-simple-1.0 / relationships.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 relationship_types:
17
18   tosca.relationships.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.6.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_RELATIONSHIPS_ROOT'
25     description: >-
26       This is the default (root) TOSCA Relationship Type definition that all other TOSCA Relationship Types derive from.
27     attributes:
28       tosca_id:
29         description: >-
30           A unique identifier of the realized instance of a Relationship Template that derives from any TOSCA normative type.
31         type: string
32       tosca_name:
33         description: >-
34           This attribute reflects the name of the Relationship Template as defined in the TOSCA service template. This name is not
35           unique to the realized instance model of corresponding deployed application as each template in the model can result in
36           one or more instances (e.g., scaled) when orchestrated to a provider environment.
37         type: string
38       state:
39         description: >-
40           The state of the relationship instance.
41         type: string
42         default: initial
43     interfaces:
44       Configure:
45         type: tosca.interfaces.relationship.Configure
46
47   tosca.relationships.DependsOn:
48     _extensions:
49       shorthand_name: DependsOn
50       type_qualified_name: tosca:DependsOn
51       specification: tosca-simple-1.0
52       specification_section: 5.6.2
53       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_RELATIONSHIPS_DEPENDSON'
54     description: >-
55       This type represents a general dependency relationship between two nodes.
56     derived_from: tosca.relationships.Root
57     valid_target_types: [ tosca.capabilities.Node ]
58
59   tosca.relationships.HostedOn:
60     _extensions:
61       shorthand_name: HostedOn
62       type_qualified_name: tosca:HostedOn
63       specification: tosca-simple-1.0
64       specification_section: 5.6.3
65       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_RELATIONSHIPS_HOSTEDON'
66     description: >-
67       This type represents a hosting relationship between two nodes.
68     derived_from: tosca.relationships.Root
69     valid_target_types: [ tosca.capabilities.Container ]
70
71   tosca.relationships.ConnectsTo:
72     _extensions:
73       shorthand_name: ConnectsTo
74       type_qualified_name: tosca:ConnectsTo
75       specification: tosca-simple-1.0
76       specification_section: 5.6.4
77       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_RELATIONSHIPS_CONNECTSTO'
78     description: >-
79       This type represents a network connection relationship between two nodes.
80     derived_from: tosca.relationships.Root
81     valid_target_types: [ tosca.capabilities.Endpoint ]
82     properties:
83       credential:
84         type: tosca.datatypes.Credential
85         required: false
86
87   tosca.relationships.AttachesTo:
88     _extensions:
89       shorthand_name: AttachesTo
90       type_qualified_name: tosca:AttachesTo
91       specification: tosca-simple-1.0
92       specification_section: 5.6.5
93       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_RELATIONSHIPS_ATTACHTO'
94     description: >-
95       This type represents an attachment relationship between two nodes. For example, an AttachesTo relationship type would be used
96       for attaching a storage node to a Compute node.
97     derived_from: tosca.relationships.Root
98     valid_target_types: [ tosca.capabilities.Attachment ]
99     properties:
100       location:
101         description: >-
102           The relative location (e.g., path on the file system), which provides the root location to address an attached node.
103           e.g., a mount point / path such as '/usr/data'. Note: The user must provide it and it cannot be "root".
104         type: string
105         constraints:
106           - min_length: 1
107       device:
108         description: >-
109           The logical device name which for the attached device (which is represented by the target node in the model). e.g.,
110           '/dev/hda1'.
111         type: string
112         required: false
113     attributes:
114       device:
115         description: >-
116           The logical name of the device as exposed to the instance.
117           Note: A runtime property that gets set when the model gets instantiated by the orchestrator.
118         type: string
119
120   tosca.relationships.RoutesTo:
121     _extensions:
122       shorthand_name: RoutesTo
123       type_qualified_name: tosca:RoutesTo
124       specification: tosca-simple-1.0
125       specification_section: 5.6.6
126       specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#_Toc397688815'
127     description: >-
128       This type represents an intentional network routing between two Endpoints in different networks.
129     derived_from: tosca.relationships.ConnectsTo
130     valid_target_types: [ tosca.capabilities.Endpoint ]
131
132   #
133   # Network
134   #
135
136   tosca.relationships.network.LinksTo:
137     _extensions:
138       shorthand_name: LinksTo
139       type_qualified_name: tosca:LinksTo
140       specification: tosca-simple-1.0
141       specification_section: 7.5.4
142       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_RELATIONSHIPS_NETWORK_LINKSTO'
143     description: >-
144       This relationship type represents an association relationship between Port and Network node types.
145     derived_from: tosca.relationships.DependsOn
146     valid_target_types: [ tosca.capabilities.network.Linkable ]
147
148   tosca.relationships.network.BindsTo:
149     _extensions:
150       shorthand_name: BindsTo # ARIA NOTE: the spec says "network.BindsTo" which seems wrong
151       type_qualified_name: tosca:BindsTo
152       specification: tosca-simple-1.0
153       specification_section: 7.5.5
154       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_RELATIONSHIPS_NETWORK_BINDTO'
155     description: >-
156       This type represents a network association relationship between Port and Compute node types.
157     derived_from: tosca.relationships.DependsOn
158     valid_target_types: [ tosca.capabilities.network.Bindable ]