369844445fd7aa3fba81ab532fa4ff77320c6b2f
[ccsdk/cds.git] /
1 /*
2  *  Copyright © 2019 IBM.
3  *  Modifications Copyright © 2018-2019 AT&T Intellectual Property.
4  *
5  *  Licensed under the Apache License, Version 2.0 (the "License");
6  *  you may not use this file except in compliance with the License.
7  *  You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  *  Unless required by applicable law or agreed to in writing, software
12  *  distributed under the License is distributed on an "AS IS" BASIS,
13  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  *  See the License for the specific language governing permissions and
15  *  limitations under the License.
16  */
17
18 package org.onap.ccsdk.cds.blueprintsprocessor.designer.api
19
20 import com.fasterxml.jackson.annotation.JsonFormat
21 import com.fasterxml.jackson.annotation.JsonInclude
22 import com.fasterxml.jackson.annotation.JsonTypeInfo
23 import com.fasterxml.jackson.annotation.JsonTypeName
24 import org.onap.ccsdk.cds.blueprintsprocessor.designer.api.domain.ResourceDictionary
25 import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintConstants.DATA_TYPE_JSON
26 import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintConstants.DEFAULT_VERSION_NUMBER
27 import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintConstants.TOSCA_SPEC
28 import org.onap.ccsdk.cds.controllerblueprints.core.data.DataType
29 import org.onap.ccsdk.cds.controllerblueprints.core.data.PropertyDefinition
30 import org.onap.ccsdk.cds.controllerblueprints.resource.dict.ResourceAssignment
31 import java.io.Serializable
32 import java.util.Date
33
34 class BootstrapRequest {
35     var loadModelType: Boolean = false
36     var loadResourceDictionary: Boolean = false
37     var loadCBA: Boolean = false
38 }
39
40 class WorkFlowsResponse {
41     lateinit var blueprintName: String
42     var version: String = DEFAULT_VERSION_NUMBER
43     var workflows: MutableSet<String> = mutableSetOf()
44 }
45
46 class WorkFlowSpecRequest {
47     lateinit var blueprintName: String
48     var version: String = DEFAULT_VERSION_NUMBER
49     var returnContent: String = DATA_TYPE_JSON
50     lateinit var workflowName: String
51     var specType: String = TOSCA_SPEC
52 }
53
54 class WorkFlowSpecResponse {
55     lateinit var blueprintName: String
56     var version: String = DEFAULT_VERSION_NUMBER
57     lateinit var workFlowData: WorkFlowData
58     var dataTypes: MutableMap<String, DataType>? = mutableMapOf()
59 }
60
61 class WorkFlowData {
62     lateinit var workFlowName: String
63     var inputs: MutableMap<String, PropertyDefinition>? = null
64     var outputs: MutableMap<String, PropertyDefinition>? = null
65 }
66
67 /**
68  * ArtifactRequest.java Purpose: Provide Configuration Generator ArtifactRequest Model
69  *
70  * @author Brinda Santh
71  * @version 1.0
72  */
73 class AutoMapResponse {
74
75     var resourceAssignments: List<ResourceAssignment>? = null
76     var dataDictionaries: List<ResourceDictionary>? = null
77 }
78
79 @JsonInclude(JsonInclude.Include.NON_NULL)
80 @JsonTypeName("errorMessage")
81 @JsonTypeInfo(include = JsonTypeInfo.As.WRAPPER_OBJECT, use = JsonTypeInfo.Id.NAME)
82 class ErrorMessage(var message: String?, var code: Int?, var debugMessage: String?) : Serializable {
83
84     @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
85     var timestamp = Date()
86 }