aboutsummaryrefslogtreecommitdiffstats
path: root/ms/blueprintsprocessor/modules/blueprints/blueprint-core/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/BluePrintConstants.kt
blob: 351cf4776e3631758e0e41916ca0b1f23d5becee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
/*
 * Copyright © 2017-2018 AT&T Intellectual Property.
 * Modifications Copyright © 2018 - 2020 IBM, Bell Canada
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.onap.ccsdk.cds.controllerblueprints.core

/**
 * BluePrintConstants
 *
 * @author Brinda Santh
 */
object BluePrintConstants {

    val APP_NAME = System.getenv("APP_NAME")
        ?: "cds-controller"

    const val DATE_TIME_PATTERN = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"

    const val RESPONSE_HEADER_MINOR_VERSION: String = "X-MinorVersion"
    const val RESPONSE_HEADER_PATCH_VERSION: String = "X-PatchVersion"
    const val RESPONSE_HEADER_LATEST_VERSION: String = "X-LatestVersion"

    const val ONAP_REQUEST_ID = "X-ONAP-RequestID"
    const val ONAP_SUBREQUEST_ID = "X-ONAP-SubRequestID"
    const val ONAP_ORIGINATOR_ID = "X-ONAP-OriginatorID"
    const val ONAP_INVOCATION_ID = "X-ONAP-InvocationID"
    const val ONAP_PARTNER_NAME = "X-ONAP-PartnerName"

    const val STATUS_SUCCESS: String = "success"
    const val STATUS_PROCESSING: String = "processing"
    const val STATUS_FAILURE: String = "failure"

    const val FLAG_Y: String = "Y"
    const val FLAG_N: String = "N"

    const val TYPE_DEFAULT: String = "default"

    const val DATA_TYPE_STRING: String = "string"
    const val DATA_TYPE_INTEGER: String = "integer"
    const val DATA_TYPE_FLOAT: String = "float"
    const val DATA_TYPE_DOUBLE: String = "double"
    const val DATA_TYPE_BOOLEAN: String = "boolean"
    const val DATA_TYPE_TIMESTAMP: String = "timestamp"
    const val DATA_TYPE_NULL: String = "null"
    const val DATA_TYPE_LIST: String = "list"
    const val DATA_TYPE_MAP: String = "map"
    const val DATA_TYPE_JSON: String = "json"

    const val BLUEPRINT_TYPE_DEFAULT = "DEFAULT"
    const val BLUEPRINT_TYPE_KOTLIN_DSL = "KOTLIN_DSL"
    const val BLUEPRINT_TYPE_GENERIC_SCRIPT = "GENERIC_SCRIPT"

    const val SCRIPT_KOTLIN = "kotlin"
    const val SCRIPT_JYTHON = "jython"
    const val SCRIPT_INTERNAL = "internal"

    const val USER_SYSTEM: String = "System"

    const val PATH_DIVIDER: String = "/"
    const val PATH_SERVICE_TEMPLATE: String = "service_template"
    const val PATH_TOPOLOGY_TEMPLATE: String = "topology_template"
    const val PATH_METADATA: String = "metadata"
    const val PATH_NODE_TYPES: String = "node_types"
    const val PATH_POLICY_TYPES: String = "policy_types"
    const val PATH_RELATIONSHIP_TYPES: String = "relationship_types"
    const val PATH_ARTIFACT_TYPES: String = "artifact_types"
    const val PATH_DATA_TYPES: String = "data_types"
    const val PATH_INPUTS: String = "inputs"
    const val PATH_NODE_WORKFLOWS: String = "workflows"
    const val PATH_NODE_TEMPLATES: String = "node_templates"
    const val PATH_RELATIONSHIP_TEMPLATES: String = "relationship_templates"
    const val PATH_CAPABILITIES: String = "capabilities"
    const val PATH_REQUIREMENTS: String = "requirements"
    const val PATH_INTERFACES: String = "interfaces"
    const val PATH_OPERATIONS: String = "operations"
    const val PATH_OUTPUTS: String = "outputs"
    const val PATH_PROPERTIES: String = "properties"
    const val PATH_ATTRIBUTES: String = "attributes"
    const val PATH_ARTIFACTS: String = "artifacts"

    const val MODEL_DIR_MODEL_TYPE: String = "definition-type"

    const val MODEL_DEFINITION_TYPE_NODE_TYPE: String = "node_type"
    const val MODEL_DEFINITION_TYPE_ARTIFACT_TYPE: String = "artifact_type"
    const val MODEL_DEFINITION_TYPE_CAPABILITY_TYPE: String = "capability_type"
    const val MODEL_DEFINITION_TYPE_RELATIONSHIP_TYPE: String = "relationship_type"
    const val MODEL_DEFINITION_TYPE_DATA_TYPE: String = "data_type"
    const val MODEL_DEFINITION_TYPE_NODE_TEMPLATE: String = "node_template"
    const val MODEL_DEFINITION_TYPE_RELATIONSHIP_TEMPLATE: String = "relationship_template"
    const val MODEL_DEFINITION_TYPE_WORKFLOW: String = "workflow"
    const val MODEL_DEFINITION_TYPE_DSL: String = "dsl"

    const val MODEL_TYPE_DATATYPES_ROOT: String = "tosca.datatypes.Root"
    const val MODEL_TYPE_NODES_ROOT: String = "tosca.nodes.Root"
    const val MODEL_TYPE_GROUPS_ROOT: String = "tosca.groups.Root"
    const val MODEL_TYPE_RELATIONSHIPS_ROOT: String = "tosca.relationships.Root"
    const val MODEL_TYPE_ARTIFACTS_ROOT: String = "tosca.artifacts.Root"
    const val MODEL_TYPE_CAPABILITIES_ROOT: String = "tosca.capabilities.Root"
    const val MODEL_TYPE_INTERFACES_ROOT: String = "tosca.interfaces.Root"

    const val MODEL_TYPE_RELATIONSHIPS_DEPENDS_ON = "tosca.relationships.DependsOn"
    const val MODEL_TYPE_RELATIONSHIPS_HOSTED_ON = "tosca.relationships.HostedOn"
    const val MODEL_TYPE_RELATIONSHIPS_CONNECTS_TO = "tosca.relationships.ConnectsTo"
    const val MODEL_TYPE_RELATIONSHIPS_ATTACH_TO = "tosca.relationships.AttachesTo"
    const val MODEL_TYPE_RELATIONSHIPS_ROUTES_TO = "tosca.relationships.RoutesTo"

    // CDS Defined Relationship Types
    const val MODEL_TYPE_RELATIONSHIPS_CONNECTS_TO_DB = "tosca.relationships.ConnectsTo.Db"
    const val MODEL_TYPE_RELATIONSHIPS_CONNECTS_TO_REST_CLIENT = "tosca.relationships.ConnectsTo.RestClient"
    const val MODEL_TYPE_RELATIONSHIPS_CONNECTS_TO_SSH_CLIENT = "tosca.relationships.ConnectsTo.SshClient"
    const val MODEL_TYPE_RELATIONSHIPS_CONNECTS_TO_MESSAGE_PRODUCER = "tosca.relationships.ConnectsTo.MessageProducer"
    const val MODEL_TYPE_RELATIONSHIPS_CONNECTS_TO_MESSAGE_CONSUMER = "tosca.relationships.ConnectsTo.MessageConsumer"
    const val MODEL_TYPE_RELATIONSHIPS_CONNECTS_TO_GRPC_SERVER = "tosca.relationships.ConnectsTo.GrpcServer"
    const val MODEL_TYPE_RELATIONSHIPS_CONNECTS_TO_GRPC_CLIENT = "tosca.relationships.ConnectsTo.GrpcClient"
    const val MODEL_TYPE_RELATIONSHIPS_CONNECTS_TO_NATS = "tosca.relationships.ConnectsTo.Nats"

    const val MODEL_TYPE_NODE_WORKFLOW = "tosca.nodes.Workflow"
    const val MODEL_TYPE_NODE_COMPONENT = "tosca.nodes.Component"
    const val MODEL_TYPE_NODE_VNF = "tosca.nodes.Vnf"
    const val MODEL_TYPE_NODE_RESOURCE_SOURCE = "tosca.nodes.ResourceSource"

    const val MODEL_TYPE_NODES_COMPONENT_JAVA: String = "tosca.nodes.component.Java"
    const val MODEL_TYPE_NODES_COMPONENT_BUNDLE: String = "tosca.nodes.component.Bundle"
    const val MODEL_TYPE_NODES_COMPONENT_SCRIPT: String = "tosca.nodes.component.Script"
    const val MODEL_TYPE_NODES_COMPONENT_PYTHON: String = "tosca.nodes.component.Python"
    const val MODEL_TYPE_NODES_COMPONENT_JYTHON: String = "tosca.nodes.component.Jython"
    const val MODEL_TYPE_NODES_COMPONENT_KOTLIN: String = "tosca.nodes.component.Kotlin"
    const val MODEL_TYPE_NODES_COMPONENT_JAVA_SCRIPT: String = "tosca.nodes.component.JavaScript"

    const val MODEL_TYPE_ARTIFACT_TYPE_IMPLEMENTATION = "tosca.artifacts.Implementation"

    const val MODEL_TYPE_DATA_TYPE_DYNAMIC = "tosca.datatypes.Dynamic"

    const val MODEL_TYPE_CAPABILITY_TYPE_NODE = "tosca.capabilities.Node"
    const val MODEL_TYPE_CAPABILITY_TYPE_COMPUTE = "tosca.capabilities.Compute"
    const val MODEL_TYPE_CAPABILITY_TYPE_NETWORK = "tosca.capabilities.Network"
    const val MODEL_TYPE_CAPABILITY_TYPE_STORAGE = "tosca.capabilities.Storage"
    const val MODEL_TYPE_CAPABILITY_TYPE_ENDPOINT = "tosca.capabilities.Endpoint"
    const val MODEL_TYPE_CAPABILITY_TYPE_ENDPOINT_PUBLIC = "tosca.capabilities.Endpoint.Public"
    const val MODEL_TYPE_CAPABILITY_TYPE_ENDPOINT_ADMIN = "tosca.capabilities.Endpoint.Admin"
    const val MODEL_TYPE_CAPABILITY_TYPE_ENDPOINT_DATABASE = "tosca.capabilities.Endpoint.Database"
    const val MODEL_TYPE_CAPABILITY_TYPE_ATTACHMENT = "tosca.capabilities.Attachment"
    const val MODEL_TYPE_CAPABILITY_TYPE_OPERATION_SYSTEM = "tosca.capabilities.OperatingSystem"
    const val MODEL_TYPE_CAPABILITY_TYPE_BINDABLE = "tosca.capabilities.network.Bindable"

    // Custom capabilities
    const val MODEL_TYPE_CAPABILITY_TYPE_CONTENT = "tosca.capabilities.Content"
    const val MODEL_TYPE_CAPABILITY_TYPE_MAPPING = "tosca.capabilities.Mapping"
    const val MODEL_TYPE_CAPABILITY_TYPE_NETCONF = "tosca.capabilities.Netconf"
    const val MODEL_TYPE_CAPABILITY_TYPE_RESTCONF = "tosca.capabilities.Restconf"
    const val MODEL_TYPE_CAPABILITY_TYPE_SSH = "tosca.capabilities.Ssh"
    const val MODEL_TYPE_CAPABILITY_TYPE_SFTP = "tosca.capabilities.Sftp"

    const val EXPRESSION_DSL_REFERENCE: String = "*"
    const val EXPRESSION_GET_INPUT: String = "get_input"
    const val EXPRESSION_GET_ATTRIBUTE: String = "get_attribute"
    const val EXPRESSION_GET_ARTIFACT: String = "get_artifact"
    const val EXPRESSION_GET_PROPERTY: String = "get_property"
    const val EXPRESSION_GET_OPERATION_OUTPUT: String = "get_operation_output"
    const val EXPRESSION_GET_NODE_OF_TYPE: String = "get_nodes_of_type"

    const val PROPERTY_BLUEPRINT_PROCESS_ID: String = "blueprint-process-id"
    const val PROPERTY_BLUEPRINT_VALID: String = "blueprint-valid"
    const val PROPERTY_BLUEPRINT_BASE_PATH: String = "blueprint-basePath"
    const val PROPERTY_BLUEPRINT_RUNTIME: String = "blueprint-runtime"
    const val PROPERTY_BLUEPRINT_INPUTS_DATA: String = "blueprint-inputs-data"
    const val PROPERTY_BLUEPRINT_CONTEXT: String = "blueprint-context"
    const val PROPERTY_BLUEPRINT_NAME: String = "template_name"
    const val PROPERTY_BLUEPRINT_VERSION: String = "template_version"

    const val TOSCA_METADATA_DIR: String = "TOSCA-Metadata"
    const val TOSCA_METADATA_ENTRY_DEFINITION_FILE: String = "TOSCA-Metadata/TOSCA.meta"
    const val TOSCA_DEFINITIONS_DIR: String = "Definitions"
    const val TOSCA_PLANS_DIR: String = "Plans"
    const val TOSCA_SCRIPTS_DIR: String = "Scripts"
    const val TOSCA_MAPPINGS_DIR: String = "Mappings"
    const val TOSCA_TEMPLATES_DIR: String = "Templates"
    const val TOSCA_ENVIRONMENTS_DIR: String = "Environments"
    const val TOSCA_SCRIPTS_KOTLIN_DIR: String = "$TOSCA_SCRIPTS_DIR/kotlin"
    const val TOSCA_SCRIPTS_JYTHON_DIR: String = "$TOSCA_SCRIPTS_DIR/python"

    const val UAT_SPECIFICATION_FILE = "Tests/uat.yaml"

    const val GRAPH_START_NODE_NAME = "START"
    const val GRAPH_END_NODE_NAME = "END"

    const val PROPERTY_ENV = "ENV"
    const val PROPERTY_APP = "APP"
    const val PROPERTY_BPP = "BPP"
    const val PROPERTY_SELF = "SELF"

    const val METADATA_TEMPLATE_NAME = "template_name"
    const val METADATA_TEMPLATE_VERSION = "template_version"
    const val METADATA_TEMPLATE_TYPE = "template_type"
    const val METADATA_TEMPLATE_AUTHOR = "template_author"
    const val METADATA_TEMPLATE_TAGS = "template_tags"
    const val METADATA_TEMPLATE_DESCRIPTION = "template_description"
    const val METADATA_WORKFLOW_NAME = "workflow_name"

    const val PAYLOAD_DATA = "payload-data"
    const val PROPERTY_CURRENT_STEP = "current-step"
    const val PROPERTY_CURRENT_NODE_TEMPLATE = "current-node-template"
    const val PROPERTY_CURRENT_INTERFACE = "current-interface"
    const val PROPERTY_CURRENT_OPERATION = "current-operation"
    const val PROPERTY_CURRENT_TIMEOUT = "current-timeout"
    const val PROPERTY_CURRENT_IMPLEMENTATION = "current-implementation"
    const val PROPERTY_EXECUTION_REQUEST = "execution-request"
    const val PROPERTY_CONNECTION_CONFIG = "connection-config"

    const val DEFAULT_VERSION_NUMBER = "1.0.0"
    const val DEFAULT_STEP_OPERATION = "process"
    const val DEFAULT_STEP_INTERFACE = "ComponentInterface"

    const val MODEL_TYPE_ARTIFACT_TEMPLATE_VELOCITY = "artifact-template-velocity"
    const val MODEL_TYPE_ARTIFACT_TEMPLATE_JINJA = "artifact-template-jinja"
    const val MODEL_TYPE_ARTIFACT_MAPPING_RESOURCE = "artifact-mapping-resource"
    const val MODEL_TYPE_ARTIFACT_SCRIPT_JYTHON = "artifact-script-jython"
    const val MODEL_TYPE_ARTIFACT_SCRIPT_KOTLIN = "artifact-script-kotlin"
    const val MODEL_TYPE_ARTIFACT_DIRECTED_GRAPH = "artifact-directed-graph"
    const val MODEL_TYPE_ARTIFACT_COMPONENT_JAR = "artifact-component-jar"
    const val MODEL_TYPE_ARTIFACT_K8S_PROFILE = "artifact-k8sprofile-content"

    const val TOSCA_SPEC = "TOSCA"

    val USE_SCRIPT_COMPILE_CACHE: Boolean = (System.getenv("USE_SCRIPT_COMPILE_CACHE") ?: "true").toBoolean()

    const val LOG_PROTECT: String = "log-protect"

    /** Cluster Properties */
    val CLUSTER_ENABLED = (System.getenv("CLUSTER_ENABLED") ?: "false").toBoolean()
    const val PROPERTY_CLUSTER_ID = "CLUSTER_ID"
    const val PROPERTY_CLUSTER_NODE_ID = "CLUSTER_NODE_ID"
    const val PROPERTY_CLUSTER_NODE_ADDRESS = "CLUSTER_NODE_ADDRESS"
    const val PROPERTY_CLUSTER_JOIN_AS_CLIENT = "CLUSTER_JOIN_AS_CLIENT"
    const val PROPERTY_CLUSTER_CONFIG_FILE = "CLUSTER_CONFIG_FILE"

    const val NODE_TEMPLATE_TYPE_COMPONENT_RESOURCE_RESOLUTION = "component-resource-resolution"
    const val NODE_TEMPLATE_TYPE_DG = "dg-generic"
    const val PROPERTY_DG_DEPENDENCY_NODE_TEMPLATE = "dependency-node-templates"
}