12428a90cc7d3244da88d15578b194e401b74b67
[ccsdk/cds.git] /
1 /*
2  *  Copyright © 2019 IBM.
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.controllerblueprints.core.dsl
18
19 import com.fasterxml.jackson.annotation.JsonIgnore
20 import com.fasterxml.jackson.databind.JsonNode
21 import org.onap.ccsdk.cds.controllerblueprints.core.data.*
22
23 /**
24  * This is simplified version of DSL, which is used for generating the Service template
25  * @author Brinda Santh
26  */
27
28 class DSLBluePrint {
29     var metadata: MutableMap<String, String> = hashMapOf()
30     var properties: MutableMap<String, JsonNode>? = null
31     var dataType: MutableMap<String, DataType> = hashMapOf()
32     var components: MutableMap<String, DSLComponent> = hashMapOf()
33     var workflows: MutableMap<String, DSLWorkflow> = hashMapOf()
34 }
35
36 class DSLWorkflow {
37     @get:JsonIgnore
38     var id: String? = null
39     lateinit var description: String
40     lateinit var actionName: String
41     lateinit var steps: MutableMap<String, Step>
42     var inputs: MutableMap<String, PropertyDefinition>? = null
43     var outputs: MutableMap<String, PropertyDefinition>? = null
44 }
45
46 class DSLComponent {
47     @get:JsonIgnore
48     lateinit var id: String
49     lateinit var type: String
50     lateinit var version: String
51     lateinit var description: String
52     var implementation: Implementation? = null
53     var attributes: MutableMap<String, AttributeDefinition>? = null
54     var properties: MutableMap<String, PropertyDefinition>? = null
55     var assignProperties: MutableMap<String, JsonNode>? = null
56     var artifacts: MutableMap<String, ArtifactDefinition>? = null
57     var inputs: MutableMap<String, PropertyDefinition>? = null
58     var outputs: MutableMap<String, PropertyDefinition>? = null
59     var assignInputs: MutableMap<String, JsonNode>? = null
60     var assignOutputs: MutableMap<String, JsonNode>? = null
61 }