1 # ================================================================================
2 # Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved.
3 # ================================================================================
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
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 # ============LICENSE_END=========================================================
17 # ECOMP is a trademark and service mark of AT&T Intellectual Property.
18 tosca_definitions_version: cloudify_dsl_1_3
21 - http://www.getcloudify.org/spec/cloudify/3.4/types.yaml
25 executor: 'central_deployment_agent'
26 package_name: relationshipplugin
27 package_version: 1.1.0
30 # The relationship type here is to be used between service component nodes. What is achieved here is
31 # functionality in providing this relationship information to the service components so that they can
32 # do service discovery.
34 # This function will create/add to the rels list for components. So going from a "collector node -> analytics node"
35 # for example, this is kind of the edge and will add:
38 # "collector_name:rel": ["analytics_name"]
41 # To the key value store.
43 dcae.relationships.component_connected_to:
44 derived_from: cloudify.relationships.connected_to
45 # These operations are for adding and removing relationships from Consul
46 # http://getcloudify.org/guide/3.1/reference-builtin-workflows.html
48 cloudify.interfaces.relationship_lifecycle:
50 # Adds target to the source relationship list
51 implementation: relationships.relationshipplugin.add_relationship
53 # Removes target from the source relationship list
54 implementation: relationships.relationshipplugin.remove_relationship
56 dcae.relationships.component_contained_in:
57 derived_from: cloudify.relationships.contained_in
59 cloudify.interfaces.relationship_lifecycle:
61 implementation: relationships.relationshipplugin.forward_destination_info
62 # TODO: Is there a need for "unlink"?
64 dcae.relationships.component_registered_to:
65 #Operates on a relationship A -> B and makes the following assumptions:
66 derived_from: cloudify.relationships.connected_to
68 cloudify.interfaces.relationship_lifecycle:
70 implementation: relationships.relationshipplugin.tasks.registered_to
79 implementation: relationships.relationshipplugin.tasks.registered_to_delete