Real vFW CNF config-assign and config-deploy
[demo.git] / heat / vFW_CNF_CDS / templates / cba / Scripts / kotlin / ConfigDeploy.kt
1 /*
2  * Copyright © 2021 Orange
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
17 package org.onap.ccsdk.cds.blueprintsprocessor.services.execution.scripts
18
19 import org.onap.ccsdk.cds.blueprintsprocessor.core.api.data.ExecutionServiceInput
20 import org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.storedContentFromResolvedArtifactNB
21 import org.onap.ccsdk.cds.blueprintsprocessor.services.execution.AbstractScriptComponentFunction
22 import org.slf4j.LoggerFactory
23
24 open class ConfigDeploy : AbstractScriptComponentFunction() {
25
26     private val log = LoggerFactory.getLogger(ConfigDeploy::class.java)!!
27
28     override fun getName(): String {
29         return "ConfigDeploy"
30     }
31
32     override suspend fun processNB(executionRequest: ExecutionServiceInput) {
33         val resolutionKey = getDynamicProperties("resolution-key").asText()
34         log.info("Got the resolution_key: $resolutionKey from config-deploy going to retrieve the data from DB")
35         val prefix = "config-deploy" // used in the config-assign resolution
36
37         val payload = storedContentFromResolvedArtifactNB(resolutionKey, prefix)
38         log.info("cnf configuration data from DB : \n$payload\n")
39
40         println("Run config-deploy")
41         println("$payload")
42     }
43
44     override suspend fun recoverNB(runtimeException: RuntimeException, executionRequest: ExecutionServiceInput) {
45         log.info("Executing Recovery")
46         this.addError("${runtimeException.message}")
47     }
48 }