diff options
author | liamfallon <liam.fallon@est.tech> | 2021-07-02 14:42:06 +0100 |
---|---|---|
committer | liamfallon <liam.fallon@est.tech> | 2021-07-05 08:33:52 +0100 |
commit | 4785bc1a2217bb5e4f4b593369e90e1057a62665 (patch) | |
tree | f5a2bba08e840b7d0493eb1fa917311f64d7557a | |
parent | 72d882f65031518e9d1b1a6d6e53c7d42ab8495f (diff) |
Add ONAP standard Control Loop Element types
The Policy, DCAE, HTTP, Kubernetes, and CDS Control Loop Elements run on
participants delivered with and packaged with ONAP. These TOSCA files
define the properties for Control Loop Elements on these participants as
TOSCA node types.
Developers who wish to run Control Loop Elements on these participants
write a TOSCA Topology Template, which uses the Control Loop Element
Node Types defined in these files.
These Node type definitions should be preloaded into the
Runtime database, which will be done in a future review.
Issue-ID: POLICY-3341
Change-Id: Icc565bdfa1a59e1c1c551f13c48348ee6a8a4e27
Signed-off-by: liamfallon <liam.fallon@est.tech>
6 files changed, 263 insertions, 4 deletions
diff --git a/common/src/main/resources/tosca/CdsControlLoopElementType.yaml b/common/src/main/resources/tosca/CdsControlLoopElementType.yaml new file mode 100644 index 000000000..296324b68 --- /dev/null +++ b/common/src/main/resources/tosca/CdsControlLoopElementType.yaml @@ -0,0 +1,26 @@ +# ============LICENSE_START======================================================= +# Copyright (C) 2021 Nordix Foundation. +# ================================================================================ +# 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. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= +tosca_definitions_version: tosca_simple_yaml_1_3 +node_types: + org.onap.policy.clamp.controlloop.CDSControlLoopElement: + version: 1.0.1 + derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement + properties: + cdsBlueprint: + type: string + required: true diff --git a/common/src/main/resources/tosca/ControlLoopTOSCAServiceTemplateTypes.yaml b/common/src/main/resources/tosca/ControlLoopTOSCAServiceTemplateTypes.yaml index 0da5723c2..615fc34dd 100644 --- a/common/src/main/resources/tosca/ControlLoopTOSCAServiceTemplateTypes.yaml +++ b/common/src/main/resources/tosca/ControlLoopTOSCAServiceTemplateTypes.yaml @@ -33,15 +33,15 @@ node_types: properties: provider: type: string - requred: false + required: false description: Specifies the organization that provides the control loop element participant_type: type: onap.datatypes.ToscaConceptIdentifier - requred: true + required: true description: The identity of the participant type that hosts this type of Control Loop Element start_phase: type: integer - requred: false + required: false constraints: - greater-or-equal: 0 description: A value indicating the start phase in which this control loop element will be started, the @@ -54,7 +54,7 @@ node_types: properties: provider: type: string - requred: false + required: false description: Specifies the organization that provides the control loop element elements: type: list diff --git a/common/src/main/resources/tosca/DcaeControlLoopElementType.yaml b/common/src/main/resources/tosca/DcaeControlLoopElementType.yaml new file mode 100644 index 000000000..654a09470 --- /dev/null +++ b/common/src/main/resources/tosca/DcaeControlLoopElementType.yaml @@ -0,0 +1,49 @@ +# ============LICENSE_START======================================================= +# Copyright (C) 2021 Nordix Foundation. +# ================================================================================ +# 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. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= +tosca_definitions_version: tosca_simple_yaml_1_3 + +data_types: + org.onap.datatypes.policy.clamp.controlloop.DCAEControlLoopElementConsulInfo: + version: 1.0.0 + derived_from: tosca.datatypes.Root + properties: + consulUrl: + name: consulUrl + type: string + typeVersion: 0.0.0 + description: Consul url for this entry + required: true + consulBody: + name: consulBody + type: string + typeVersion: 0.0.0 + description: Body of Consul entry + required: true +node_types: + org.onap.policy.clamp.controlloop.DCAEMicroserviceControlLoopElement: + version: 1.0.1 + derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement + properties: + dcaeBlueprint: + type: string + required: true + consulInfo: + type: list + required: false + entry_schema: + type: org.onap.datatypes.policy.clamp.controlloop.DCAEControlLoopElementConsulInfo diff --git a/common/src/main/resources/tosca/HttpControlLoopElementType.yaml b/common/src/main/resources/tosca/HttpControlLoopElementType.yaml new file mode 100644 index 000000000..4fdb60546 --- /dev/null +++ b/common/src/main/resources/tosca/HttpControlLoopElementType.yaml @@ -0,0 +1,82 @@ +# ============LICENSE_START======================================================= +# Copyright (C) 2021 Nordix Foundation. +# ================================================================================ +# 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. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= +tosca_definitions_version: tosca_simple_yaml_1_3 +data_types: + org.onap.datatypes.policy.clamp.controlloop.httpControlLoopElement.RestRequest: + version: 1.0.0 + derived_from: tosca.datatypes.Root + properties: + restRequestId: + type: onap.datatypes.ToscaConceptIdentifier + typeVersion: 1.0.0 + description: The name and version of a REST request to be sent to a REST endpoint + required: true + httpMethod: + type: string + description: The REST method to use + required: true + constraints: + - valid_values: [POST, PUT, GET, DELETE] + path: + type: string + description: The path of the REST request relative to the base URL + required: true + body: + type: string + description: The body of the REST request for PUT and POST requests + required: false + expectedResponse: + type: integer + description: THe expected HTTP status code for the REST request + required: true + constraints: + - in_range: [100, 599] + org.onap.datatypes.policy.clamp.controlloop.httpControlLoopElement.ConfigurationEntity: + version: 1.0.0 + derived_from: tosca.datatypes.Root + properties: + configurationEntityId: + type: onap.datatypes.ToscaConceptIdentifier + typeVersion: 1.0.0 + description: The name and version of a Configuration Entity to be handled by the HTTP Control Loop Element + required: true + restSequence: + type: list + description: A sequence of REST commands to send to the REST endpoint + entry_schema: + type: org.onap.datatypes.policy.clamp.controlloop.httpControlLoopElement.RestRequest + typeVersion: 1.0.0 +node_types: + org.onap.policy.clamp.controlloop.HttpControlLoopElement: + version: 1.0.1 + derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement + properties: + baseUrl: + type: string + required: true + httpHeaders: + type: map + required: false + entry_schema: + type: string + configurationEntities: + type: map + required: true + entry_schema: + type: org.onap.datatypes.policy.clamp.controlloop.httpControlLoopElement.ConfigurationEntity + typeVersion: 1.0.0 diff --git a/common/src/main/resources/tosca/KubernetesControlLoopElementType.yaml b/common/src/main/resources/tosca/KubernetesControlLoopElementType.yaml new file mode 100644 index 000000000..7468581b5 --- /dev/null +++ b/common/src/main/resources/tosca/KubernetesControlLoopElementType.yaml @@ -0,0 +1,76 @@ +# ============LICENSE_START======================================================= +# Copyright (C) 2021 Nordix Foundation. +# ================================================================================ +# 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. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= +tosca_definitions_version: tosca_simple_yaml_1_3 +data_types: + org.onap.datatypes.policy.clamp.controlloop.kubernetesControlLoopElement.Chart: + version: 1.0.0 + derived_from: tosca.datatypes.Root + properties: + chartId: + type: onap.datatypes.ToscaConceptIdentifier + typeVersion: 1.0.0 + description: The name and version of the chart + required: true + releaseName: + type: string + description: The name of the release of the chart + required: true + repository: + type: string + description: The name of the repository where the chart is stored + required: false + namespace: + type: string + description: The name space of the chart + required: true + overrideParams: + type: map + description: A map of override settings for parameters in the chart + required: false + entry_schema: + type: string +node_types: + org.onap.policy.clamp.controlloop.KubernetesControlLoopElement: + version: 1.0.1 + derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement + properties: + chart: + type: org.onap.datatypes.policy.clamp.controlloop.kubernetesControlLoopElement.Chart + typeVersion: 1.0.0 + description: The helm chart for the microservice + required: true + configs: + type: list + description: The configurations for the microservice + required: false + entry_schema: + type: string + requirements: + type: string + description: The requirements for the microservice + required: false + templates: + type: list + description: The templates for the microservice + required: false + entry_schema: + type: string + values: + type: string + description: The values for the microservice + required: true diff --git a/common/src/main/resources/tosca/PolicyControlLoopElementType.yaml b/common/src/main/resources/tosca/PolicyControlLoopElementType.yaml new file mode 100644 index 000000000..f2d45f1bb --- /dev/null +++ b/common/src/main/resources/tosca/PolicyControlLoopElementType.yaml @@ -0,0 +1,26 @@ +# ============LICENSE_START======================================================= +# Copyright (C) 2021 Nordix Foundation. +# ================================================================================ +# 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. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= +tosca_definitions_version: tosca_simple_yaml_1_3 +node_types: + org.onap.policy.clamp.controlloop.PolicyControlLoopElement: + version: 1.0.1 + derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement + properties: + policyId: + type: onap.datatypes.ToscaConceptIdentifier + required: true |