move plugins from from ccsdk to dcaegen2
[dcaegen2/platform/plugins.git] / dmaap / dmaap.yaml
1 # ============LICENSE_START====================================================
2 # org.onap.dcaegen2
3 # =============================================================================
4 # Copyright (c) 2017-2020 AT&T Intellectual Property. All rights reserved.
5 # =============================================================================
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
9 #
10 #      http://www.apache.org/licenses/LICENSE-2.0
11 #
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17 # ============LICENSE_END======================================================
18
19
20 # Types and relationships for DMaaP data router feeds
21
22 tosca_definitions_version: cloudify_dsl_1_3
23
24 plugins:
25   dmaapplugin:
26     executor: 'central_deployment_agent'
27     package_name: dmaap
28     package_version: 1.4.0
29
30
31 node_types:
32
33   # Data Router feed to be created
34   dcaegen2.nodes.Feed:
35     derived_from: cloudify.nodes.Root
36
37     properties:
38       feed_name:
39         type: string
40         required: false
41       feed_version:
42         type: string
43         required: false
44       feed_description:
45         type: string
46         required: false
47       aspr_classification:
48         type: string
49         required: false
50       useExisting:
51         type: boolean
52         required: false
53
54     interfaces:
55       cloudify.interfaces.lifecycle:
56         create:
57           implementation:
58             dmaapplugin.dmaapplugin.dr_lifecycle.create_feed
59         delete:
60           implementation:
61             dmaapplugin.dmaapplugin.dr_lifecycle.delete_feed
62
63   # Existing Data Router feed to be used as target for publishing/subscribing
64   dcaegen2.nodes.ExistingFeed:
65     derived_from: cloudify.nodes.Root
66
67     properties:
68       feed_id:
69         type: string
70         required: false
71       feed_name:
72         type: string
73         required: false
74
75     interfaces:
76       cloudify.interfaces.lifecycle:
77         configure:
78           implementation:
79             dmaapplugin.dmaapplugin.dr_lifecycle.get_existing_feed
80
81   # Existing Global Data Router feed (created via Invenio) to be used as target for bridging
82   dcaegen2.nodes.ExternalTargetFeed:
83     derived_from: cloudify.nodes.Root
84
85     properties:
86       url:
87         type: string
88         required: true
89       username:
90         type: string
91         required: true
92       userpw:
93         type: string
94         required: true
95
96   # Global Data Router feed to be used as a source for bridging
97   # Has no properties
98   dcaegen2.nodes.ExternalSourceFeed:
99     derived_from: cloudify.nodes.Root
100
101   # Message Router topic to be created
102   dcaegen2.nodes.Topic:
103     derived_from: cloudify.nodes.Root
104
105     properties:
106       topic_name:
107         type: string
108         required: false
109       topic_description:
110         type: string
111         required: false
112       txenable:
113         type: boolean
114         required: false
115       replication_case:
116         type: string
117         required: false
118       global_mr_url:
119         type: string
120         required: false
121       useExisting:
122         type: boolean
123         required: false
124
125     interfaces:
126       cloudify.interfaces.lifecycle:
127         create:
128           implementation:
129             dmaapplugin.dmaapplugin.mr_lifecycle.create_topic
130         delete:
131           implementation:
132             dmaapplugin.dmaapplugin.mr_lifecycle.delete_topic
133
134   # Existing Message Router topic to be used as target for publishing/subscribing
135   dcaegen2.nodes.ExistingTopic:
136     derived_from: cloudify.nodes.Root
137
138     properties:
139       fqtn:
140         type: string
141         required: false
142       topic_name:
143         type: string
144         required: false
145
146     interfaces:
147       cloudify.interfaces.lifecycle:
148         configure:
149           implementation:
150             dmaapplugin.dmaapplugin.mr_lifecycle.get_existing_topic
151
152 relationships:
153
154   dcaegen2.relationships.publish_files:
155     derived_from: cloudify.relationships.connected_to
156     target_interfaces:
157       cloudify.interfaces.relationship_lifecycle:
158         preconfigure: dmaapplugin.dmaapplugin.dr_relationships.add_dr_publisher
159         unlink: dmaapplugin.dmaapplugin.dr_relationships.delete_dr_publisher
160
161   dcaegen2.relationships.subscribe_to_files:
162     derived_from: cloudify.relationships.connected_to
163     target_interfaces:
164       cloudify.interfaces.relationship_lifecycle:
165         preconfigure: dmaapplugin.dmaapplugin.dr_relationships.add_dr_subscriber
166         unlink: dmaapplugin.dmaapplugin.dr_relationships.delete_dr_subscriber
167
168   dcaegen2.relationships.publish_events:
169     derived_from: cloudify.relationships.connected_to
170     target_interfaces:
171       cloudify.interfaces.relationship_lifecycle:
172         preconfigure: dmaapplugin.dmaapplugin.mr_relationships.add_mr_publisher
173         unlink: dmaapplugin.dmaapplugin.mr_relationships.delete_mr_client
174
175   dcaegen2.relationships.subscribe_to_events:
176     derived_from: cloudify.relationships.connected_to
177     target_interfaces:
178       cloudify.interfaces.relationship_lifecycle:
179         preconfigure: dmaapplugin.dmaapplugin.mr_relationships.add_mr_subscriber
180         unlink: dmaapplugin.dmaapplugin.mr_relationships.delete_mr_client
181
182   dcaegen2.relationships.bridges_to:
183     derived_from: cloudify.relationships.connected_to
184     target_interfaces:
185       cloudify.interfaces.relationship_lifecycle:
186         preconfigure: dmaapplugin.dmaapplugin.dr_bridge.create_dr_bridge
187         unlink: dmaapplugin.dmaapplugin.dr_bridge.remove_dr_bridge
188
189   dcaegen2.relationships.bridges_to_external:
190     derived_from: cloudify.relationships.connected_to
191     target_interfaces:
192       cloudify.interfaces.relationship_lifecycle:
193         preconfigure: dmaapplugin.dmaapplugin.dr_bridge.create_external_dr_bridge
194         unlink: dmaapplugin.dmaapplugin.dr_bridge.remove_dr_bridge
195
196   dcaegen2.relationships.bridges_from_external_to_internal:
197     derived_from: cloudify.relationships.connected_to
198     target_interfaces:
199       cloudify.interfaces.relationship_lifecycle:
200         preconfigure: dmaapplugin.dmaapplugin.dr_bridge.create_external_source_dr_bridge
201         unlink: dmaapplugin.dmaapplugin.dr_bridge.remove_dr_bridge
202