/* * Copyright © 2019 IBM. * * 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 cba.resource.audit import org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.resourceDefinitions import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintConstants import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintTypes const val SOURCE_SDNO = "SDN-O" const val SOURCE_SDNC = "SDNC" const val SOURCE_AAI = "AAI" val deviceResourceDefinitions = BluePrintTypes.resourceDefinitions { // Port Speed Definitions resourceDefinition(name = "port-speed", description = "Port Speed") { property(type = "string", required = true) sources { sourceCapability(id = SOURCE_SDNO, description = "SDN-O Source") { definedProperties { type(BluePrintConstants.SCRIPT_KOTLIN) scriptClassReference("cba.resource.audit.processor.PortSpeedRAProcessor") keyDependencies(arrayListOf("device-id")) } } sourceDb(id = SOURCE_SDNC, description = "SDNC Controller") { definedProperties { endpointSelector("processor-db") query("SELECT PORT_SPEED FROM XXXX WHERE DEVICE_ID = :device_id") inputKeyMapping { map("device_id", "\$device-id") } keyDependencies(arrayListOf("device-id")) } } sourceRest(id = SOURCE_AAI, description = "AAI Source") { definedProperties { endpointSelector("aai") urlPath("/vnf/\$device_id") path(".\$port-speed") inputKeyMapping { map("device_id", "\$device-id") } keyDependencies(arrayListOf("device-id")) } } } } }