Add request IDs in command-executor log
[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 - 2020 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.getenv("APP_NAME")
28         ?: "cds-controller"
29
30     const val DATE_TIME_PATTERN = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
31
32     const val RESPONSE_HEADER_MINOR_VERSION: String = "X-MinorVersion"
33     const val RESPONSE_HEADER_PATCH_VERSION: String = "X-PatchVersion"
34     const val RESPONSE_HEADER_LATEST_VERSION: String = "X-LatestVersion"
35
36     const val ONAP_REQUEST_ID = "X-ONAP-RequestID"
37     const val ONAP_SUBREQUEST_ID = "X-ONAP-SubRequestID"
38     const val ONAP_ORIGINATOR_ID = "X-ONAP-OriginatorID"
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_RELATIONSHIP_TEMPLATES: String = "relationship_templates"
85     const val PATH_CAPABILITIES: String = "capabilities"
86     const val PATH_REQUIREMENTS: String = "requirements"
87     const val PATH_INTERFACES: String = "interfaces"
88     const val PATH_OPERATIONS: String = "operations"
89     const val PATH_OUTPUTS: String = "outputs"
90     const val PATH_PROPERTIES: String = "properties"
91     const val PATH_ATTRIBUTES: String = "attributes"
92     const val PATH_ARTIFACTS: String = "artifacts"
93
94     const val MODEL_DIR_MODEL_TYPE: String = "definition-type"
95
96     const val MODEL_DEFINITION_TYPE_NODE_TYPE: String = "node_type"
97     const val MODEL_DEFINITION_TYPE_ARTIFACT_TYPE: String = "artifact_type"
98     const val MODEL_DEFINITION_TYPE_CAPABILITY_TYPE: String = "capability_type"
99     const val MODEL_DEFINITION_TYPE_RELATIONSHIP_TYPE: String = "relationship_type"
100     const val MODEL_DEFINITION_TYPE_DATA_TYPE: String = "data_type"
101     const val MODEL_DEFINITION_TYPE_NODE_TEMPLATE: String = "node_template"
102     const val MODEL_DEFINITION_TYPE_RELATIONSHIP_TEMPLATE: String = "relationship_template"
103     const val MODEL_DEFINITION_TYPE_WORKFLOW: String = "workflow"
104     const val MODEL_DEFINITION_TYPE_DSL: String = "dsl"
105
106     const val MODEL_TYPE_DATATYPES_ROOT: String = "tosca.datatypes.Root"
107     const val MODEL_TYPE_NODES_ROOT: String = "tosca.nodes.Root"
108     const val MODEL_TYPE_GROUPS_ROOT: String = "tosca.groups.Root"
109     const val MODEL_TYPE_RELATIONSHIPS_ROOT: String = "tosca.relationships.Root"
110     const val MODEL_TYPE_ARTIFACTS_ROOT: String = "tosca.artifacts.Root"
111     const val MODEL_TYPE_CAPABILITIES_ROOT: String = "tosca.capabilities.Root"
112     const val MODEL_TYPE_INTERFACES_ROOT: String = "tosca.interfaces.Root"
113
114     const val MODEL_TYPE_RELATIONSHIPS_DEPENDS_ON = "tosca.relationships.DependsOn"
115     const val MODEL_TYPE_RELATIONSHIPS_HOSTED_ON = "tosca.relationships.HostedOn"
116     const val MODEL_TYPE_RELATIONSHIPS_CONNECTS_TO = "tosca.relationships.ConnectsTo"
117     const val MODEL_TYPE_RELATIONSHIPS_ATTACH_TO = "tosca.relationships.AttachesTo"
118     const val MODEL_TYPE_RELATIONSHIPS_ROUTES_TO = "tosca.relationships.RoutesTo"
119     // CDS Defined Relationship Types
120     const val MODEL_TYPE_RELATIONSHIPS_CONNECTS_TO_DB = "tosca.relationships.ConnectsTo.Db"
121     const val MODEL_TYPE_RELATIONSHIPS_CONNECTS_TO_REST_CLIENT = "tosca.relationships.ConnectsTo.RestClient"
122     const val MODEL_TYPE_RELATIONSHIPS_CONNECTS_TO_SSH_CLIENT = "tosca.relationships.ConnectsTo.SshClient"
123     const val MODEL_TYPE_RELATIONSHIPS_CONNECTS_TO_MESSAGE_PRODUCER = "tosca.relationships.ConnectsTo.MessageProducer"
124     const val MODEL_TYPE_RELATIONSHIPS_CONNECTS_TO_MESSAGE_CONSUMER = "tosca.relationships.ConnectsTo.MessageConsumer"
125     const val MODEL_TYPE_RELATIONSHIPS_CONNECTS_TO_GRPC_SERVER = "tosca.relationships.ConnectsTo.GrpcServer"
126     const val MODEL_TYPE_RELATIONSHIPS_CONNECTS_TO_GRPC_CLIENT = "tosca.relationships.ConnectsTo.GrpcClient"
127     const val MODEL_TYPE_RELATIONSHIPS_CONNECTS_TO_NATS = "tosca.relationships.ConnectsTo.Nats"
128
129     const val MODEL_TYPE_NODE_WORKFLOW = "tosca.nodes.Workflow"
130     const val MODEL_TYPE_NODE_COMPONENT = "tosca.nodes.Component"
131     const val MODEL_TYPE_NODE_VNF = "tosca.nodes.Vnf"
132     const val MODEL_TYPE_NODE_RESOURCE_SOURCE = "tosca.nodes.ResourceSource"
133
134     const val MODEL_TYPE_NODES_COMPONENT_JAVA: String = "tosca.nodes.component.Java"
135     const val MODEL_TYPE_NODES_COMPONENT_BUNDLE: String = "tosca.nodes.component.Bundle"
136     const val MODEL_TYPE_NODES_COMPONENT_SCRIPT: String = "tosca.nodes.component.Script"
137     const val MODEL_TYPE_NODES_COMPONENT_PYTHON: String = "tosca.nodes.component.Python"
138     const val MODEL_TYPE_NODES_COMPONENT_JYTHON: String = "tosca.nodes.component.Jython"
139     const val MODEL_TYPE_NODES_COMPONENT_KOTLIN: String = "tosca.nodes.component.Kotlin"
140     const val MODEL_TYPE_NODES_COMPONENT_JAVA_SCRIPT: String = "tosca.nodes.component.JavaScript"
141
142     const val MODEL_TYPE_ARTIFACT_TYPE_IMPLEMENTATION = "tosca.artifacts.Implementation"
143
144     const val MODEL_TYPE_DATA_TYPE_DYNAMIC = "tosca.datatypes.Dynamic"
145
146     const val MODEL_TYPE_CAPABILITY_TYPE_NODE = "tosca.capabilities.Node"
147     const val MODEL_TYPE_CAPABILITY_TYPE_COMPUTE = "tosca.capabilities.Compute"
148     const val MODEL_TYPE_CAPABILITY_TYPE_NETWORK = "tosca.capabilities.Network"
149     const val MODEL_TYPE_CAPABILITY_TYPE_STORAGE = "tosca.capabilities.Storage"
150     const val MODEL_TYPE_CAPABILITY_TYPE_ENDPOINT = "tosca.capabilities.Endpoint"
151     const val MODEL_TYPE_CAPABILITY_TYPE_ENDPOINT_PUBLIC = "tosca.capabilities.Endpoint.Public"
152     const val MODEL_TYPE_CAPABILITY_TYPE_ENDPOINT_ADMIN = "tosca.capabilities.Endpoint.Admin"
153     const val MODEL_TYPE_CAPABILITY_TYPE_ENDPOINT_DATABASE = "tosca.capabilities.Endpoint.Database"
154     const val MODEL_TYPE_CAPABILITY_TYPE_ATTACHMENT = "tosca.capabilities.Attachment"
155     const val MODEL_TYPE_CAPABILITY_TYPE_OPERATION_SYSTEM = "tosca.capabilities.OperatingSystem"
156     const val MODEL_TYPE_CAPABILITY_TYPE_BINDABLE = "tosca.capabilities.network.Bindable"
157     // Custom capabilities
158     const val MODEL_TYPE_CAPABILITY_TYPE_CONTENT = "tosca.capabilities.Content"
159     const val MODEL_TYPE_CAPABILITY_TYPE_MAPPING = "tosca.capabilities.Mapping"
160     const val MODEL_TYPE_CAPABILITY_TYPE_NETCONF = "tosca.capabilities.Netconf"
161     const val MODEL_TYPE_CAPABILITY_TYPE_SSH = "tosca.capabilities.Ssh"
162     const val MODEL_TYPE_CAPABILITY_TYPE_SFTP = "tosca.capabilities.Sftp"
163
164     const val EXPRESSION_DSL_REFERENCE: String = "*"
165     const val EXPRESSION_GET_INPUT: String = "get_input"
166     const val EXPRESSION_GET_ATTRIBUTE: String = "get_attribute"
167     const val EXPRESSION_GET_ARTIFACT: String = "get_artifact"
168     const val EXPRESSION_GET_PROPERTY: String = "get_property"
169     const val EXPRESSION_GET_OPERATION_OUTPUT: String = "get_operation_output"
170     const val EXPRESSION_GET_NODE_OF_TYPE: String = "get_nodes_of_type"
171
172     const val PROPERTY_BLUEPRINT_PROCESS_ID: String = "blueprint-process-id"
173     const val PROPERTY_BLUEPRINT_VALID: String = "blueprint-valid"
174     const val PROPERTY_BLUEPRINT_BASE_PATH: String = "blueprint-basePath"
175     const val PROPERTY_BLUEPRINT_RUNTIME: String = "blueprint-runtime"
176     const val PROPERTY_BLUEPRINT_INPUTS_DATA: String = "blueprint-inputs-data"
177     const val PROPERTY_BLUEPRINT_CONTEXT: String = "blueprint-context"
178     const val PROPERTY_BLUEPRINT_NAME: String = "template_name"
179     const val PROPERTY_BLUEPRINT_VERSION: String = "template_version"
180
181     const val TOSCA_METADATA_DIR: String = "TOSCA-Metadata"
182     const val TOSCA_METADATA_ENTRY_DEFINITION_FILE: String = "TOSCA-Metadata/TOSCA.meta"
183     const val TOSCA_DEFINITIONS_DIR: String = "Definitions"
184     const val TOSCA_PLANS_DIR: String = "Plans"
185     const val TOSCA_SCRIPTS_DIR: String = "Scripts"
186     const val TOSCA_MAPPINGS_DIR: String = "Mappings"
187     const val TOSCA_TEMPLATES_DIR: String = "Templates"
188     const val TOSCA_ENVIRONMENTS_DIR: String = "Environments"
189     const val TOSCA_SCRIPTS_KOTLIN_DIR: String = "$TOSCA_SCRIPTS_DIR/kotlin"
190     const val TOSCA_SCRIPTS_JYTHON_DIR: String = "$TOSCA_SCRIPTS_DIR/python"
191
192     const val UAT_SPECIFICATION_FILE = "Tests/uat.yaml"
193
194     const val GRAPH_START_NODE_NAME = "START"
195     const val GRAPH_END_NODE_NAME = "END"
196
197     const val PROPERTY_ENV = "ENV"
198     const val PROPERTY_APP = "APP"
199     const val PROPERTY_BPP = "BPP"
200     const val PROPERTY_SELF = "SELF"
201
202     const val METADATA_TEMPLATE_NAME = "template_name"
203     const val METADATA_TEMPLATE_VERSION = "template_version"
204     const val METADATA_TEMPLATE_TYPE = "template_type"
205     const val METADATA_TEMPLATE_AUTHOR = "template_author"
206     const val METADATA_TEMPLATE_TAGS = "template_tags"
207     const val METADATA_TEMPLATE_DESCRIPTION = "template_description"
208     const val METADATA_WORKFLOW_NAME = "workflow_name"
209
210     const val PAYLOAD_DATA = "payload-data"
211     const val PROPERTY_CURRENT_STEP = "current-step"
212     const val PROPERTY_CURRENT_NODE_TEMPLATE = "current-node-template"
213     const val PROPERTY_CURRENT_INTERFACE = "current-interface"
214     const val PROPERTY_CURRENT_OPERATION = "current-operation"
215     const val PROPERTY_CURRENT_TIMEOUT = "current-timeout"
216     const val PROPERTY_CURRENT_IMPLEMENTATION = "current-implementation"
217     const val PROPERTY_EXECUTION_REQUEST = "execution-request"
218     const val PROPERTY_CONNECTION_CONFIG = "connection-config"
219
220     const val DEFAULT_VERSION_NUMBER = "1.0.0"
221     const val DEFAULT_STEP_OPERATION = "process"
222     const val DEFAULT_STEP_INTERFACE = "ComponentInterface"
223
224     const val MODEL_TYPE_ARTIFACT_TEMPLATE_VELOCITY = "artifact-template-velocity"
225     const val MODEL_TYPE_ARTIFACT_TEMPLATE_JINJA = "artifact-template-jinja"
226     const val MODEL_TYPE_ARTIFACT_MAPPING_RESOURCE = "artifact-mapping-resource"
227     const val MODEL_TYPE_ARTIFACT_SCRIPT_JYTHON = "artifact-script-jython"
228     const val MODEL_TYPE_ARTIFACT_SCRIPT_KOTLIN = "artifact-script-kotlin"
229     const val MODEL_TYPE_ARTIFACT_DIRECTED_GRAPH = "artifact-directed-graph"
230     const val MODEL_TYPE_ARTIFACT_COMPONENT_JAR = "artifact-component-jar"
231
232     const val TOSCA_SPEC = "TOSCA"
233
234     val USE_SCRIPT_COMPILE_CACHE: Boolean = (System.getenv("USE_SCRIPT_COMPILE_CACHE") ?: "true").toBoolean()
235
236     const val LOG_PROTECT: String = "log-protect"
237
238     /** Cluster Properties */
239     val CLUSTER_ENABLED = (System.getenv("CLUSTER_ENABLED") ?: "false").toBoolean()
240     const val PROPERTY_CLUSTER_ID = "CLUSTER_ID"
241     const val PROPERTY_CLUSTER_NODE_ID = "CLUSTER_NODE_ID"
242     const val PROPERTY_CLUSTER_NODE_ADDRESS = "CLUSTER_NODE_ADDRESS"
243     const val PROPERTY_CLUSTER_JOIN_AS_CLIENT = "CLUSTER_JOIN_AS_CLIENT"
244     const val PROPERTY_CLUSTER_CONFIG_FILE = "CLUSTER_CONFIG_FILE"
245
246     const val NODE_TEMPLATE_TYPE_COMPONENT_RESOURCE_RESOLUTION = "component-resource-resolution"
247     const val NODE_TEMPLATE_TYPE_DG = "dg-generic"
248     const val PROPERTY_DG_DEPENDENCY_NODE_TEMPLATE = "dependency-node-templates"
249 }