How to create a “Hello World” Package with CDS Designer UI? The Script Executor Type
How to Get Started with CDS Designer UI
If you’re new to CDS Designer UI and need to get set up, the following guides may be helpful:
NOTE:
In order to see the latest version described below in the tutorial, we will need to use the latest cds-ui-server docker image:
nexus3.onap.org:10001/onap/ccsdk-cds-ui-server:1.1.0-STAGING-latest
Create New CDS Package
In the Package List, click on the Create Package button.
Define Package MetaData
In METADATA Tab:
Package name (Required), type "Hello-world-package-kotlin"
Package version (Required), type "1.0.0"
Package description (Required), type "just description"
Package Tags (Required), type "kotlin" then use the Enter key on the keyboard
In the Custom Key section, add Key name "template_type" and
For Key Value "DEFAULT"
Once you enter all fields you will be able to save your package. Click on the Save button and continue to define your package.
Define Scripts
In the SCRIPTS Tab:
Click on the Create Script button
In the Create Script File modal:
Enter script file name "Test"
Choose the script type "Kotlin"
Type or copy and paste the below script in the code editor
/*
* Copyright © 2020, Orange
*
* 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.
*/
package org.onap.ccsdk.cds.blueprintsprocessor.services.execution.scripts
import org.onap.ccsdk.cds.blueprintsprocessor.core.api.data.ExecutionServiceInput
import org.onap.ccsdk.cds.blueprintsprocessor.services.execution.AbstractScriptComponentFunction
import org.onap.ccsdk.cds.blueprintsprocessor.services.execution.ComponentRemoteScriptExecutor
import org.onap.ccsdk.cds.controllerblueprints.core.asJsonPrimitive
import org.slf4j.LoggerFactory
open class HelloWorld : AbstractScriptComponentFunction() {
private val log = LoggerFactory.getLogger(HelloWorld::class.java)!!
override fun getName(): String {
return "Check"
}
override suspend fun processNB(executionRequest: ExecutionServiceInput) {
log.info("executing hello world script ")
val username = getDynamicProperties("username").asText()
log.info("username : $username")
setAttribute("response-data", "Hello, $username".asJsonPrimitive())
}
override suspend fun recoverNB(runtimeException: RuntimeException, executionRequest: ExecutionServiceInput) {
log.info("Executing Recovery")
bluePrintRuntimeService.getBluePrintError().addError("${runtimeException.message}")
}
}
4. Click on the Create Script button to save the script file
Now, you can view and edit your script file.
After the new script is added to the scripts list, click on the Save button to save the package updates.
Define DSL Properties
In the DSL PROPERTIES Tab:
Copy and paste the below DSL definition
{
"Action1-properties": {
"username": {
"get_input": "username"
}
}
}
Then click on the Save button to update the package.
Create An Action
From the Package information box on top, click on the Designer Mode button.
Click on the Skip to Designer Canvas button to go directly to Designer Mode.
Now the designer has zero action added. Let's start adding the first Action.
Go to the left side of the designer screen and in the ACTIONS tab, click on the + New Action button.
Now, the first Action Action1 is added to the Actions list and in the Workflow canvas.
Add Script Executor Function To The Action
On the left side of the designer screen, Click on the FUNCTIONS tab to view all the Functions List.