Refractor controller blueprint modules
[ccsdk/cds.git] / ms / blueprintsprocessor / modules / blueprints / blueprint-core / src / main / kotlin / org / onap / ccsdk / cds / controllerblueprints / core / BluePrintConstants.kt
1 /*
2  * Copyright © 2017-2018 AT&T Intellectual Property.
3  * Modifications Copyright © 2018 - 2019 IBM, Bell Canada
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.controllerblueprints.core
19
20 /**
21  * BluePrintConstants
22  *
23  * @author Brinda Santh
24  */
25 object BluePrintConstants {
26
27     val APP_NAME = System.getProperty("APPLICATION_NAME")
28         ?: System.getProperty("APP_NAME")
29         ?: System.getProperty("APPNAME")
30         ?: "cds-controller-default"
31
32     const val DATE_TIME_PATTERN = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
33
34     const val RESPONSE_HEADER_MINOR_VERSION: String = "X-MinorVersion"
35     const val RESPONSE_HEADER_PATCH_VERSION: String = "X-PatchVersion"
36     const val RESPONSE_HEADER_LATEST_VERSION: String = "X-LatestVersion"
37
38     const val ONAP_REQUEST_ID = "X-ONAP-RequestID"
39     const val ONAP_INVOCATION_ID = "X-ONAP-InvocationID"
40     const val ONAP_PARTNER_NAME = "X-ONAP-PartnerName"
41
42     const val STATUS_SUCCESS: String = "success"
43     const val STATUS_PROCESSING: String = "processing"
44     const val STATUS_FAILURE: String = "failure"
45
46     const val FLAG_Y: String = "Y"
47     const val FLAG_N: String = "N"
48
49     const val TYPE_DEFAULT: String = "default"
50
51     const val DATA_TYPE_STRING: String = "string"
52     const val DATA_TYPE_INTEGER: String = "integer"
53     const val DATA_TYPE_FLOAT: String = "float"
54     const val DATA_TYPE_DOUBLE: String = "double"
55     const val DATA_TYPE_BOOLEAN: String = "boolean"
56     const val DATA_TYPE_TIMESTAMP: String = "timestamp"
57     const val DATA_TYPE_NULL: String = "null"
58     const val DATA_TYPE_LIST: String = "list"
59     const val DATA_TYPE_MAP: String = "map"
60     const val DATA_TYPE_JSON: String = "json"
61
62     const val SCRIPT_KOTLIN = "kotlin"
63     const val SCRIPT_JYTHON = "jython"
64     const val SCRIPT_INTERNAL = "internal"
65
66     const val USER_SYSTEM: String = "System"
67
68     const val PATH_DIVIDER: String = "/"
69     const val PATH_SERVICE_TEMPLATE: String = "service_template"
70     const val PATH_TOPOLOGY_TEMPLATE: String = "topology_template"
71     const val PATH_METADATA: String = "metadata"
72     const val PATH_NODE_TYPES: String = "node_types"
73     const val PATH_POLICY_TYPES: String = "policy_types"
74     const val PATH_RELATIONSHIP_TYPES: String = "relationship_types"
75     const val PATH_ARTIFACT_TYPES: String = "artifact_types"
76     const val PATH_DATA_TYPES: String = "data_types"
77     const val PATH_INPUTS: String = "inputs"
78     const val PATH_NODE_WORKFLOWS: String = "workflows"
79     const val PATH_NODE_TEMPLATES: String = "node_templates"
80     const val PATH_CAPABILITIES: String = "capabilities"
81     const val PATH_REQUIREMENTS: String = "requirements"
82     const val PATH_INTERFACES: String = "interfaces"
83     const val PATH_OPERATIONS: String = "operations"
84     const val PATH_OUTPUTS: String = "outputs"
85     const val PATH_PROPERTIES: String = "properties"
86     const val PATH_ATTRIBUTES: String = "attributes"
87     const val PATH_ARTIFACTS: String = "artifacts"
88
89     const val MODEL_DIR_MODEL_TYPE: String = "definition-type"
90
91     const val MODEL_DEFINITION_TYPE_NODE_TYPE: String = "node_type"
92     const val MODEL_DEFINITION_TYPE_ARTIFACT_TYPE: String = "artifact_type"
93     const val MODEL_DEFINITION_TYPE_CAPABILITY_TYPE: String = "capability_type"
94     const val MODEL_DEFINITION_TYPE_RELATIONSHIP_TYPE: String = "relationship_type"
95     const val MODEL_DEFINITION_TYPE_DATA_TYPE: String = "data_type"
96
97     const val MODEL_TYPE_DATATYPES_ROOT: String = "tosca.datatypes.Root"
98     const val MODEL_TYPE_NODES_ROOT: String = "tosca.nodes.Root"
99     const val MODEL_TYPE_GROUPS_ROOT: String = "tosca.groups.Root"
100     const val MODEL_TYPE_RELATIONSHIPS_ROOT: String = "tosca.relationships.Root"
101     const val MODEL_TYPE_ARTIFACTS_ROOT: String = "tosca.artifacts.Root"
102     const val MODEL_TYPE_CAPABILITIES_ROOT: String = "tosca.capabilities.Root"
103     const val MODEL_TYPE_INTERFACES_ROOT: String = "tosca.interfaces.Root"
104
105     const val MODEL_TYPE_RELATIONSHIPS_DEPENDS_ON = "tosca.relationships.DependsOn"
106     const val MODEL_TYPE_RELATIONSHIPS_HOSTED_ON = "tosca.relationships.HostedOn"
107     const val MODEL_TYPE_RELATIONSHIPS_CONNECTS_TO = "tosca.relationships.ConnectsTo"
108     const val MODEL_TYPE_RELATIONSHIPS_ATTACH_TO = "tosca.relationships.AttachesTo"
109     const val MODEL_TYPE_RELATIONSHIPS_ROUTES_TO = "tosca.relationships.RoutesTo"
110
111     const val MODEL_TYPE_NODE_WORKFLOW = "tosca.nodes.Workflow"
112     const val MODEL_TYPE_NODE_COMPONENT = "tosca.nodes.Component"
113     const val MODEL_TYPE_NODE_VNF = "tosca.nodes.Vnf"
114     const val MODEL_TYPE_NODE_RESOURCE_SOURCE = "tosca.nodes.ResourceSource"
115
116     const val MODEL_TYPE_NODES_COMPONENT_JAVA: String = "tosca.nodes.component.Java"
117     const val MODEL_TYPE_NODES_COMPONENT_BUNDLE: String = "tosca.nodes.component.Bundle"
118     const val MODEL_TYPE_NODES_COMPONENT_SCRIPT: String = "tosca.nodes.component.Script"
119     const val MODEL_TYPE_NODES_COMPONENT_PYTHON: String = "tosca.nodes.component.Python"
120     const val MODEL_TYPE_NODES_COMPONENT_JYTHON: String = "tosca.nodes.component.Jython"
121     const val MODEL_TYPE_NODES_COMPONENT_KOTLIN: String = "tosca.nodes.component.Kotlin"
122     const val MODEL_TYPE_NODES_COMPONENT_JAVA_SCRIPT: String = "tosca.nodes.component.JavaScript"
123
124     const val MODEL_TYPE_ARTIFACT_TYPE_IMPLEMENTATION = "tosca.artifacts.Implementation"
125
126     const val MODEL_TYPE_DATA_TYPE_DYNAMIC = "tosca.datatypes.Dynamic"
127
128     const val MODEL_TYPE_CAPABILITY_TYPE_NODE = "tosca.capabilities.Node"
129     const val MODEL_TYPE_CAPABILITY_TYPE_COMPUTE = "tosca.capabilities.Compute"
130     const val MODEL_TYPE_CAPABILITY_TYPE_NETWORK = "tosca.capabilities.Network"
131     const val MODEL_TYPE_CAPABILITY_TYPE_STORAGE = "tosca.capabilities.Storage"
132     const val MODEL_TYPE_CAPABILITY_TYPE_ENDPOINT = "tosca.capabilities.Endpoint"
133     const val MODEL_TYPE_CAPABILITY_TYPE_ENDPOINT_PUBLIC = "tosca.capabilities.Endpoint.Public"
134     const val MODEL_TYPE_CAPABILITY_TYPE_ENDPOINT_ADMIN = "tosca.capabilities.Endpoint.Admin"
135     const val MODEL_TYPE_CAPABILITY_TYPE_ENDPOINT_DATABASE = "tosca.capabilities.Endpoint.Database"
136     const val MODEL_TYPE_CAPABILITY_TYPE_ATTACHMENT = "tosca.capabilities.Attachment"
137     const val MODEL_TYPE_CAPABILITY_TYPE_OPERATION_SYSTEM = "tosca.capabilities.OperatingSystem"
138     const val MODEL_TYPE_CAPABILITY_TYPE_BINDABLE = "tosca.capabilities.network.Bindable"
139     // Custom capabilities
140     const val MODEL_TYPE_CAPABILITY_TYPE_CONTENT = "tosca.capabilities.Content"
141     const val MODEL_TYPE_CAPABILITY_TYPE_MAPPING = "tosca.capabilities.Mapping"
142     const val MODEL_TYPE_CAPABILITY_TYPE_NETCONF = "tosca.capabilities.Netconf"
143     const val MODEL_TYPE_CAPABILITY_TYPE_SSH = "tosca.capabilities.Ssh"
144     const val MODEL_TYPE_CAPABILITY_TYPE_SFTP = "tosca.capabilities.Sftp"
145
146     const val EXPRESSION_DSL_REFERENCE: String = "*"
147     const val EXPRESSION_GET_INPUT: String = "get_input"
148     const val EXPRESSION_GET_ATTRIBUTE: String = "get_attribute"
149     const val EXPRESSION_GET_ARTIFACT: String = "get_artifact"
150     const val EXPRESSION_GET_PROPERTY: String = "get_property"
151     const val EXPRESSION_GET_OPERATION_OUTPUT: String = "get_operation_output"
152     const val EXPRESSION_GET_NODE_OF_TYPE: String = "get_nodes_of_type"
153
154     const val PROPERTY_BLUEPRINT_PROCESS_ID: String = "blueprint-process-id"
155     const val PROPERTY_BLUEPRINT_VALID: String = "blueprint-valid"
156     const val PROPERTY_BLUEPRINT_BASE_PATH: String = "blueprint-basePath"
157     const val PROPERTY_BLUEPRINT_RUNTIME: String = "blueprint-runtime"
158     const val PROPERTY_BLUEPRINT_INPUTS_DATA: String = "blueprint-inputs-data"
159     const val PROPERTY_BLUEPRINT_CONTEXT: String = "blueprint-context"
160     const val PROPERTY_BLUEPRINT_NAME: String = "template_name"
161     const val PROPERTY_BLUEPRINT_VERSION: String = "template_version"
162
163     const val TOSCA_METADATA_DIR: String = "TOSCA-Metadata"
164     const val TOSCA_METADATA_ENTRY_DEFINITION_FILE: String = "TOSCA-Metadata/TOSCA.meta"
165     const val TOSCA_DEFINITIONS_DIR: String = "Definitions"
166     const val TOSCA_PLANS_DIR: String = "Plans"
167     const val TOSCA_SCRIPTS_DIR: String = "Scripts"
168     const val TOSCA_MAPPINGS_DIR: String = "Mappings"
169     const val TOSCA_TEMPLATES_DIR: String = "Templates"
170     const val TOSCA_ENVIRONMENTS_DIR: String = "Environments"
171     const val TOSCA_SCRIPTS_KOTLIN_DIR: String = "$TOSCA_SCRIPTS_DIR/kotlin"
172     const val TOSCA_SCRIPTS_JYTHON_DIR: String = "$TOSCA_SCRIPTS_DIR/python"
173
174     const val UAT_SPECIFICATION_FILE = "Tests/uat.yaml"
175
176     const val GRAPH_START_NODE_NAME = "START"
177     const val GRAPH_END_NODE_NAME = "END"
178
179     const val PROPERTY_ENV = "ENV"
180     const val PROPERTY_APP = "APP"
181     const val PROPERTY_BPP = "BPP"
182     const val PROPERTY_SELF = "SELF"
183
184     const val METADATA_TEMPLATE_NAME = "template_name"
185     const val METADATA_TEMPLATE_VERSION = "template_version"
186     const val METADATA_TEMPLATE_AUTHOR = "template_author"
187     const val METADATA_TEMPLATE_TAGS = "template_tags"
188     const val METADATA_WORKFLOW_NAME = "workflow_name"
189
190     const val PAYLOAD_DATA = "payload-data"
191     const val PROPERTY_CURRENT_STEP = "current-step"
192     const val PROPERTY_CURRENT_NODE_TEMPLATE = "current-node-template"
193     const val PROPERTY_CURRENT_INTERFACE = "current-interface"
194     const val PROPERTY_CURRENT_OPERATION = "current-operation"
195     const val PROPERTY_CURRENT_TIMEOUT = "current-timeout"
196     const val PROPERTY_CURRENT_IMPLEMENTATION = "current-implementation"
197     const val PROPERTY_EXECUTION_REQUEST = "execution-request"
198
199     const val DEFAULT_VERSION_NUMBER = "1.0.0"
200     const val DEFAULT_STEP_OPERATION = "process"
201     const val DEFAULT_STEP_INTERFACE = "ComponentInterface"
202
203     const val ARTIFACT_VELOCITY_TYPE_NAME = "artifact-template-velocity"
204     const val ARTIFACT_JINJA_TYPE_NAME = "artifact-template-jinja"
205
206     const val MODEL_TYPE_ARTIFACT_TEMPLATE_VELOCITY = "artifact-template-velocity"
207     const val MODEL_TYPE_ARTIFACT_TEMPLATE_JINJA = "artifact-template-jinja"
208     const val MODEL_TYPE_ARTIFACT_MAPPING_RESOURCE = "artifact-mapping-resource"
209     const val MODEL_TYPE_ARTIFACT_SCRIPT_JYTHON = "artifact-script-jython"
210     const val MODEL_TYPE_ARTIFACT_SCRIPT_KOTLIN = "artifact-script-kotlin"
211     const val MODEL_TYPE_ARTIFACT_DIRECTED_GRAPH = "artifact-directed-graph"
212     const val MODEL_TYPE_ARTIFACT_COMPONENT_JAR = "artifact-component-jar"
213 }