51e36969651ef97fc89b3073813a8b05752966b7
[policy/clamp.git] /
1 # ============LICENSE_START=======================================================
2 # Copyright (C) 2021 Nordix Foundation.
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
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 # SPDX-License-Identifier: Apache-2.0
17 # ============LICENSE_END=========================================================
18
19 tosca_definitions_version: tosca_simple_yaml_1_3
20 capability_types:
21   org.onap.EventProducer:
22     properties:
23       carrier_protocol_type:
24         type: string
25         required: true
26         constraints:
27         - valid_values:
28           - DMAAP_message_router
29           - SOMETHING_ELSE
30           - REST
31       data_format:
32         type: string
33         required: true
34         constraints:
35         - valid_values:
36           - JSON
37           - YAML
38           - JMS
39       event_format:
40         type: string
41         required: true
42       event_format_version:
43         type: string
44         required: false
45       config_keys:
46         type: list
47         required: false
48         entry_schema:
49           type: string
50           constraints:
51           - valid_values:
52             - all valid values should be added here
53             - if not specified, events of any config key may be generated
54             - 'examples for config_key: ves-measurement, ves-syslog, tca_handle_out,
55               etc.'
56     version: 0.0.1
57     derived_from: tosca.capabilities.Root
58   org.onap.EventConsumer:
59     properties:
60       responding_capability:
61         type: string
62         required: false
63       carrier_protocol_type:
64         type: string
65         required: true
66         constraints:
67         - valid_values:
68           - DMAAP_message_router
69           - SOMETHING_ELSE
70           - REST
71       data_format:
72         type: string
73         required: true
74         constraints:
75         - valid_values:
76           - JSON
77           - YAML
78           - JMS
79           - all valid values should be added here
80       event_format:
81         type: string
82         description: 'examples for event_format: Ves_specification, LinkUp, VnfConfigured,
83           etc.'
84         required: true
85       event_format_version:
86         type: string
87         description: 'examples for event_format_version: 5.28.4, 7.30.1, etc.'
88         required: false
89       config_keys:
90         type: list
91         required: false
92         entry_schema:
93           type: string
94           constraints:
95           - valid_values:
96             - all valid values should be added here
97             - if not specified, events of any config key may be generated
98             - 'examples for config_key: ves-measurement, ves-syslog, tca_handle_out,
99               etc.'
100     version: 0.0.1
101     derived_from: tosca.capabilities.Root
102 node_types:
103   org.onap.DynamicConfig:
104     properties:
105       application_name:
106         type: string
107         description: Value used to tie the config to an application ? should we be
108           using a relationship here instead?
109         required: true
110       application_version:
111         type: string
112         required: true
113       application_provider:
114         type: string
115         required: false
116       data_types:
117         type: object
118         required: false
119       schema:
120         type: object
121         required: false
122     version: 0.0.1
123     derived_from: tosca.nodes.Root
124   org.onap.APP:
125     properties:
126       application_name:
127         type: string
128         description: Human readable name for the application Product
129         required: false
130       provider:
131         type: string
132         description: Provider of the application and of the descriptor
133         required: true
134       application_version:
135         type: string
136         description: Software version of the application
137         required: true
138       blueprint_id:
139         type: string
140         description: A reference to the app blueprint
141         required: false
142       monitoring_policy:
143         type: string
144         description: A reference to the monitoring policy
145         required: false
146     requirements:
147     - receive:
148         capability: org.onap.EventProducer
149         relationship: org.onap.PropagateEvent
150         occurrences:
151         - 0
152         - UNBOUNDED
153     - send:
154         capability: org.onap.EventConsumer
155         relationship: org.onap.PropagateEvent
156         occurrences:
157         - 0
158         - UNBOUNDED
159     version: 0.0.1
160     derived_from: tosca.nodes.Root
161   org.onap.EventRelay:
162     properties:
163       event_format:
164         type: string
165         description: 'examples for event_format: Ves_specification, etc.'
166         required: true
167       event_format_version:
168         type: string
169         description: 'examples for event_format_version: 5.28.4, 7.30.1, etc.'
170         required: true
171       config_keys:
172         type: list
173         required: false
174         entry_schema:
175           type: string
176           constraints:
177           - valid_values:
178             - all valid values should be added here
179             - if not specified, events of any config key is relayed
180             - 'examples for config_key: ves-measurement, ves-syslog, tca_handle_out,
181               etc.'
182       supported_carrier_protocols:
183         type: map
184         description: 'A map describing supported carrier protocols and translations.
185           The tuples define what protocol combinations are supported on the producer
186           and consumer side: e.g. { REST: REST, DMAAP: REST, DMAAP: DMAAP}'
187         required: true
188         key_schema:
189           type: string
190           constraints:
191           - valid_values:
192             - DMAAP_message_router
193             - SOMETHING_ELSE
194             - REST
195             - all valid values should be added here
196         entry_schema:
197           type: string
198           constraints:
199           - valid_values:
200             - DMAAP_message_router
201             - SOMETHING_ELSE
202             - REST
203             - all valid values should be added here
204       supported_data_formats:
205         type: map
206         description: 'Is a map describing supported data formats and translation.
207           The tuples define what protocol combinations are supported on the producer
208           and consumer side: e.g. { JSON: JSON, JMS: JSON, YAML:YAML }'
209         required: true
210         key_schema:
211           type: string
212           constraints:
213           - valid_values:
214             - JSON
215             - JMS
216             - YAML
217             - etc
218             - all valid values should be added here
219         entry_schema:
220           type: string
221           constraints:
222           - valid_values:
223             - JSON
224             - JMS
225             - YAML
226             - etc
227             - all valid values should be added here
228     requirements:
229     - receive:
230         capability: org.onap.EventProducer
231         relationship: org.onap.PropagateEvent
232         occurrences:
233         - 0
234         - UNBOUNDED
235     - send:
236         capability: org.onap.EventConsumer
237         relationship: org.onap.PropagateEvent
238         occurrences:
239         - 0
240         - UNBOUNDED
241     version: 0.0.1
242     derived_from: tosca.nodes.Root
243 relationship_types:
244   org.onap.PropagateEvent:
245     properties:
246       config_keys:
247         type: list
248         description: The relationship type used on requirements to org.onap.EventProducer
249           and org.onap.EventConsumer capabilities. Filters events by specific config_keys
250           to be transferred by this relationship. That is, any event with a specific
251           config_key found in the list is transferred. If list is not defined or is
252           empty, events with all config_keys are transferred.
253         required: false
254         entry_schema:
255           type: string
256     version: 0.0.1
257     derived_from: tosca.relationships.Root
258 topology_template:
259   inputs:
260     pm_subscription_topic:
261       type: string
262     pm_subscription_response_topic:
263       type: string
264     pm_subscription_handler_blueprint_id:
265       type: string
266     pm_subscription_operational_policy_id:
267       type: string
268     pm_subscription_cds_blueprint_id:
269       type: string
270     enable_tls:
271       type: string
272   node_templates:
273     org.onap.PM_Subscription_Handler:
274       type: org.onap.polcy.clamp.ControlLoopElement
275       properties:
276         application_name: PM Subscription Handler
277         provider: Ericsson
278         application_version: 1.0.0
279         artifact_id:
280           get_input: pm_subscription_handler_blueprint_id
281           description: Is this a reference to the DCAE Cloudify Blueprint that is
282             already stored(or will be stored before CL configuration & instatiation)
283             in DCAE Inventory?
284         artifact_config:
285           enable_tls:
286             get_input: enable_tls
287           pmsh_publish_topic_name:
288             get_input: pm_subscription_topic
289       capabilities:
290         pm-subscription-event-publisher:
291           properties:
292             carrier_protocol_type: DMAAP_message_router
293             data_format: JSON
294             event_format: pm-subscription-event-format
295             event_format_version: 1.0.0
296           attributes:
297             type: org.onap.EventProducer
298           occurrences:
299           - 0
300           - UNBOUNDED
301         pm-subscription-event-receiver:
302           properties:
303             carrier_protocol_type: DMAAP_message_router
304             data_format: JSON
305             event_format: pm-subscription-event-response-format
306             event_format_version: 1.0.0
307             relationships:
308             - type: tosca.relationships.DependsOn
309             - description: any ideas on a better realtionship ? or is it better to
310                 just use the root realtionship ?
311             - target: org.onap.PM_Monitoring_Policy
312           attributes:
313             type: org.onap.EventConsumer
314           occurrences:
315           - 0
316           - UNBOUNDED
317     org.onap.PM_Monitoring_Policy:
318       type: org.onap.DynamicConfig
319       properties:
320         application_name: PM Subscription Handler
321         application_version: 1.0.0
322         provider: Ericsson
323         data_types:
324           measurementType:
325             type: string
326           DN:
327             type: string
328           nfFilter:
329             properties:
330               nfNames:
331                 type: list
332                 entry_schema: string
333               modelInvariantIDs:
334                 type: list
335                 entry_schema:
336                   type: string
337               modelVersionIDs:
338                 type: list
339                 entry_schema:
340                   type: string
341           measurementGroup:
342             properties:
343               masurementTypes:
344                 type: list
345                 entry_schema:
346                   type: measurementType
347               managedObjectDNsBasic:
348                 type: list
349                 entry_schema:
350                   type: DN
351         schema:
352           subscription:
353             subscriptionName:
354               type: string
355               required: true
356             administrativeState:
357               type: string
358               required: true
359             filebasedGP:
360               type: integer
361               required: true
362             fileLocation:
363               type: string
364               required: true
365             nfFilter:
366               type: nfFilter
367             measurementGroups:
368               type: list
369               entry_schema:
370                 type: measurementGroup
371       description: Should I be showing a dependency between PM Subscription Handler
372         and the PM Monitoring Policy
373     org.onap.PM_Policy:
374       type: org.onap.APP
375       properties:
376         application_name: PM Subscription Operational Policy
377         provider: Ericsson
378         application_version: 1.0.0
379         artifact_id:
380           get_input: pm_subscription_operational_policy_id
381         artifact_config: NOT_DEFINED
382       requirements:
383       - receive_0:
384           capability: pm-subscription-event-publisher
385           node: org.onap.PM_Subscription_Handler
386           relationship: NOT_DEFINED
387           properties:
388             config_keys:
389             - topic_name:
390                 get_input: pm_subscription_topic
391       - send_0:
392           capability: cds-rest-receive
393           node: org.onap.CDS
394       - receive_1:
395           capability: cds-rest-response
396           node: org.onap.CDS
397       - send_1:
398           capability: pm-subscription-event-receiver
399           node: org.onap.PM_Subscription_Handler
400           relationship: NOT_DEFINED
401           properties:
402             config_keys:
403             - topic_name:
404                 get_input: pm_subscription_response_topic
405       capabilities:
406         pm-subscription-response-event-publisher:
407           properties:
408             type: org.onap.EventProducer
409             carrier_protocol_type: DMAAP_message_router
410             data_format: JSON
411             event_format: pm-subscription-event-response-format
412             event_format_version: 1.0.0
413           occurrences:
414           - 0
415           - UNBOUNDED
416     org.onap.PM_CDS_Blueprint:
417       type: org.onap.APP
418       properties:
419         application_name: PM Subscription CDS Blueprint
420         provider: Ericsson
421         application_version: 1.0.0
422         artifact_id:
423           get_input: pm_subscription_cds_blueprint_id
424       capabilities:
425         cds-rest-receive:
426           properties:
427             type: org.onap.EventConsumer
428             protocol_type: REST
429             data_format: JSON
430             event_format: cds_action_format
431             event_format_version: 1.0.0
432             responding_capability: cds-rest-response
433           occurrences:
434             - 0
435             - UNBOUNDED
436         cds-rest-response:
437           properties:
438             type: org.onap.EventProducer
439             protocol_type: REST
440             data_format: JSON
441             event_format: cds_action_response_format
442             event_format_version: 1.0.0
443           occurrences:
444             - 0
445     org.onap.controlloop0:
446       version: 1.2.3
447       type: org.onap.policy.clamp.ControlLoop
448       properties:
449         application_name: Test Control Loop
450         provider: Ericsson
451         application_version: 1.0.0
452         status: NOT_DEPLOYED
453         elements:
454             element1: org.onap.PM_Monitoring_Policy
455