2 * Copyright © 2017-2018 AT&T Intellectual Property.
3 * Modifications Copyright © 2018 - 2019 IBM, Bell Canada
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
9 * http://www.apache.org/licenses/LICENSE-2.0
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.
18 package org.onap.ccsdk.cds.controllerblueprints.core
23 * @author Brinda Santh
25 object BluePrintConstants {
27 val APP_NAME = System.getProperty("APPLICATION_NAME")
28 ?: System.getProperty("APP_NAME")
29 ?: System.getProperty("APPNAME")
30 ?: "cds-controller-default"
32 const val DATE_TIME_PATTERN = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
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"
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"
42 const val STATUS_SUCCESS: String = "success"
43 const val STATUS_PROCESSING: String = "processing"
44 const val STATUS_FAILURE: String = "failure"
46 const val FLAG_Y: String = "Y"
47 const val FLAG_N: String = "N"
49 const val TYPE_DEFAULT: String = "default"
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"
62 const val SCRIPT_KOTLIN = "kotlin"
63 const val SCRIPT_JYTHON = "jython"
64 const val SCRIPT_INTERNAL = "internal"
66 const val USER_SYSTEM: String = "System"
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"
89 const val MODEL_DIR_MODEL_TYPE: String = "definition-type"
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"
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"
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"
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"
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"
124 const val MODEL_TYPE_ARTIFACT_TYPE_IMPLEMENTATION = "tosca.artifacts.Implementation"
126 const val MODEL_TYPE_DATA_TYPE_DYNAMIC = "tosca.datatypes.Dynamic"
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"
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"
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"
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"
174 const val UAT_SPECIFICATION_FILE = "Tests/uat.yaml"
176 const val GRAPH_START_NODE_NAME = "START"
177 const val GRAPH_END_NODE_NAME = "END"
179 const val PROPERTY_ENV = "ENV"
180 const val PROPERTY_APP = "APP"
181 const val PROPERTY_BPP = "BPP"
182 const val PROPERTY_SELF = "SELF"
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"
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"
199 const val DEFAULT_VERSION_NUMBER = "1.0.0"
200 const val DEFAULT_STEP_OPERATION = "process"
201 const val DEFAULT_STEP_INTERFACE = "ComponentInterface"
203 const val ARTIFACT_VELOCITY_TYPE_NAME = "artifact-template-velocity"
204 const val ARTIFACT_JINJA_TYPE_NAME = "artifact-template-jinja"
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"
214 val USE_SCRIPT_COMPILE_CACHE: Boolean = (System.getenv("USE_SCRIPT_COMPILE_CACHE") ?: "true").toBoolean()