summaryrefslogtreecommitdiffstats
path: root/relationships/relationshipplugin-type.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'relationships/relationshipplugin-type.yaml')
-rw-r--r--relationships/relationshipplugin-type.yaml81
1 files changed, 81 insertions, 0 deletions
diff --git a/relationships/relationshipplugin-type.yaml b/relationships/relationshipplugin-type.yaml
new file mode 100644
index 0000000..9919cd8
--- /dev/null
+++ b/relationships/relationshipplugin-type.yaml
@@ -0,0 +1,81 @@
+# ================================================================================
+# Copyright (c) 2017-2020 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed 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.
+# ============LICENSE_END=========================================================
+#
+tosca_definitions_version: cloudify_dsl_1_3
+
+imports:
+ - http://www.getcloudify.org/spec/cloudify/3.4/types.yaml
+
+plugins:
+ relationships:
+ executor: 'central_deployment_agent'
+ package_name: relationshipplugin
+ package_version: 1.1.0
+
+relationships:
+ # The relationship type here is to be used between service component nodes. What is achieved here is
+ # functionality in providing this relationship information to the service components so that they can
+ # do service discovery.
+ #
+ # This function will create/add to the rels list for components. So going from a "collector node -> analytics node"
+ # for example, this is kind of the edge and will add:
+ #
+ # ```
+ # "collector_name:rel": ["analytics_name"]
+ # ```
+ #
+ # To the key value store.
+ #
+ dcae.relationships.component_connected_to:
+ derived_from: cloudify.relationships.connected_to
+ # These operations are for adding and removing relationships from Consul
+ # http://getcloudify.org/guide/3.1/reference-builtin-workflows.html
+ target_interfaces:
+ cloudify.interfaces.relationship_lifecycle:
+ preconfigure:
+ # Adds target to the source relationship list
+ implementation: relationships.relationshipplugin.add_relationship
+ unlink:
+ # Removes target from the source relationship list
+ implementation: relationships.relationshipplugin.remove_relationship
+
+ dcae.relationships.component_contained_in:
+ derived_from: cloudify.relationships.contained_in
+ target_interfaces:
+ cloudify.interfaces.relationship_lifecycle:
+ preconfigure:
+ implementation: relationships.relationshipplugin.forward_destination_info
+ # TODO: Is there a need for "unlink"?
+
+ dcae.relationships.component_registered_to:
+ #Operates on a relationship A -> B and makes the following assumptions:
+ derived_from: cloudify.relationships.connected_to
+ target_interfaces:
+ cloudify.interfaces.relationship_lifecycle:
+ preconfigure:
+ implementation: relationships.relationshipplugin.tasks.registered_to
+ inputs:
+ address_to_register:
+ type: string
+ port_to_register:
+ type: string
+ name_to_register:
+ type: string
+ unlink:
+ implementation: relationships.relationshipplugin.tasks.registered_to_delete
+
+
+