8fe25b8b7ec13340504a85eb0aed2c65dd71c229
[dcaegen2/platform/blueprints.git] / blueprints / k8s-ves-mapper.yaml
1 #
2 # ============LICENSE_START====================================================
3 # =============================================================================
4 # Copyright (c) 2019 TechMahindra. All rights reserved.
5 # Copyright (c) 2020-2021 AT&T Intellectual Property. All rights reserved.
6 # =============================================================================
7 # Licensed under the Apache License, Version 2.0 (the "License");
8 # you may not use this file except in compliance with the License.
9 # You may obtain a copy of the License at
10 #
11 #      http://www.apache.org/licenses/LICENSE-2.0
12 #
13 # Unless required by applicable law or agreed to in writing, software
14 # distributed under the License is distributed on an "AS IS" BASIS,
15 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 # See the License for the specific language governing permissions and
17 # limitations under the License.
18 # ============LICENSE_END======================================================
19
20 description: "UniversalVESAdapter blueprint"
21 imports:
22   - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml
23   - plugin:k8splugin?version=>=3.4.3,<4.0.0
24
25 inputs:
26   rcc_notification_url:
27     default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_RCC_OUTPUT"
28     type: string
29   snmp_notification_url:
30     default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.ONAP-COLLECTOR-SNMPTRAP"
31     type: string
32   tag_version:
33     default: "nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.mapper.vesadapter.universalvesadaptor:1.2.0"
34     type: string
35   ves_fault_publish_url:
36     default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_FAULT_OUTPUT"
37     type: string
38   ves_measurement_publish_url:
39     default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT"
40     type: string
41   ves_notification_publish_url:
42     default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT"
43     type: string
44   ves_pnfRegistration_publish_url:
45     default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_PNFREG_OUTPUT"
46     type: string
47   service_component_type:
48     type: string
49     default: "dcae-svc-vesmapper"
50   service_id:
51     type: string
52     default: "dcae-svc-vesmapper"
53   service_component_name_override:
54     type: string
55     default: "dcae-svc-vesmapper"
56 node_templates:
57   universalvesadapter:
58     interfaces:
59       cloudify.interfaces.lifecycle:
60         start:
61           inputs:
62             envs:
63               CONFIG_BINDING_SERVICE: config_binding_service
64             max_wait: 3600
65             ports:
66               - "80:0"
67     properties:
68       application_config:
69         app_preferences:
70           collectors:
71             -
72               identifier: notification-id
73               mapping-files:
74                 -
75                   defaultMappingFile-rcc-notification: "<?xml version='1.0' encoding='UTF-8'?><smooks-resource-list xmlns='http://www.milyn.org/xsd/smooks-1.1.xsd' xmlns:jb='http://www.milyn.org/xsd/smooks/javabean-1.4.xsd' xmlns:json='http://www.milyn.org/xsd/smooks/json-1.1.xsd'><json:reader rootName='vesevent' keyWhitspaceReplacement='-'><json:keyMap><json:key from='date&amp;time' to='date-and-time' /></json:keyMap></json:reader><jb:bean class='org.onap.dcaegen2.ves.domain.ves70.VesEvent' beanId='vesEvent' createOnElement='vesevent'><jb:wiring property='event' beanIdRef='event' /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves70.Event' beanId='event' createOnElement='vesevent'><jb:wiring property='commonEventHeader' beanIdRef='commonEventHeader' /><jb:wiring property='pnfRegistrationFields' beanIdRef='pnfRegistrationFields' /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader' beanId='commonEventHeader' createOnElement='vesevent'><jb:expression property='version'>org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Version._4_0_1</jb:expression><jb:expression property='eventType'>'pnfRegistration'</jb:expression><jb:expression property='vesEventListenerVersion'>org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.VesEventListenerVersion._7_0_1</jb:expression><jb:expression property='eventId' execOnElement='vesevent'>'registration_'+commonEventHeader.ts1</jb:expression><jb:expression property='reportingEntityName'>'VESMapper'</jb:expression><jb:expression property='domain'>org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Domain.PNF_REGISTRATION</jb:expression><jb:expression property='eventName' execOnElement='vesevent'>commonEventHeader.domain</jb:expression><jb:value property='sequence' data='0' default='0' decoder='Long' /><jb:expression property='lastEpochMicrosec' execOnElement='vesevent'>commonEventHeader.ts1</jb:expression><jb:expression property='startEpochMicrosec' execOnElement='vesevent'>commonEventHeader.ts1</jb:expression><jb:expression property='priority'>org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Priority.NORMAL</jb:expression><jb:expression property='sourceName' execOnElement='vesevent'>pnfRegistrationFields.vendorName+'-'+pnfRegistrationFields.serialNumber</jb:expression></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves70.PnfRegistrationFields' beanId='pnfRegistrationFields' createOnElement='vesevent'><jb:expression property='pnfRegistrationFieldsVersion'>org.onap.dcaegen2.ves.domain.ves70.PnfRegistrationFields.PnfRegistrationFieldsVersion._2_0</jb:expression><jb:value property='serialNumber' data='pnfRegistration/serialNumber' /><jb:value property='lastServiceDate' data='pnfRegistration/lastServiceDate' /><jb:value property='manufactureDate' data='pnfRegistration/manufactureDate' /><jb:value property='modelNumber' data='pnfRegistration/modelNumber' /><jb:value property='oamV4IpAddress' data='pnfRegistration/oamV4IpAddress' /><jb:value property='oamV6IpAddress' data='pnfRegistration/oamV6IpAddress' /><jb:value property='softwareVersion' data='pnfRegistration/softwareVersion' /><jb:value property='unitFamily' data='pnfRegistration/unitFamily' /><jb:value property='unitType' data='pnfRegistration/unitType' /><jb:value property='vendorName' data='pnfRegistration/vendorName' /><jb:wiring property='additionalFields' beanIdRef='alarmAdditionalInformation' /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves70.AlarmAdditionalInformation' beanId='alarmAdditionalInformation' createOnElement='vesevent'><jb:wiring property='additionalProperties' beanIdRef='additionalFields2' /></jb:bean><jb:bean beanId='additionalFields2' class='java.util.HashMap' createOnElement='vesevent/pnfRegistration/additionalFields'><jb:value data='pnfRegistration/additionalFields/*'/></jb:bean></smooks-resource-list>"
76               stream_publisher: ves-pnfRegistration
77               stream_subscriber: rcc-notification
78             -
79               identifier: notify OID
80               mapping-files:
81                 -
82                   defaultMappingFile-snmp-notification: "<?xml version='1.0' encoding='UTF-8'?><smooks-resource-list xmlns='http://www.milyn.org/xsd/smooks-1.1.xsd' xmlns:jb='http://www.milyn.org/xsd/smooks/javabean-1.4.xsd' xmlns:json='http://www.milyn.org/xsd/smooks/json-1.1.xsd'><json:reader rootName='vesevent' keyWhitspaceReplacement='-'><json:keyMap><json:key from='date&amp;time' to='date-and-time' /></json:keyMap></json:reader><jb:bean class='org.onap.dcaegen2.ves.domain.ves54.VesEvent' beanId='vesEvent' createOnElement='vesevent'><jb:wiring property='event' beanIdRef='event' /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves54.Event' beanId='event' createOnElement='vesevent'><jb:wiring property='commonEventHeader' beanIdRef='commonEventHeader' /><jb:wiring property='faultFields' beanIdRef='faultFields' /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves54.CommonEventHeader' beanId='commonEventHeader' createOnElement='vesevent'><jb:expression property='version'>'3.0'</jb:expression><jb:expression property='eventType'>'FaultField'</jb:expression><jb:expression property='eventId' execOnElement='vesevent'>'XXXX'</jb:expression><jb:expression property='reportingEntityName'>'VESMapper'</jb:expression><jb:expression property='domain'>org.onap.dcaegen2.ves.domain.ves54.CommonEventHeader.Domain.FAULT</jb:expression><jb:expression property='eventName' execOnElement='vesevent'>commonEventHeader.domain</jb:expression><jb:value property='sequence' data='0' default='0' decoder='Long' /><jb:value property='lastEpochMicrosec' data='#/time-received' /><jb:value property='startEpochMicrosec' data='#/time-received' /><jb:expression property='priority'>org.onap.dcaegen2.ves.domain.ves54.CommonEventHeader.Priority.NORMAL</jb:expression><jb:expression property='sourceName'>'VesAdapter'</jb:expression></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves54.FaultFields' beanId='faultFields' createOnElement='vesevent'><jb:value property='faultFieldsVersion' data='2.0' default='2.0' decoder='Double' /><jb:value property='alarmCondition' data='#/trap-category' /><jb:expression property='specificProblem'>'SNMP Fault'</jb:expression><jb:expression property='vfStatus'>org.onap.dcaegen2.ves.domain.ves54.FaultFields.VfStatus.ACTIVE</jb:expression><jb:expression property='eventSeverity'>org.onap.dcaegen2.ves.domain.ves54.FaultFields.EventSeverity.MINOR</jb:expression><jb:wiring property='alarmAdditionalInformation' beanIdRef='alarmAdditionalInformationroot' /></jb:bean><jb:bean class='java.util.ArrayList' beanId='alarmAdditionalInformationroot' createOnElement='vesevent'><jb:wiring beanIdRef='alarmAdditionalInformation' /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves54.AlarmAdditionalInformation' beanId='alarmAdditionalInformation' createOnElement='varbinds/element'><jb:value property='name' data='#/varbind_oid' /><jb:value property='value' data='#/varbind_value' /></jb:bean></smooks-resource-list>"
83               stream_publisher: ves-fault
84               stream_subscriber: snmp-notification
85         streams_publishes:
86           ves-fault:
87             dmaap_info:
88               topic_url:
89                 get_input: ves_fault_publish_url
90             type: message_router
91           ves-pnfRegistration:
92             dmaap_info:
93               topic_url:
94                 get_input: ves_pnfRegistration_publish_url
95             type: message_router
96         streams_subscribes:
97           rcc-notification:
98             dmaap_info:
99               topic_url:
100                 get_input: rcc_notification_url
101             type: message_router
102           snmp-notification:
103             dmaap_info:
104               topic_url:
105                 get_input: snmp_notification_url
106             type: message_router
107       docker_config: {}
108       image:
109         get_input: tag_version
110       service_component_type: { get_input: service_component_type }
111       service_id: { get_input: service_id }
112       service_component_name_override: { get_input: service_component_name_override }
113     type: dcae.nodes.ContainerizedServiceComponent
114 tosca_definitions_version: cloudify_dsl_1_3
115