# ============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: onap.datatypes.ToscaConceptIdentifier: derived_from: tosca.datatypes.Root properties: name: type: string required: true version: type: string required: true 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 required: true description: The name and version of a REST request to be sent to a REST endpoint httpMethod: type: string required: true constraints: - valid_values: [POST, PUT, GET, DELETE] description: The REST method to use path: type: string required: true description: The path of the REST request relative to the base URL body: type: string required: false description: The body of the REST request for PUT and POST requests expectedResponse: type: integer required: true constraints: - in_range: [100, 599] description: THe expected HTTP status code for the REST request 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 required: true description: The name and version of a Configuration Entity to be handled by the HTTP Control Loop Element restSequence: type: list entry_schema: type: org.onap.datatypes.policy.clamp.controlloop.httpControlLoopElement.RestRequest typeVersion: 1.0.0 description: A sequence of REST commands to send to the REST endpoint node_types: org.onap.policy.clamp.controlloop.Participant: version: 1.0.1 derived_from: tosca.nodetypes.Root properties: provider: type: string requred: false org.onap.policy.clamp.controlloop.ControlLoopElement: version: 1.0.1 derived_from: tosca.nodetypes.Root properties: provider: type: string requred: false participantType: type: onap.datatypes.ToscaConceptIdentifier requred: true startPhase: type: integer required: false constraints: - greater-or-equal: 0 metadata: common: true description: A value indicating the start phase in which this control loop element will be started, the first start phase is zero. Control Loop Elements are started in their start_phase order and stopped in reverse start phase order. Control Loop Elements with the same start phase are started and stopped simultaneously org.onap.policy.clamp.controlloop.ControlLoop: version: 1.0.1 derived_from: tosca.nodetypes.Root properties: provider: type: string requred: false elements: type: list required: true entry_schema: type: onap.datatypes.ToscaConceptIdentifier org.onap.policy.clamp.controlloop.HttpControlLoopElement: version: 1.0.1 derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement properties: baseUrl: type: string required: true description: The base URL to be prepended to each path, identifies the host for the REST endpoints. httpHeaders: type: map required: false entry_schema: type: string description: HTTP headers to send on REST requests configurationEntities: type: map required: true entry_schema: type: org.onap.datatypes.policy.clamp.controlloop.httpControlLoopElement.ConfigurationEntity typeVersion: 1.0.0 description: The connfiguration entities the Control Loop Element is managing and their associated REST requests topology_template: node_templates: org.onap.k8s.controlloop.HttpControlLoopParticipant: version: 2.3.4 type: org.onap.policy.clamp.controlloop.Participant type_version: 1.0.1 description: Participant for Http requests properties: provider: ONAP org.onap.domain.database.Http_PMSHMicroserviceControlLoopElement: # Http config for PMSH. version: 1.2.3 type: org.onap.policy.clamp.controlloop.HttpControlLoopElement type_version: 1.0.1 description: Control loop element for the http requests of PMSH microservice properties: provider: ONAP participantType: name: org.onap.controlloop.HttpControlLoopParticipant version: 2.3.4 startPhase: 1 uninitializedToPassiveTimeout: 180 baseUrl: https://httpbin.org httpHeaders: Content-Type: application/json configurationEntities: - configurationEntityId: name: entity1 version: 1.0.1 restSequence: - restRequestId: name: request1 version: 1.0.1 httpMethod: POST path: post body: '{"name":"ob1","port_type"}' expectedResponse: 200 - restRequestId: name: request1 version: 1.0.1 httpMethod: GET path: get expectedResponse: 200 # Rest path with path params and query params - configurationEntityId: name: entity2 version: 1.0.1 restSequence: - restRequestId: name: request1 version: 1.0.1 httpMethod: POST path: post/{id}/{name} pathParams: id: 123 name: dummyName body: this is a test body expectedResponse: 200 - restRequestId: name: request1 version: 1.0.1 httpMethod: GET path: get queryParams: id: 123 name: dummyName expectedResponse: 200 org.onap.domain.sample.GenericK8s_ControlLoopDefinition: version: 1.2.3 type: org.onap.policy.clamp.controlloop.ControlLoop type_version: 1.0.0 description: Control loop for HTTP request properties: provider: ONAP elements: - name: org.onap.domain.database.Http_PMSHMicroserviceControlLoopElement version: 1.2.3