Metadata for name, version, tags and type
[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 BLUEPRINT_TYPE_DEFAULT = "DEFAULT"
63     const val BLUEPRINT_TYPE_KOTLIN_DSL = "KOTLIN_DSL"
64     const val BLUEPRINT_TYPE_GENERIC_SCRIPT = "GENERIC_SCRIPT"
65
66     const val SCRIPT_KOTLIN = "kotlin"
67     const val SCRIPT_JYTHON = "jython"
68     const val SCRIPT_INTERNAL = "internal"
69
70     const val USER_SYSTEM: String = "System"
71
72     const val PATH_DIVIDER: String = "/"
73     const val PATH_SERVICE_TEMPLATE: String = "service_template"
74     const val PATH_TOPOLOGY_TEMPLATE: String = "topology_template"
75     const val PATH_METADATA: String = "metadata"
76     const val PATH_NODE_TYPES: String = "node_types"
77     const val PATH_POLICY_TYPES: String = "policy_types"
78     const val PATH_RELATIONSHIP_TYPES: String = "relationship_types"
79     const val PATH_ARTIFACT_TYPES: String = "artifact_types"
80     const val PATH_DATA_TYPES: String = "data_types"
81     const val PATH_INPUTS: String = "inputs"
82     const val PATH_NODE_WORKFLOWS: String = "workflows"
83     const val PATH_NODE_TEMPLATES: String = "node_templates"
84     const val PATH_CAPABILITIES: String = "capabilities"
85     const val PATH_REQUIREMENTS: String = "requirements"
86     const val PATH_INTERFACES: String = "interfaces"
87     const val PATH_OPERATIONS: String = "operations"
88     const val PATH_OUTPUTS: String = "outputs"
89     const val PATH_PROPERTIES: String = "properties"
90     const val PATH_ATTRIBUTES: String = "attributes"
91     const val PATH_ARTIFACTS: String = "artifacts"
92
93     const val MODEL_DIR_MODEL_TYPE: String = "definition-type"
94
95     const val MODEL_DEFINITION_TYPE_NODE_TYPE: String = "node_type"
96     const val MODEL_DEFINITION_TYPE_ARTIFACT_TYPE: String = "artifact_type"
97     const val MODEL_DEFINITION_TYPE_CAPABILITY_TYPE: String = "capability_type"
98     const val MODEL_DEFINITION_TYPE_RELATIONSHIP_TYPE: String = "relationship_type"
99     const val MODEL_DEFINITION_TYPE_DATA_TYPE: String = "data_type"
100
101     const val MODEL_TYPE_DATATYPES_ROOT: String = "tosca.datatypes.Root"
102     const val MODEL_TYPE_NODES_ROOT: String = "tosca.nodes.Root"
103     const val MODEL_TYPE_GROUPS_ROOT: String = "tosca.groups.Root"
104     const val MODEL_TYPE_RELATIONSHIPS_ROOT: String = "tosca.relationships.Root"
105     const val MODEL_TYPE_ARTIFACTS_ROOT: String = "tosca.artifacts.Root"
106     const val MODEL_TYPE_CAPABILITIES_ROOT: String = "tosca.capabilities.Root"
107     const val MODEL_TYPE_INTERFACES_ROOT: String = "tosca.interfaces.Root"
108
109     const val MODEL_TYPE_RELATIONSHIPS_DEPENDS_ON = "tosca.relationships.DependsOn"
110     const val MODEL_TYPE_RELATIONSHIPS_HOSTED_ON = "tosca.relationships.HostedOn"
111     const val MODEL_TYPE_RELATIONSHIPS_CONNECTS_TO = "tosca.relationships.ConnectsTo"
112     const val MODEL_TYPE_RELATIONSHIPS_ATTACH_TO = "tosca.relationships.AttachesTo"
113     const val MODEL_TYPE_RELATIONSHIPS_ROUTES_TO = "tosca.relationships.RoutesTo"
114
115     const val MODEL_TYPE_NODE_WORKFLOW = "tosca.nodes.Workflow"
116     const val MODEL_TYPE_NODE_COMPONENT = "tosca.nodes.Component"
117     const val MODEL_TYPE_NODE_VNF = "tosca.nodes.Vnf"
118     const val MODEL_TYPE_NODE_RESOURCE_SOURCE = "tosca.nodes.ResourceSource"
119
120     const val MODEL_TYPE_NODES_COMPONENT_JAVA: String = "tosca.nodes.component.Java"
121     const val MODEL_TYPE_NODES_COMPONENT_BUNDLE: String = "tosca.nodes.component.Bundle"
122     const val MODEL_TYPE_NODES_COMPONENT_SCRIPT: String = "tosca.nodes.component.Script"
123     const val MODEL_TYPE_NODES_COMPONENT_PYTHON: String = "tosca.nodes.component.Python"
124     const val MODEL_TYPE_NODES_COMPONENT_JYTHON: String = "tosca.nodes.component.Jython"
125     const val MODEL_TYPE_NODES_COMPONENT_KOTLIN: String = "tosca.nodes.component.Kotlin"
126     const val MODEL_TYPE_NODES_COMPONENT_JAVA_SCRIPT: String = "tosca.nodes.component.JavaScript"
127
128     const val MODEL_TYPE_ARTIFACT_TYPE_IMPLEMENTATION = "tosca.artifacts.Implementation"
129
130     const val MODEL_TYPE_DATA_TYPE_DYNAMIC = "tosca.datatypes.Dynamic"
131
132     const val MODEL_TYPE_CAPABILITY_TYPE_NODE = "tosca.capabilities.Node"
133     const val MODEL_TYPE_CAPABILITY_TYPE_COMPUTE = "tosca.capabilities.Compute"
134     const val MODEL_TYPE_CAPABILITY_TYPE_NETWORK = "tosca.capabilities.Network"
135     const val MODEL_TYPE_CAPABILITY_TYPE_STORAGE = "tosca.capabilities.Storage"
136     const val MODEL_TYPE_CAPABILITY_TYPE_ENDPOINT = "tosca.capabilities.Endpoint"
137     const val MODEL_TYPE_CAPABILITY_TYPE_ENDPOINT_PUBLIC = "tosca.capabilities.Endpoint.Public"
138     const val MODEL_TYPE_CAPABILITY_TYPE_ENDPOINT_ADMIN = "tosca.capabilities.Endpoint.Admin"
139     const val MODEL_TYPE_CAPABILITY_TYPE_ENDPOINT_DATABASE = "tosca.capabilities.Endpoint.Database"
140     const val MODEL_TYPE_CAPABILITY_TYPE_ATTACHMENT = "tosca.capabilities.Attachment"
141     const val MODEL_TYPE_CAPABILITY_TYPE_OPERATION_SYSTEM = "tosca.capabilities.OperatingSystem"
142     const val MODEL_TYPE_CAPABILITY_TYPE_BINDABLE = "tosca.capabilities.network.Bindable"
143     // Custom capabilities
144     const val MODEL_TYPE_CAPABILITY_TYPE_CONTENT = "tosca.capabilities.Content"
145     const val MODEL_TYPE_CAPABILITY_TYPE_MAPPING = "tosca.capabilities.Mapping"
146     const val MODEL_TYPE_CAPABILITY_TYPE_NETCONF = "tosca.capabilities.Netconf"
147     const val MODEL_TYPE_CAPABILITY_TYPE_SSH = "tosca.capabilities.Ssh"
148     const val MODEL_TYPE_CAPABILITY_TYPE_SFTP = "tosca.capabilities.Sftp"
149
150     const val EXPRESSION_DSL_REFERENCE: String = "*"
151     const val EXPRESSION_GET_INPUT: String = "get_input"
152     const val EXPRESSION_GET_ATTRIBUTE: String = "get_attribute"
153     const val EXPRESSION_GET_ARTIFACT: String = "get_artifact"
154     const val EXPRESSION_GET_PROPERTY: String = "get_property"
155     const val EXPRESSION_GET_OPERATION_OUTPUT: String = "get_operation_output"
156     const val EXPRESSION_GET_NODE_OF_TYPE: String = "get_nodes_of_type"
157
158     const val PROPERTY_BLUEPRINT_PROCESS_ID: String = "blueprint-process-id"
159     const val PROPERTY_BLUEPRINT_VALID: String = "blueprint-valid"
160     const val PROPERTY_BLUEPRINT_BASE_PATH: String = "blueprint-basePath"
161     const val PROPERTY_BLUEPRINT_RUNTIME: String = "blueprint-runtime"
162     const val PROPERTY_BLUEPRINT_INPUTS_DATA: String = "blueprint-inputs-data"
163     const val PROPERTY_BLUEPRINT_CONTEXT: String = "blueprint-context"
164     const val PROPERTY_BLUEPRINT_NAME: String = "template_name"
165     const val PROPERTY_BLUEPRINT_VERSION: String = "template_version"
166
167     const val TOSCA_METADATA_DIR: String = "TOSCA-Metadata"
168     const val TOSCA_METADATA_ENTRY_DEFINITION_FILE: String = "TOSCA-Metadata/TOSCA.meta"
169     const val TOSCA_DEFINITIONS_DIR: String = "Definitions"
170     const val TOSCA_PLANS_DIR: String = "Plans"
171     const val TOSCA_SCRIPTS_DIR: String = "Scripts"
172     const val TOSCA_MAPPINGS_DIR: String = "Mappings"
173     const val TOSCA_TEMPLATES_DIR: String = "Templates"
174     const val TOSCA_ENVIRONMENTS_DIR: String = "Environments"
175     const val TOSCA_SCRIPTS_KOTLIN_DIR: String = "$TOSCA_SCRIPTS_DIR/kotlin"
176     const val TOSCA_SCRIPTS_JYTHON_DIR: String = "$TOSCA_SCRIPTS_DIR/python"
177
178     const val UAT_SPECIFICATION_FILE = "Tests/uat.yaml"
179
180     const val GRAPH_START_NODE_NAME = "START"
181     const val GRAPH_END_NODE_NAME = "END"
182
183     const val PROPERTY_ENV = "ENV"
184     const val PROPERTY_APP = "APP"
185     const val PROPERTY_BPP = "BPP"
186     const val PROPERTY_SELF = "SELF"
187
188     const val METADATA_TEMPLATE_NAME = "template_name"
189     const val METADATA_TEMPLATE_VERSION = "template_version"
190     const val METADATA_TEMPLATE_TYPE = "template_type"
191     const val METADATA_TEMPLATE_AUTHOR = "template_author"
192     const val METADATA_TEMPLATE_TAGS = "template_tags"
193     const val METADATA_WORKFLOW_NAME = "workflow_name"
194
195     const val PAYLOAD_DATA = "payload-data"
196     const val PROPERTY_CURRENT_STEP = "current-step"
197     const val PROPERTY_CURRENT_NODE_TEMPLATE = "current-node-template"
198     const val PROPERTY_CURRENT_INTERFACE = "current-interface"
199     const val PROPERTY_CURRENT_OPERATION = "current-operation"
200     const val PROPERTY_CURRENT_TIMEOUT = "current-timeout"
201     const val PROPERTY_CURRENT_IMPLEMENTATION = "current-implementation"
202     const val PROPERTY_EXECUTION_REQUEST = "execution-request"
203
204     const val DEFAULT_VERSION_NUMBER = "1.0.0"
205     const val DEFAULT_STEP_OPERATION = "process"
206     const val DEFAULT_STEP_INTERFACE = "ComponentInterface"
207
208     const val ARTIFACT_VELOCITY_TYPE_NAME = "artifact-template-velocity"
209     const val ARTIFACT_JINJA_TYPE_NAME = "artifact-template-jinja"
210
211     const val MODEL_TYPE_ARTIFACT_TEMPLATE_VELOCITY = "artifact-template-velocity"
212     const val MODEL_TYPE_ARTIFACT_TEMPLATE_JINJA = "artifact-template-jinja"
213     const val MODEL_TYPE_ARTIFACT_MAPPING_RESOURCE = "artifact-mapping-resource"
214     const val MODEL_TYPE_ARTIFACT_SCRIPT_JYTHON = "artifact-script-jython"
215     const val MODEL_TYPE_ARTIFACT_SCRIPT_KOTLIN = "artifact-script-kotlin"
216     const val MODEL_TYPE_ARTIFACT_DIRECTED_GRAPH = "artifact-directed-graph"
217     const val MODEL_TYPE_ARTIFACT_COMPONENT_JAR = "artifact-component-jar"
218
219     val USE_SCRIPT_COMPILE_CACHE: Boolean = (System.getenv("USE_SCRIPT_COMPILE_CACHE") ?: "true").toBoolean()
220 }