From ea5bf0a1c8a4e525d2cee03841b8e8f9b3563ed0 Mon Sep 17 00:00:00 2001 From: Dan Timoney Date: Tue, 18 Jul 2017 20:32:15 -0400 Subject: [CCSDK-6] Populate seed code Add seed code for sli/northbound repository Update groupId to org.onap.ccsdk.sli.northbound Update to use CCSDK version of sli core Change-Id: Id3a154a53150a74f4b65060544e76f3e0cad932e Signed-off-by: Dan Timoney --- dataChange/model/src/main/yang/DataChange.yang | 73 ++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100755 dataChange/model/src/main/yang/DataChange.yang (limited to 'dataChange/model/src') diff --git a/dataChange/model/src/main/yang/DataChange.yang b/dataChange/model/src/main/yang/DataChange.yang new file mode 100755 index 000000000..3d326f7be --- /dev/null +++ b/dataChange/model/src/main/yang/DataChange.yang @@ -0,0 +1,73 @@ +module DataChange { + + yang-version 1; + + namespace "org:openecomp:sdnc:datachange"; + + prefix datachg; + + organization "AT&T, Inc."; + + contact + "Dan Timoney "; + + description + "Defines API interface for notification of data changes"; + + revision "2015-05-19" { + description + "Initial draft"; + } + + grouping data-change-request { + + leaf aai-event-id { + type string; + } + + leaf aai-node-type { + type string; + } + + leaf aai-event-trigger { + type enumeration { + enum "Update"; + enum "Delete"; + } + } + + list key-data { + key key-name; + leaf key-name { + type string; + } + leaf key-value { + type string; + } + } + + leaf selflink { + type string; + } + + } + + grouping data-change-response { + + leaf data-change-response-code { + type string; + } + } + + rpc data-change-notification { + + input { + uses data-change-request; + } + + output { + uses data-change-response; + } + } + +} -- cgit 1.2.3-korg From 514aff35f5c8727ee0c0b75b2299e8e7d27b4102 Mon Sep 17 00:00:00 2001 From: Dan Timoney Date: Tue, 15 Aug 2017 09:46:03 -0400 Subject: Refactor dataChange Update dataChange to replace references to openECOMP with references to ONAP Change-Id: I2d495dbc13e6dd38e0c975070969b07e796eb82f Issue-ID: CCSDK-25 Signed-off-by: Dan Timoney --- .../features/src/main/resources/features.xml | 8 +- dataChange/installer/pom.xml | 2 +- dataChange/model/src/main/yang/DataChange.yang | 2 +- .../ccsdk/sli/northbound/DataChangeClient.java | 115 +++++++++++++ .../ccsdk/sli/northbound/DataChangeProvider.java | 181 +++++++++++++++++++++ .../impl/rev140523/DataChangeProviderModule.java | 43 +++++ .../rev140523/DataChangeProviderModuleFactory.java | 34 ++++ .../impl/rev140523/DataChangeProviderModule.java | 55 ------- .../rev140523/DataChangeProviderModuleFactory.java | 34 ---- .../sdnc/datachange/DataChangeClient.java | 115 ------------- .../sdnc/datachange/DataChangeProvider.java | 181 --------------------- .../main/resources/initial/dataChange-provider.xml | 6 +- .../src/main/yang/DataChange-provider-impl.yang | 2 +- 13 files changed, 381 insertions(+), 397 deletions(-) create mode 100644 dataChange/provider/src/main/java/org/onap/ccsdk/sli/northbound/DataChangeClient.java create mode 100644 dataChange/provider/src/main/java/org/onap/ccsdk/sli/northbound/DataChangeProvider.java create mode 100644 dataChange/provider/src/main/java/org/opendaylight/yang/gen/v1/org/onap/ccsdk/sli/northbound/datachange/provider/impl/rev140523/DataChangeProviderModule.java create mode 100644 dataChange/provider/src/main/java/org/opendaylight/yang/gen/v1/org/onap/ccsdk/sli/northbound/datachange/provider/impl/rev140523/DataChangeProviderModuleFactory.java delete mode 100644 dataChange/provider/src/main/java/org/opendaylight/yang/gen/v1/org/openecomp/sdnc/datachange/provider/impl/rev140523/DataChangeProviderModule.java delete mode 100644 dataChange/provider/src/main/java/org/opendaylight/yang/gen/v1/org/openecomp/sdnc/datachange/provider/impl/rev140523/DataChangeProviderModuleFactory.java delete mode 100644 dataChange/provider/src/main/java/org/openecomp/sdnc/datachange/DataChangeClient.java delete mode 100644 dataChange/provider/src/main/java/org/openecomp/sdnc/datachange/DataChangeProvider.java (limited to 'dataChange/model/src') diff --git a/dataChange/features/src/main/resources/features.xml b/dataChange/features/src/main/resources/features.xml index 2b4ac946f..9cc8cc57b 100644 --- a/dataChange/features/src/main/resources/features.xml +++ b/dataChange/features/src/main/resources/features.xml @@ -9,9 +9,7 @@ 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. @@ -31,9 +29,9 @@ odl-mdsal-broker sdnc-sli - mvn:org.openecomp.sdnc.northbound/dataChange-model/${project.version} - mvn:org.openecomp.sdnc.northbound/dataChange-provider/${project.version} - mvn:org.openecomp.sdnc.northbound/dataChange-provider/${project.version}/xml/config + mvn:org.onap.ccsdk.sli.northbound/dataChange-model/${project.version} + mvn:org.onap.ccsdk.sli.northbound/dataChange-provider/${project.version} + mvn:org.onap.ccsdk.sli.northbound/dataChange-provider/${project.version}/xml/config diff --git a/dataChange/installer/pom.xml b/dataChange/installer/pom.xml index 414719e10..63fda23ab 100755 --- a/dataChange/installer/pom.xml +++ b/dataChange/installer/pom.xml @@ -100,7 +100,7 @@ true false false - org.openecomp.sdnc + org.onap.ccsdk.sli.northbound sli-common,sli-provider,dblib-provider provided diff --git a/dataChange/model/src/main/yang/DataChange.yang b/dataChange/model/src/main/yang/DataChange.yang index 3d326f7be..8f9a8e6f7 100755 --- a/dataChange/model/src/main/yang/DataChange.yang +++ b/dataChange/model/src/main/yang/DataChange.yang @@ -2,7 +2,7 @@ module DataChange { yang-version 1; - namespace "org:openecomp:sdnc:datachange"; + namespace "org:onap:ccsdk:sli:northbound:datachange"; prefix datachg; diff --git a/dataChange/provider/src/main/java/org/onap/ccsdk/sli/northbound/DataChangeClient.java b/dataChange/provider/src/main/java/org/onap/ccsdk/sli/northbound/DataChangeClient.java new file mode 100644 index 000000000..81da74161 --- /dev/null +++ b/dataChange/provider/src/main/java/org/onap/ccsdk/sli/northbound/DataChangeClient.java @@ -0,0 +1,115 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 ONAP Intellectual Property. All rights + * reserved. + * ================================================================================ + * 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. + * ============LICENSE_END========================================================= + */ + +package org.onap.ccsdk.sli.northbound; + +import java.util.Properties; + +import org.onap.ccsdk.sli.core.sli.SvcLogicException; +import org.onap.ccsdk.sli.core.sli.provider.MdsalHelper; +import org.onap.ccsdk.sli.core.sli.provider.SvcLogicService; +import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.datachange.rev150519.DataChangeNotificationOutputBuilder; +import org.osgi.framework.BundleContext; +import org.osgi.framework.FrameworkUtil; +import org.osgi.framework.ServiceReference; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class DataChangeClient { + + private static final Logger LOG = LoggerFactory + .getLogger(DataChangeClient.class); + + private SvcLogicService svcLogic = null; + + public DataChangeClient() + { + BundleContext bctx = FrameworkUtil.getBundle(SvcLogicService.class).getBundleContext(); + + // Get SvcLogicService reference + ServiceReference sref = bctx.getServiceReference(SvcLogicService.NAME); + if (sref != null) + { + svcLogic = (SvcLogicService) bctx.getService(sref); + + } + else + { + LOG.warn("Cannot find service reference for "+SvcLogicService.NAME); + + } + } + + public boolean hasGraph(String module, String rpc, String version, String mode) throws SvcLogicException + { + return(svcLogic.hasGraph(module, rpc, version, mode)); + } + + public Properties execute(String module, String rpc, String version, String mode, DataChangeNotificationOutputBuilder serviceData) + throws SvcLogicException { + + Properties parms = new Properties(); + + return execute(module,rpc,version, mode,serviceData,parms); + } + + public Properties execute(String module, String rpc, String version, String mode, DataChangeNotificationOutputBuilder serviceData, Properties parms) + throws SvcLogicException { + + parms = MdsalHelper.toProperties(parms, serviceData); + + if (LOG.isDebugEnabled()) + { + LOG.debug("Parameters passed to SLI"); + + for (Object key : parms.keySet()) { + String parmName = (String) key; + String parmValue = parms.getProperty(parmName); + + LOG.debug(parmName+" = "+parmValue); + + } + } + + Properties respProps = svcLogic.execute(module, rpc, version, mode, parms); + + if (LOG.isDebugEnabled()) + { + LOG.debug("Parameters returned by SLI"); + + for (Object key : respProps.keySet()) { + String parmName = (String) key; + String parmValue = respProps.getProperty(parmName); + + LOG.debug(parmName+" = "+parmValue); + + } + } + if ("failure".equalsIgnoreCase(respProps.getProperty("SvcLogic.status"))) { + return (respProps); + } + + MdsalHelper.toBuilder(respProps, serviceData); + + return (respProps); + } + +} diff --git a/dataChange/provider/src/main/java/org/onap/ccsdk/sli/northbound/DataChangeProvider.java b/dataChange/provider/src/main/java/org/onap/ccsdk/sli/northbound/DataChangeProvider.java new file mode 100644 index 000000000..40d30a792 --- /dev/null +++ b/dataChange/provider/src/main/java/org/onap/ccsdk/sli/northbound/DataChangeProvider.java @@ -0,0 +1,181 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 ONAP Intellectual Property. All rights + * reserved. + * ================================================================================ + * 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. + * ============LICENSE_END========================================================= + */ + +package org.onap.ccsdk.sli.northbound; + +import java.util.Properties; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; + +import org.onap.ccsdk.sli.core.sli.provider.MdsalHelper; +import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.controller.sal.binding.api.BindingAwareBroker; +import org.opendaylight.controller.sal.binding.api.NotificationProviderService; +import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; +import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.datachange.rev150519.DataChangeNotificationInput; +import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.datachange.rev150519.DataChangeNotificationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.datachange.rev150519.DataChangeNotificationOutput; +import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.datachange.rev150519.DataChangeNotificationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.datachange.rev150519.DataChangeService; +import org.opendaylight.yangtools.yang.common.RpcResult; +import org.opendaylight.yangtools.yang.common.RpcResultBuilder; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.google.common.util.concurrent.Futures; + +/** + * Defines a base implementation for your provider. This class extends from a helper class + * which provides storage for the most commonly used components of the MD-SAL. Additionally the + * base class provides some basic logging and initialization / clean up methods. + * + */ +public class DataChangeProvider implements AutoCloseable, DataChangeService{ + + private final Logger log = LoggerFactory.getLogger( DataChangeProvider.class ); + private final String appName = "DataChange"; + private final ExecutorService executor; + + protected DataBroker dataBroker; + protected NotificationProviderService notificationService; + protected RpcProviderRegistry rpcRegistry; + protected BindingAwareBroker.RpcRegistration rpcRegistration; + + + public DataChangeProvider(DataBroker dataBroker2, + NotificationProviderService notificationProviderService, + RpcProviderRegistry rpcProviderRegistry) { + this.log.info( "Creating provider for " + appName ); + executor = Executors.newFixedThreadPool(1); + dataBroker = dataBroker2; + notificationService = notificationProviderService; + rpcRegistry = rpcProviderRegistry; + initialize(); + } + + public void initialize(){ + log.info( "Initializing provider for " + appName ); + rpcRegistration = rpcRegistry.addRpcImplementation(DataChangeService.class, this); + log.info( "Initialization complete for " + appName ); + } + + protected void initializeChild() { + //Override if you have custom initialization intelligence + } + + @Override + public void close() throws Exception { + log.info( "Closing provider for " + appName ); + executor.shutdown(); + rpcRegistration.close(); + log.info( "Successfully closed provider for " + appName ); + } + + public void setDataBroker(DataBroker dataBroker) { + this.dataBroker = dataBroker; + if( log.isDebugEnabled() ){ + log.debug( "DataBroker set to " + (dataBroker==null?"null":"non-null") + "." ); + } + } + + public void setNotificationService( + NotificationProviderService notificationService) { + this.notificationService = notificationService; + if( log.isDebugEnabled() ){ + log.debug( "Notification Service set to " + (notificationService==null?"null":"non-null") + "." ); + } + } + + public void setRpcRegistry(RpcProviderRegistry rpcRegistry) { + this.rpcRegistry = rpcRegistry; + if( log.isDebugEnabled() ){ + log.debug( "RpcRegistry set to " + (rpcRegistry==null?"null":"non-null") + "." ); + } + } + + @Override + public Future> dataChangeNotification( + DataChangeNotificationInput input) { + final String SVC_OPERATION = "data-change-notification"; + + Properties parms = new Properties(); + DataChangeNotificationOutputBuilder serviceDataBuilder = new DataChangeNotificationOutputBuilder(); + + log.info( SVC_OPERATION +" called." ); + + if(input == null || input.getAaiEventId() == null) { + log.debug("exiting " +SVC_OPERATION+ " because of invalid input"); + serviceDataBuilder.setDataChangeResponseCode("403"); + RpcResult rpcResult = + RpcResultBuilder. status(true).withResult(serviceDataBuilder.build()).build(); + return Futures.immediateFuture(rpcResult); + } + + // add input to parms + log.info("Adding INPUT data for "+SVC_OPERATION+" input: " + input); + DataChangeNotificationInputBuilder inputBuilder = new DataChangeNotificationInputBuilder(input); + MdsalHelper.toProperties(parms, inputBuilder.build()); + + // Call SLI sync method + // Get SvcLogicService reference + + DataChangeClient svcLogicClient = new DataChangeClient(); + Properties respProps = null; + + try + { + if (svcLogicClient.hasGraph("DataChange", SVC_OPERATION , null, "sync")) + { + try + { + respProps = svcLogicClient.execute("DataChange", SVC_OPERATION, null, "sync", serviceDataBuilder, parms); + } + catch (Exception e) + { + log.error("Caught exception executing service logic for "+ SVC_OPERATION, e); + serviceDataBuilder.setDataChangeResponseCode("500"); + } + } else { + log.error("No service logic active for DataChange: '" + SVC_OPERATION + "'"); + serviceDataBuilder.setDataChangeResponseCode("503"); + } + } + catch (Exception e) + { + log.error("Caught exception looking for service logic", e); + serviceDataBuilder.setDataChangeResponseCode("500"); + } + + String errorCode = serviceDataBuilder.getDataChangeResponseCode(); + + if ( errorCode != null && errorCode.length() != 0 && !( errorCode.equals("0")|| errorCode.equals("200"))) { + log.error("Returned FAILED for "+SVC_OPERATION+" error code: '" + errorCode + "'"); + } else { + log.info("Returned SUCCESS for "+SVC_OPERATION+" "); + } + + RpcResult rpcResult = + RpcResultBuilder. status(true).withResult(serviceDataBuilder.build()).build(); + // return error + return Futures.immediateFuture(rpcResult); + } +} diff --git a/dataChange/provider/src/main/java/org/opendaylight/yang/gen/v1/org/onap/ccsdk/sli/northbound/datachange/provider/impl/rev140523/DataChangeProviderModule.java b/dataChange/provider/src/main/java/org/opendaylight/yang/gen/v1/org/onap/ccsdk/sli/northbound/datachange/provider/impl/rev140523/DataChangeProviderModule.java new file mode 100644 index 000000000..f8267cf32 --- /dev/null +++ b/dataChange/provider/src/main/java/org/opendaylight/yang/gen/v1/org/onap/ccsdk/sli/northbound/datachange/provider/impl/rev140523/DataChangeProviderModule.java @@ -0,0 +1,43 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 ONAP Intellectual Property. All rights + * reserved. + * ================================================================================ + * 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. + * ============LICENSE_END========================================================= + */ + +package org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.datachange.provider.impl.rev140523; +public class DataChangeProviderModule extends org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.datachange.provider.impl.rev140523.AbstractDataChangeProviderModule { + public DataChangeProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) { + super(identifier, dependencyResolver); + } + + public DataChangeProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.datachange.provider.impl.rev140523.DataChangeProviderModule oldModule, java.lang.AutoCloseable oldInstance) { + super(identifier, dependencyResolver, oldModule, oldInstance); + } + + @Override + public void customValidation() { + // add custom validation form module attributes here. + } + + @Override + public java.lang.AutoCloseable createInstance() { + // TODO:implement + throw new java.lang.UnsupportedOperationException(); + } + +} diff --git a/dataChange/provider/src/main/java/org/opendaylight/yang/gen/v1/org/onap/ccsdk/sli/northbound/datachange/provider/impl/rev140523/DataChangeProviderModuleFactory.java b/dataChange/provider/src/main/java/org/opendaylight/yang/gen/v1/org/onap/ccsdk/sli/northbound/datachange/provider/impl/rev140523/DataChangeProviderModuleFactory.java new file mode 100644 index 000000000..5852788c4 --- /dev/null +++ b/dataChange/provider/src/main/java/org/opendaylight/yang/gen/v1/org/onap/ccsdk/sli/northbound/datachange/provider/impl/rev140523/DataChangeProviderModuleFactory.java @@ -0,0 +1,34 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 ONAP Intellectual Property. All rights + * reserved. + * ================================================================================ + * 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. + * ============LICENSE_END========================================================= + */ + +/* +* Generated file +* +* Generated from: yang module name: DataChange-provider-impl yang module local name: DataChange-provider-impl +* Generated by: org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator +* Generated at: Tue Aug 15 09:41:53 EDT 2017 +* +* Do not modify this file unless it is present under src/main directory +*/ +package org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.datachange.provider.impl.rev140523; +public class DataChangeProviderModuleFactory extends org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.northbound.datachange.provider.impl.rev140523.AbstractDataChangeProviderModuleFactory { + +} diff --git a/dataChange/provider/src/main/java/org/opendaylight/yang/gen/v1/org/openecomp/sdnc/datachange/provider/impl/rev140523/DataChangeProviderModule.java b/dataChange/provider/src/main/java/org/opendaylight/yang/gen/v1/org/openecomp/sdnc/datachange/provider/impl/rev140523/DataChangeProviderModule.java deleted file mode 100644 index c3dd110a9..000000000 --- a/dataChange/provider/src/main/java/org/opendaylight/yang/gen/v1/org/openecomp/sdnc/datachange/provider/impl/rev140523/DataChangeProviderModule.java +++ /dev/null @@ -1,55 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * openECOMP : SDN-C - * ================================================================================ - * Copyright (C) 2017 ONAP Intellectual Property. All rights - * reserved. - * ================================================================================ - * 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. - * ============LICENSE_END========================================================= - */ - -package org.opendaylight.yang.gen.v1.org.openecomp.sdnc.datachange.provider.impl.rev140523; - -import org.openecomp.sdnc.datachange.DataChangeProvider; - -public class DataChangeProviderModule extends org.opendaylight.yang.gen.v1.org.openecomp.sdnc.datachange.provider.impl.rev140523.AbstractDataChangeProviderModule { - public DataChangeProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) { - super(identifier, dependencyResolver); - } - - public DataChangeProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, org.opendaylight.yang.gen.v1.org.openecomp.sdnc.datachange.provider.impl.rev140523.DataChangeProviderModule oldModule, java.lang.AutoCloseable oldInstance) { - super(identifier, dependencyResolver, oldModule, oldInstance); - } - - @Override - public void customValidation() { - // add custom validation form module attributes here. - } - - @Override - public java.lang.AutoCloseable createInstance() { - final DataChangeProvider provider = new DataChangeProvider(getDataBrokerDependency() - , getNotificationServiceDependency() - , getRpcRegistryDependency()); - - return new AutoCloseable() { - - @Override - public void close() throws Exception { - provider.close(); - } - }; - } - -} diff --git a/dataChange/provider/src/main/java/org/opendaylight/yang/gen/v1/org/openecomp/sdnc/datachange/provider/impl/rev140523/DataChangeProviderModuleFactory.java b/dataChange/provider/src/main/java/org/opendaylight/yang/gen/v1/org/openecomp/sdnc/datachange/provider/impl/rev140523/DataChangeProviderModuleFactory.java deleted file mode 100644 index 2f4724961..000000000 --- a/dataChange/provider/src/main/java/org/opendaylight/yang/gen/v1/org/openecomp/sdnc/datachange/provider/impl/rev140523/DataChangeProviderModuleFactory.java +++ /dev/null @@ -1,34 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * openECOMP : SDN-C - * ================================================================================ - * Copyright (C) 2017 ONAP Intellectual Property. All rights - * reserved. - * ================================================================================ - * 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. - * ============LICENSE_END========================================================= - */ - -/* -* Generated file -* -* Generated from: yang module name: DataChange-provider-impl yang module local name: DataChange-provider-impl -* Generated by: org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator -* Generated at: Wed Nov 02 06:00:03 EDT 2016 -* -* Do not modify this file unless it is present under src/main directory -*/ -package org.opendaylight.yang.gen.v1.org.openecomp.sdnc.datachange.provider.impl.rev140523; -public class DataChangeProviderModuleFactory extends org.opendaylight.yang.gen.v1.org.openecomp.sdnc.datachange.provider.impl.rev140523.AbstractDataChangeProviderModuleFactory { - -} diff --git a/dataChange/provider/src/main/java/org/openecomp/sdnc/datachange/DataChangeClient.java b/dataChange/provider/src/main/java/org/openecomp/sdnc/datachange/DataChangeClient.java deleted file mode 100644 index 5db3eff6d..000000000 --- a/dataChange/provider/src/main/java/org/openecomp/sdnc/datachange/DataChangeClient.java +++ /dev/null @@ -1,115 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * openECOMP : SDN-C - * ================================================================================ - * Copyright (C) 2017 ONAP Intellectual Property. All rights - * reserved. - * ================================================================================ - * 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. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.datachange; - -import java.util.Properties; - -import org.onap.ccsdk.sli.core.sli.SvcLogicException; -import org.onap.ccsdk.sli.core.sli.provider.MdsalHelper; -import org.onap.ccsdk.sli.core.sli.provider.SvcLogicService; -import org.opendaylight.yang.gen.v1.org.openecomp.sdnc.datachange.rev150519.DataChangeNotificationOutputBuilder; -import org.osgi.framework.BundleContext; -import org.osgi.framework.FrameworkUtil; -import org.osgi.framework.ServiceReference; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class DataChangeClient { - - private static final Logger LOG = LoggerFactory - .getLogger(DataChangeClient.class); - - private SvcLogicService svcLogic = null; - - public DataChangeClient() - { - BundleContext bctx = FrameworkUtil.getBundle(SvcLogicService.class).getBundleContext(); - - // Get SvcLogicService reference - ServiceReference sref = bctx.getServiceReference(SvcLogicService.NAME); - if (sref != null) - { - svcLogic = (SvcLogicService) bctx.getService(sref); - - } - else - { - LOG.warn("Cannot find service reference for "+SvcLogicService.NAME); - - } - } - - public boolean hasGraph(String module, String rpc, String version, String mode) throws SvcLogicException - { - return(svcLogic.hasGraph(module, rpc, version, mode)); - } - - public Properties execute(String module, String rpc, String version, String mode, DataChangeNotificationOutputBuilder serviceData) - throws SvcLogicException { - - Properties parms = new Properties(); - - return execute(module,rpc,version, mode,serviceData,parms); - } - - public Properties execute(String module, String rpc, String version, String mode, DataChangeNotificationOutputBuilder serviceData, Properties parms) - throws SvcLogicException { - - parms = MdsalHelper.toProperties(parms, serviceData); - - if (LOG.isDebugEnabled()) - { - LOG.debug("Parameters passed to SLI"); - - for (Object key : parms.keySet()) { - String parmName = (String) key; - String parmValue = parms.getProperty(parmName); - - LOG.debug(parmName+" = "+parmValue); - - } - } - - Properties respProps = svcLogic.execute(module, rpc, version, mode, parms); - - if (LOG.isDebugEnabled()) - { - LOG.debug("Parameters returned by SLI"); - - for (Object key : respProps.keySet()) { - String parmName = (String) key; - String parmValue = respProps.getProperty(parmName); - - LOG.debug(parmName+" = "+parmValue); - - } - } - if ("failure".equalsIgnoreCase(respProps.getProperty("SvcLogic.status"))) { - return (respProps); - } - - MdsalHelper.toBuilder(respProps, serviceData); - - return (respProps); - } - -} diff --git a/dataChange/provider/src/main/java/org/openecomp/sdnc/datachange/DataChangeProvider.java b/dataChange/provider/src/main/java/org/openecomp/sdnc/datachange/DataChangeProvider.java deleted file mode 100644 index 791da5c05..000000000 --- a/dataChange/provider/src/main/java/org/openecomp/sdnc/datachange/DataChangeProvider.java +++ /dev/null @@ -1,181 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * openECOMP : SDN-C - * ================================================================================ - * Copyright (C) 2017 ONAP Intellectual Property. All rights - * reserved. - * ================================================================================ - * 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. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.datachange; - -import java.util.Properties; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.Future; - -import org.onap.ccsdk.sli.core.sli.provider.MdsalHelper; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; -import org.opendaylight.controller.sal.binding.api.BindingAwareBroker; -import org.opendaylight.controller.sal.binding.api.NotificationProviderService; -import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; -import org.opendaylight.yang.gen.v1.org.openecomp.sdnc.datachange.rev150519.DataChangeNotificationInput; -import org.opendaylight.yang.gen.v1.org.openecomp.sdnc.datachange.rev150519.DataChangeNotificationInputBuilder; -import org.opendaylight.yang.gen.v1.org.openecomp.sdnc.datachange.rev150519.DataChangeNotificationOutput; -import org.opendaylight.yang.gen.v1.org.openecomp.sdnc.datachange.rev150519.DataChangeNotificationOutputBuilder; -import org.opendaylight.yang.gen.v1.org.openecomp.sdnc.datachange.rev150519.DataChangeService; -import org.opendaylight.yangtools.yang.common.RpcResult; -import org.opendaylight.yangtools.yang.common.RpcResultBuilder; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.google.common.util.concurrent.Futures; - -/** - * Defines a base implementation for your provider. This class extends from a helper class - * which provides storage for the most commonly used components of the MD-SAL. Additionally the - * base class provides some basic logging and initialization / clean up methods. - * - */ -public class DataChangeProvider implements AutoCloseable, DataChangeService{ - - private final Logger log = LoggerFactory.getLogger( DataChangeProvider.class ); - private final String appName = "DataChange"; - private final ExecutorService executor; - - protected DataBroker dataBroker; - protected NotificationProviderService notificationService; - protected RpcProviderRegistry rpcRegistry; - protected BindingAwareBroker.RpcRegistration rpcRegistration; - - - public DataChangeProvider(DataBroker dataBroker2, - NotificationProviderService notificationProviderService, - RpcProviderRegistry rpcProviderRegistry) { - this.log.info( "Creating provider for " + appName ); - executor = Executors.newFixedThreadPool(1); - dataBroker = dataBroker2; - notificationService = notificationProviderService; - rpcRegistry = rpcProviderRegistry; - initialize(); - } - - public void initialize(){ - log.info( "Initializing provider for " + appName ); - rpcRegistration = rpcRegistry.addRpcImplementation(DataChangeService.class, this); - log.info( "Initialization complete for " + appName ); - } - - protected void initializeChild() { - //Override if you have custom initialization intelligence - } - - @Override - public void close() throws Exception { - log.info( "Closing provider for " + appName ); - executor.shutdown(); - rpcRegistration.close(); - log.info( "Successfully closed provider for " + appName ); - } - - public void setDataBroker(DataBroker dataBroker) { - this.dataBroker = dataBroker; - if( log.isDebugEnabled() ){ - log.debug( "DataBroker set to " + (dataBroker==null?"null":"non-null") + "." ); - } - } - - public void setNotificationService( - NotificationProviderService notificationService) { - this.notificationService = notificationService; - if( log.isDebugEnabled() ){ - log.debug( "Notification Service set to " + (notificationService==null?"null":"non-null") + "." ); - } - } - - public void setRpcRegistry(RpcProviderRegistry rpcRegistry) { - this.rpcRegistry = rpcRegistry; - if( log.isDebugEnabled() ){ - log.debug( "RpcRegistry set to " + (rpcRegistry==null?"null":"non-null") + "." ); - } - } - - @Override - public Future> dataChangeNotification( - DataChangeNotificationInput input) { - final String SVC_OPERATION = "data-change-notification"; - - Properties parms = new Properties(); - DataChangeNotificationOutputBuilder serviceDataBuilder = new DataChangeNotificationOutputBuilder(); - - log.info( SVC_OPERATION +" called." ); - - if(input == null || input.getAaiEventId() == null) { - log.debug("exiting " +SVC_OPERATION+ " because of invalid input"); - serviceDataBuilder.setDataChangeResponseCode("403"); - RpcResult rpcResult = - RpcResultBuilder. status(true).withResult(serviceDataBuilder.build()).build(); - return Futures.immediateFuture(rpcResult); - } - - // add input to parms - log.info("Adding INPUT data for "+SVC_OPERATION+" input: " + input); - DataChangeNotificationInputBuilder inputBuilder = new DataChangeNotificationInputBuilder(input); - MdsalHelper.toProperties(parms, inputBuilder.build()); - - // Call SLI sync method - // Get SvcLogicService reference - - DataChangeClient svcLogicClient = new DataChangeClient(); - Properties respProps = null; - - try - { - if (svcLogicClient.hasGraph("DataChange", SVC_OPERATION , null, "sync")) - { - try - { - respProps = svcLogicClient.execute("DataChange", SVC_OPERATION, null, "sync", serviceDataBuilder, parms); - } - catch (Exception e) - { - log.error("Caught exception executing service logic for "+ SVC_OPERATION, e); - serviceDataBuilder.setDataChangeResponseCode("500"); - } - } else { - log.error("No service logic active for DataChange: '" + SVC_OPERATION + "'"); - serviceDataBuilder.setDataChangeResponseCode("503"); - } - } - catch (Exception e) - { - log.error("Caught exception looking for service logic", e); - serviceDataBuilder.setDataChangeResponseCode("500"); - } - - String errorCode = serviceDataBuilder.getDataChangeResponseCode(); - - if ( errorCode != null && errorCode.length() != 0 && !( errorCode.equals("0")|| errorCode.equals("200"))) { - log.error("Returned FAILED for "+SVC_OPERATION+" error code: '" + errorCode + "'"); - } else { - log.info("Returned SUCCESS for "+SVC_OPERATION+" "); - } - - RpcResult rpcResult = - RpcResultBuilder. status(true).withResult(serviceDataBuilder.build()).build(); - // return error - return Futures.immediateFuture(rpcResult); - } -} diff --git a/dataChange/provider/src/main/resources/initial/dataChange-provider.xml b/dataChange/provider/src/main/resources/initial/dataChange-provider.xml index 2812ca4d7..3038201ba 100644 --- a/dataChange/provider/src/main/resources/initial/dataChange-provider.xml +++ b/dataChange/provider/src/main/resources/initial/dataChange-provider.xml @@ -9,9 +9,7 @@ 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. @@ -29,7 +27,7 @@ - + prefix:DataChange-provider-impl DataChange-provider-impl @@ -66,7 +64,7 @@ our service can be resolved. Capabilities for dependencies defined above are implied which is why we do not have define a required capability for the data broker, for example. --> - org:openecomp:sdnc:datachange:provider:impl?module=DataChange-provider-impl&revision=2014-05-23 + org:onap:ccsdk:sli:northbound:datachange:provider:impl?module=DataChange-provider-impl&revision=2014-05-23 diff --git a/dataChange/provider/src/main/yang/DataChange-provider-impl.yang b/dataChange/provider/src/main/yang/DataChange-provider-impl.yang index fe1dab235..2913273de 100755 --- a/dataChange/provider/src/main/yang/DataChange-provider-impl.yang +++ b/dataChange/provider/src/main/yang/DataChange-provider-impl.yang @@ -1,7 +1,7 @@ module DataChange-provider-impl { yang-version 1; - namespace "org:openecomp:sdnc:datachange:provider:impl"; + namespace "org:onap:ccsdk:sli:northbound:datachange:provider:impl"; prefix "DataChange-provider-impl"; import config { prefix config; revision-date 2013-04-05; } -- cgit 1.2.3-korg From adef520003cc54ae60fc62154df8caacb0610243 Mon Sep 17 00:00:00 2001 From: Dan Timoney Date: Thu, 12 Oct 2017 09:04:22 -0400 Subject: Add readthedocs documentation for sli/northbound Add readthedocs documentation for sli/northbound. Change-Id: I8ca9d7e839408094ab3754500d71fe7463f0b0e4 Issue-ID: CCSDK-107 Signed-off-by: Dan Timoney --- asdcApi/model/pom.xml | 165 +- .../src/main/resources/asdc-api.20170201.json | 3415 ++++++++++++++++++++ dataChange/model/pom.xml | 165 +- .../src/main/resources/dataChange.20150519.json | 136 + docs/apis/asdcApi.rst | 15 + docs/apis/dataChange.rst | 15 + docs/architecture.rst | 12 + docs/build.rst | 18 + docs/index.rst | 9 +- docs/logging.rst | 14 + docs/nodes.rst | 1031 ++++++ docs/offeredapis.rst | 13 + docs/release-notes.rst | 45 + 13 files changed, 4897 insertions(+), 156 deletions(-) create mode 100644 asdcApi/model/src/main/resources/asdc-api.20170201.json create mode 100644 dataChange/model/src/main/resources/dataChange.20150519.json create mode 100644 docs/apis/asdcApi.rst create mode 100644 docs/apis/dataChange.rst create mode 100644 docs/architecture.rst create mode 100644 docs/build.rst create mode 100644 docs/logging.rst create mode 100644 docs/nodes.rst create mode 100644 docs/offeredapis.rst create mode 100644 docs/release-notes.rst (limited to 'dataChange/model/src') diff --git a/asdcApi/model/pom.xml b/asdcApi/model/pom.xml index 327b8627e..3665e4fab 100755 --- a/asdcApi/model/pom.xml +++ b/asdcApi/model/pom.xml @@ -1,81 +1,92 @@ - - 4.0.0 - - asdcApi - org.onap.ccsdk.sli.northbound - 0.1.0-SNAPSHOT - - org.onap.ccsdk.sli.northbound - asdcApi-model - 0.1.0-SNAPSHOT - bundle + + 4.0.0 + + asdcApi + org.onap.ccsdk.sli.northbound + 0.1.0-SNAPSHOT + + org.onap.ccsdk.sli.northbound + asdcApi-model + 0.1.0-SNAPSHOT + bundle - + - - - org.apache.felix - maven-bundle-plugin - true - - - * - - - - - org.opendaylight.yangtools - yang-maven-plugin - ${odl.yangtools.yang.maven.plugin.version} - - - org.opendaylight.mdsal - maven-sal-api-gen-plugin - ${odl.sal.api.gen.plugin.version} - jar - - - - - - generate-sources - - - ${yang.file.directory} - - - org.opendaylight.mdsal.binding.maven.api.gen.plugin.CodeGeneratorImpl - ${salGeneratorPath} - - - true - - - - - - - - - org.opendaylight.mdsal - yang-binding - ${odl.mdsal.yang.binding.version} - - - org.opendaylight.yangtools - yang-common - ${odl.yangtools.version} - - - org.opendaylight.mdsal.model - ietf-inet-types - ${odl.ietf-inet-types.version} - - - org.opendaylight.mdsal.model - ietf-yang-types - ${odl.ietf-yang-types.version} - - + + + org.apache.felix + maven-bundle-plugin + true + + + * + + + + + org.opendaylight.yangtools + yang-maven-plugin + ${odl.yangtools.yang.maven.plugin.version} + + + org.opendaylight.mdsal + maven-sal-api-gen-plugin + ${odl.sal.api.gen.plugin.version} + jar + + + org.opendaylight.netconf + sal-rest-docgen-maven + ${odl.restconf.version} + jar + + + + + + generate-sources + + + ${yang.file.directory} + + + org.opendaylight.mdsal.binding.maven.api.gen.plugin.CodeGeneratorImpl + ${salGeneratorPath} + + + org.opendaylight.netconf.sal.rest.doc.maven.StaticDocGenerator + target/swagger + + + true + + + + + + + + + org.opendaylight.mdsal + yang-binding + ${odl.mdsal.yang.binding.version} + + + org.opendaylight.yangtools + yang-common + ${odl.yangtools.version} + + + org.opendaylight.mdsal.model + ietf-inet-types + ${odl.ietf-inet-types.version} + + + org.opendaylight.mdsal.model + ietf-yang-types + ${odl.ietf-yang-types.version} + + diff --git a/asdcApi/model/src/main/resources/asdc-api.20170201.json b/asdcApi/model/src/main/resources/asdc-api.20170201.json new file mode 100644 index 000000000..c82c75159 --- /dev/null +++ b/asdcApi/model/src/main/resources/asdc-api.20170201.json @@ -0,0 +1,3415 @@ +{ + "swagger": "2.0", + "info": { + "version": "1.0.0" + }, + "basePath": "/restconf", + "paths": { + "/config": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "**(config)artifacts", + "required": false, + "schema": { + "$ref": "#/definitions/ASDC-API(config)artifacts-TOP" + } + }, + { + "in": "body", + "name": "**(config)vf-license-model-versions", + "required": false, + "schema": { + "$ref": "#/definitions/ASDC-API(config)vf-license-model-versions-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)ASDC-API_modulePOST" + } + } + }, + "description": "SDC Interface", + "operationId": "POST-ASDC-API_module" + } + }, + "/config/ASDC-API:artifacts": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-artifacts" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)artifacts" + } + } + }, + "operationId": "GET-artifacts" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "**(config)artifact", + "required": false, + "schema": { + "$ref": "#/definitions/ASDC-API/artifacts(config)artifact-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)artifactsPOST" + } + } + }, + "operationId": "POST-artifacts" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "(config)artifacts", + "required": false, + "schema": { + "$ref": "#/definitions/ASDC-API(config)artifacts-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/ASDC-API(config)artifacts-TOP" + } + } + }, + "operationId": "PUT-artifacts" + } + }, + "/config/ASDC-API:artifacts/artifact/{artifact-name}/{artifact-version}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Name of artifact", + "in": "path", + "name": "artifact-name", + "required": true, + "type": "string" + }, + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-artifact" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Name of artifact", + "in": "path", + "name": "artifact-name", + "required": true, + "type": "string" + }, + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)artifact" + } + } + }, + "operationId": "GET-artifact" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Name of artifact", + "in": "path", + "name": "artifact-name", + "required": true, + "type": "string" + }, + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)artifact", + "required": false, + "schema": { + "$ref": "#/definitions/ASDC-API/artifacts(config)artifact-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/ASDC-API/artifacts(config)artifact-TOP" + } + } + }, + "operationId": "PUT-artifact" + } + }, + "/config/ASDC-API:vf-license-model-versions": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vf-license-model-versions" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vf-license-model-versions" + } + } + }, + "operationId": "GET-vf-license-model-versions" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "**(config)vf-license-model-version", + "required": false, + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions(config)vf-license-model-version-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vf-license-model-versionsPOST" + } + } + }, + "operationId": "POST-vf-license-model-versions" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "(config)vf-license-model-versions", + "required": false, + "schema": { + "$ref": "#/definitions/ASDC-API(config)vf-license-model-versions-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/ASDC-API(config)vf-license-model-versions-TOP" + } + } + }, + "operationId": "PUT-vf-license-model-versions" + } + }, + "/config/ASDC-API:vf-license-model-versions/vf-license-model-version/{artifact-version}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vf-license-model-version" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vf-license-model-version" + } + } + }, + "operationId": "GET-vf-license-model-version" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vf-license-model", + "required": false, + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version(config)vf-license-model-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vf-license-model-versionPOST" + } + } + }, + "operationId": "POST-vf-license-model-version" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vf-license-model-version", + "required": false, + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions(config)vf-license-model-version-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions(config)vf-license-model-version-TOP" + } + } + }, + "operationId": "PUT-vf-license-model-version" + } + }, + "/config/ASDC-API:vf-license-model-versions/vf-license-model-version/{artifact-version}/vf-license-model": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "description": "xxxx", + "operationId": "DELETE-vf-license-model" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vf-license-model" + } + } + }, + "description": "xxxx", + "operationId": "GET-vf-license-model" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)feature-group-list", + "required": false, + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model(config)feature-group-list-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vf-license-modelPOST" + } + } + }, + "description": "xxxx", + "operationId": "POST-vf-license-model" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vf-license-model", + "required": false, + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version(config)vf-license-model-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version(config)vf-license-model-TOP" + } + } + }, + "description": "xxxx", + "operationId": "PUT-vf-license-model" + } + }, + "/config/ASDC-API:vf-license-model-versions/vf-license-model-version/{artifact-version}/vf-license-model/feature-group-list": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "description": "xxxx", + "operationId": "DELETE-feature-group-list" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)feature-group-list" + } + } + }, + "description": "xxxx", + "operationId": "GET-feature-group-list" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)feature-group", + "required": false, + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list(config)feature-group-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)feature-group-listPOST" + } + } + }, + "description": "xxxx", + "operationId": "POST-feature-group-list" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)feature-group-list", + "required": false, + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model(config)feature-group-list-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model(config)feature-group-list-TOP" + } + } + }, + "description": "xxxx", + "operationId": "PUT-feature-group-list" + } + }, + "/config/ASDC-API:vf-license-model-versions/vf-license-model-version/{artifact-version}/vf-license-model/feature-group-list/feature-group": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "description": "xxxx", + "operationId": "DELETE-feature-group" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)feature-group" + } + } + }, + "description": "xxxx", + "operationId": "GET-feature-group" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)license-key-group-list", + "required": false, + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group(config)license-key-group-list-TOP" + } + }, + { + "in": "body", + "name": "**(config)entitlement-pool-list", + "required": false, + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group(config)entitlement-pool-list-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)feature-groupPOST" + } + } + }, + "description": "xxxx", + "operationId": "POST-feature-group" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)feature-group", + "required": false, + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list(config)feature-group-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list(config)feature-group-TOP" + } + } + }, + "description": "xxxx", + "operationId": "PUT-feature-group" + } + }, + "/config/ASDC-API:vf-license-model-versions/vf-license-model-version/{artifact-version}/vf-license-model/feature-group-list/feature-group/entitlement-pool-list": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "description": "xxxx", + "operationId": "DELETE-entitlement-pool-list" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)entitlement-pool-list" + } + } + }, + "description": "xxxx", + "operationId": "GET-entitlement-pool-list" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)entitlement-pool", + "required": false, + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list(config)entitlement-pool-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)entitlement-pool-listPOST" + } + } + }, + "description": "xxxx", + "operationId": "POST-entitlement-pool-list" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)entitlement-pool-list", + "required": false, + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group(config)entitlement-pool-list-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group(config)entitlement-pool-list-TOP" + } + } + }, + "description": "xxxx", + "operationId": "PUT-entitlement-pool-list" + } + }, + "/config/ASDC-API:vf-license-model-versions/vf-license-model-version/{artifact-version}/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "description": "xxxx", + "operationId": "DELETE-entitlement-pool" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)entitlement-pool" + } + } + }, + "description": "xxxx", + "operationId": "GET-entitlement-pool" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)time", + "required": false, + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)time-TOP" + } + }, + { + "in": "body", + "name": "**(config)operational-scope", + "required": false, + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)operational-scope-TOP" + } + }, + { + "in": "body", + "name": "**(config)threshold-value", + "required": false, + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)threshold-value-TOP" + } + }, + { + "in": "body", + "name": "**(config)entitlement-metric", + "required": false, + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)entitlement-metric-TOP" + } + }, + { + "in": "body", + "name": "**(config)aggregation-function", + "required": false, + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)aggregation-function-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)entitlement-poolPOST" + } + } + }, + "description": "xxxx", + "operationId": "POST-entitlement-pool" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)entitlement-pool", + "required": false, + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list(config)entitlement-pool-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list(config)entitlement-pool-TOP" + } + } + }, + "description": "xxxx", + "operationId": "PUT-entitlement-pool" + } + }, + "/config/ASDC-API:vf-license-model-versions/vf-license-model-version/{artifact-version}/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool/aggregation-function": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "description": "xxxx", + "operationId": "DELETE-aggregation-function" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)aggregation-function" + } + } + }, + "description": "xxxx", + "operationId": "GET-aggregation-function" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)aggregation-function", + "required": false, + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)aggregation-function-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)aggregation-function-TOP" + } + } + }, + "description": "xxxx", + "operationId": "PUT-aggregation-function" + } + }, + "/config/ASDC-API:vf-license-model-versions/vf-license-model-version/{artifact-version}/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool/entitlement-metric": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "description": "xxxx", + "operationId": "DELETE-entitlement-metric" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)entitlement-metric" + } + } + }, + "description": "xxxx", + "operationId": "GET-entitlement-metric" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)entitlement-metric", + "required": false, + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)entitlement-metric-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)entitlement-metric-TOP" + } + } + }, + "description": "xxxx", + "operationId": "PUT-entitlement-metric" + } + }, + "/config/ASDC-API:vf-license-model-versions/vf-license-model-version/{artifact-version}/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool/operational-scope": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "description": "xxxx", + "operationId": "DELETE-operational-scope" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)operational-scope" + } + } + }, + "description": "xxxx", + "operationId": "GET-operational-scope" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)operational-scope", + "required": false, + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)operational-scope-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)operational-scope-TOP" + } + } + }, + "description": "xxxx", + "operationId": "PUT-operational-scope" + } + }, + "/config/ASDC-API:vf-license-model-versions/vf-license-model-version/{artifact-version}/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool/threshold-value": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "description": "xxxx", + "operationId": "DELETE-threshold-value" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)threshold-value" + } + } + }, + "description": "xxxx", + "operationId": "GET-threshold-value" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)threshold-value", + "required": false, + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)threshold-value-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)threshold-value-TOP" + } + } + }, + "description": "xxxx", + "operationId": "PUT-threshold-value" + } + }, + "/config/ASDC-API:vf-license-model-versions/vf-license-model-version/{artifact-version}/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool/time": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "description": "xxxx", + "operationId": "DELETE-time" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)time" + } + } + }, + "description": "xxxx", + "operationId": "GET-time" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)time", + "required": false, + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)time-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)time-TOP" + } + } + }, + "description": "xxxx", + "operationId": "PUT-time" + } + }, + "/config/ASDC-API:vf-license-model-versions/vf-license-model-version/{artifact-version}/vf-license-model/feature-group-list/feature-group/license-key-group-list": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "description": "xxxx", + "operationId": "DELETE-license-key-group-list" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)license-key-group-list" + } + } + }, + "description": "xxxx", + "operationId": "GET-license-key-group-list" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)license-key-group", + "required": false, + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/license-key-group-list(config)license-key-group-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)license-key-group-listPOST" + } + } + }, + "description": "xxxx", + "operationId": "POST-license-key-group-list" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)license-key-group-list", + "required": false, + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group(config)license-key-group-list-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group(config)license-key-group-list-TOP" + } + } + }, + "description": "xxxx", + "operationId": "PUT-license-key-group-list" + } + }, + "/config/ASDC-API:vf-license-model-versions/vf-license-model-version/{artifact-version}/vf-license-model/feature-group-list/feature-group/license-key-group-list/license-key-group": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "description": "xxxx", + "operationId": "DELETE-license-key-group" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)license-key-group" + } + } + }, + "description": "xxxx", + "operationId": "GET-license-key-group" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)operational-scope", + "required": false, + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/license-key-group-list/license-key-group(config)operational-scope-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)license-key-groupPOST" + } + } + }, + "description": "xxxx", + "operationId": "POST-license-key-group" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)license-key-group", + "required": false, + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/license-key-group-list(config)license-key-group-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/license-key-group-list(config)license-key-group-TOP" + } + } + }, + "description": "xxxx", + "operationId": "PUT-license-key-group" + } + }, + "/config/ASDC-API:vf-license-model-versions/vf-license-model-version/{artifact-version}/vf-license-model/feature-group-list/feature-group/license-key-group-list/license-key-group/operational-scope": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "description": "xxxx", + "operationId": "DELETE-operational-scope" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)operational-scope" + } + } + }, + "description": "xxxx", + "operationId": "GET-operational-scope" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Version of artifact", + "in": "path", + "name": "artifact-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)operational-scope", + "required": false, + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/license-key-group-list/license-key-group(config)operational-scope-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/license-key-group-list/license-key-group(config)operational-scope-TOP" + } + } + }, + "description": "xxxx", + "operationId": "PUT-operational-scope" + } + }, + "/operational/ASDC-API:artifacts": { + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(operational)artifacts" + } + } + }, + "operationId": "GET-artifacts" + } + }, + "/operational/ASDC-API:vf-license-model-versions": { + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(operational)vf-license-model-versions" + } + } + }, + "operationId": "GET-vf-license-model-versions" + } + }, + "/operations/ASDC-API:vf-license-model-update": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(vf-license-model-update)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(vf-license-model-update)output-TOP" + } + } + }, + "operationId": "vf-license-model-update" + } + } + }, + "definitions": { + "(config)ASDC-API_modulePOST": { + "properties": { + "artifacts": { + "items": { + "$ref": "#/definitions/ASDC-API(config)artifacts" + }, + "type": "object" + }, + "vf-license-model-versions": { + "items": { + "$ref": "#/definitions/ASDC-API(config)vf-license-model-versions" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)aggregation-functionPOST": { + "properties": { + "other": { + "$ref": "#/definitions/Some other", + "description": "xxxx" + }, + "value": { + "$ref": "#/definitions/Peak", + "description": "xxxx", + "enum": [ + "Peak", + "Average", + "Other" + ] + } + }, + "type": "object" + }, + "(config)artifactPOST": { + "properties": { + "artifact-name": { + "$ref": "#/definitions/Some artifact-name", + "description": "Name of artifact" + }, + "artifact-version": { + "$ref": "#/definitions/Some artifact-version", + "description": "Version of artifact" + } + }, + "type": "object" + }, + "(config)artifactsPOST": { + "properties": { + "artifact": { + "items": { + "$ref": "#/definitions/ASDC-API/artifacts(config)artifact" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)entitlement-metricPOST": { + "properties": { + "other": { + "$ref": "#/definitions/Some other", + "description": "xxxx" + }, + "value": { + "$ref": "#/definitions/Software_Instances_Count", + "description": "xxxx", + "enum": [ + "Software_Instances_Count", + "CPU", + "Core", + "Trunks", + "User", + "Subscribers", + "Tenants", + "Tokens", + "Seats", + "Units_TB", + "Units_GB", + "Units_MB", + "Other" + ] + } + }, + "type": "object" + }, + "(config)entitlement-pool-listPOST": { + "properties": { + "entitlement-pool": { + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list(config)entitlement-pool" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)entitlement-poolPOST": { + "properties": { + "aggregation-function": { + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)aggregation-function" + }, + "type": "object" + }, + "description": { + "$ref": "#/definitions/Some description", + "description": "xxxx" + }, + "entitlement-metric": { + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)entitlement-metric" + }, + "type": "object" + }, + "entitlement-pool-uuid": { + "$ref": "#/definitions/Some entitlement-pool-uuid", + "description": "xxxx" + }, + "increments": { + "$ref": "#/definitions/Some increments", + "description": "xxxx" + }, + "manufacturer-reference-number": { + "$ref": "#/definitions/Some manufacturer-reference-number", + "description": "xxxx" + }, + "name": { + "$ref": "#/definitions/Some name", + "description": "xxxx" + }, + "operational-scope": { + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)operational-scope" + }, + "type": "object" + }, + "threshold-value": { + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)threshold-value" + }, + "type": "object" + }, + "time": { + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)time" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)feature-group-listPOST": { + "properties": { + "feature-group": { + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model/feature-group-list(config)feature-group" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)feature-groupPOST": { + "properties": { + "att-part-number": { + "$ref": "#/definitions/Some att-part-number", + "description": "xxxx" + }, + "description": { + "$ref": "#/definitions/Some description", + "description": "xxxx" + }, + "entitlement-pool-list": { + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model/feature-group-list/feature-group(config)entitlement-pool-list" + }, + "type": "object" + }, + "feature-group-uuid": { + "$ref": "#/definitions/Some feature-group-uuid", + "description": "xxxx" + }, + "license-key-group-list": { + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model/feature-group-list/feature-group(config)license-key-group-list" + }, + "type": "object" + }, + "name": { + "$ref": "#/definitions/Some name", + "description": "xxxx" + } + }, + "type": "object" + }, + "(config)license-key-group-listPOST": { + "properties": { + "license-key-group": { + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model/feature-group-list/feature-group/license-key-group-list(config)license-key-group" + }, + "type": "array" + }, + "name": { + "$ref": "#/definitions/Some name", + "description": "xxxx" + } + }, + "type": "object" + }, + "(config)license-key-groupPOST": { + "properties": { + "description": { + "$ref": "#/definitions/Some description", + "description": "xxxx" + }, + "license-key-group-uuid": { + "$ref": "#/definitions/Some license-key-group-uuid", + "description": "xxxx" + }, + "name": { + "$ref": "#/definitions/Some name", + "description": "xxxx" + }, + "operational-scope": { + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model/feature-group-list/feature-group/license-key-group-list/license-key-group(config)operational-scope" + }, + "type": "object" + }, + "type": { + "$ref": "#/definitions/Universal", + "description": "xxxx", + "enum": [ + "Universal", + "Unique", + "One_Time" + ] + } + }, + "type": "object" + }, + "(config)operational-scopePOST": { + "properties": { + "other": { + "$ref": "#/definitions/Some other", + "description": "xxxx" + }, + "value": { + "$ref": "#/definitions/Network_Wide", + "description": "xxxx", + "enum": [ + "Network_Wide", + "Availability_Zone", + "Data_Center", + "Tenant", + "VM", + "CPU", + "Core", + "Other" + ] + } + }, + "type": "object" + }, + "(config)threshold-valuePOST": { + "properties": { + "unit": { + "$ref": "#/definitions/Absolute", + "description": "xxxx", + "enum": [ + "Absolute", + "Percentage" + ] + }, + "value": { + "$ref": "#/definitions/0", + "description": "xxxx" + } + }, + "type": "object" + }, + "(config)timePOST": { + "properties": { + "other": { + "$ref": "#/definitions/Some other", + "description": "xxxx" + }, + "value": { + "$ref": "#/definitions/Hour", + "description": "xxxx", + "enum": [ + "Hour", + "Day", + "Month", + "Quarter", + "Year", + "Other" + ] + } + }, + "type": "object" + }, + "(config)vf-license-model-versionPOST": { + "properties": { + "artifact-name": { + "$ref": "#/definitions/Some artifact-name", + "description": "Name of artifact" + }, + "artifact-version": { + "$ref": "#/definitions/Some artifact-version", + "description": "Version of artifact" + }, + "vf-license-model": { + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version(config)vf-license-model" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)vf-license-model-versionsPOST": { + "properties": { + "vf-license-model-version": { + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions(config)vf-license-model-version" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)vf-license-modelPOST": { + "properties": { + "feature-group-list": { + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model(config)feature-group-list" + }, + "type": "object" + }, + "vendor-name": { + "$ref": "#/definitions/Some vendor-name", + "description": "xxxx" + }, + "vf-id": { + "$ref": "#/definitions/Some vf-id", + "description": "xxxx" + } + }, + "type": "object" + }, + "(vf-license-model-update)input": { + "properties": { + "ASDC-API:artifact-name": { + "$ref": "#/definitions/Some artifact-name", + "description": "Name of artifact" + }, + "ASDC-API:artifact-version": { + "$ref": "#/definitions/Some artifact-version", + "description": "Version of artifact" + }, + "ASDC-API:vf-license-model": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API(config)vf-license-model" + }, + "type": "object" + } + }, + "type": "object" + }, + "(vf-license-model-update)input-TOP": { + "properties": { + "ASDC-API:input": { + "items": { + "$ref": "#/definitions/(vf-license-model-update)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(vf-license-model-update)output": { + "properties": { + "ASDC-API:asdc-api-response-code": { + "$ref": "#/definitions/Some asdc-api-response-code", + "description": "Code indicating success/failure" + }, + "ASDC-API:asdc-api-response-text": { + "$ref": "#/definitions/Some asdc-api-response-text", + "description": "Text indicating reason for failure" + } + }, + "type": "object" + }, + "(vf-license-model-update)output-TOP": { + "properties": { + "ASDC-API:output": { + "items": { + "$ref": "#/definitions/(vf-license-model-update)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "ASDC-API(config)artifacts": { + "properties": { + "ASDC-API:artifact": { + "items": { + "$ref": "#/definitions/ASDC-API/artifacts(config)artifact" + }, + "type": "array" + } + }, + "type": "object" + }, + "ASDC-API(config)artifacts-TOP": { + "properties": { + "ASDC-API:artifacts": { + "items": { + "$ref": "#/definitions/ASDC-API(config)artifacts" + }, + "type": "object" + } + }, + "type": "object" + }, + "ASDC-API(config)vf-license-model": { + "properties": { + "ASDC-API:feature-group-list": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model(config)feature-group-list" + }, + "type": "object" + }, + "ASDC-API:vendor-name": { + "$ref": "#/definitions/Some vendor-name", + "description": "xxxx" + }, + "ASDC-API:vf-id": { + "$ref": "#/definitions/Some vf-id", + "description": "xxxx" + } + }, + "type": "object" + }, + "ASDC-API(config)vf-license-model-TOP": { + "properties": { + "ASDC-API:vf-license-model": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API(config)vf-license-model" + }, + "type": "object" + } + }, + "type": "object" + }, + "ASDC-API(config)vf-license-model-versions": { + "properties": { + "ASDC-API:vf-license-model-version": { + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions(config)vf-license-model-version" + }, + "type": "array" + } + }, + "type": "object" + }, + "ASDC-API(config)vf-license-model-versions-TOP": { + "properties": { + "ASDC-API:vf-license-model-versions": { + "items": { + "$ref": "#/definitions/ASDC-API(config)vf-license-model-versions" + }, + "type": "object" + } + }, + "type": "object" + }, + "ASDC-API(operational)artifacts": { + "type": "object" + }, + "ASDC-API(operational)artifacts-TOP": { + "properties": { + "ASDC-API:artifacts": { + "items": { + "$ref": "#/definitions/ASDC-API(operational)artifacts" + }, + "type": "object" + } + }, + "type": "object" + }, + "ASDC-API(operational)vf-license-model-versions": { + "type": "object" + }, + "ASDC-API(operational)vf-license-model-versions-TOP": { + "properties": { + "ASDC-API:vf-license-model-versions": { + "items": { + "$ref": "#/definitions/ASDC-API(operational)vf-license-model-versions" + }, + "type": "object" + } + }, + "type": "object" + }, + "ASDC-API/artifacts(config)artifact": { + "properties": { + "ASDC-API:artifact-name": { + "$ref": "#/definitions/Some artifact-name", + "description": "Name of artifact" + }, + "ASDC-API:artifact-version": { + "$ref": "#/definitions/Some artifact-version", + "description": "Version of artifact" + } + }, + "type": "object" + }, + "ASDC-API/artifacts(config)artifact-TOP": { + "properties": { + "ASDC-API:artifact": { + "items": { + "$ref": "#/definitions/ASDC-API/artifacts(config)artifact" + }, + "type": "array" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model(config)feature-group-list": { + "properties": { + "ASDC-API:feature-group": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model/feature-group-list(config)feature-group" + }, + "type": "array" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model(config)feature-group-list-TOP": { + "properties": { + "ASDC-API:feature-group-list": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model(config)feature-group-list" + }, + "type": "object" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model-versions(config)vf-license-model-version": { + "properties": { + "ASDC-API:artifact-name": { + "$ref": "#/definitions/Some artifact-name", + "description": "Name of artifact" + }, + "ASDC-API:artifact-version": { + "$ref": "#/definitions/Some artifact-version", + "description": "Version of artifact" + }, + "ASDC-API:vf-license-model": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version(config)vf-license-model" + }, + "type": "object" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model-versions(config)vf-license-model-version-TOP": { + "properties": { + "ASDC-API:vf-license-model-version": { + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions(config)vf-license-model-version" + }, + "type": "array" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model-versions/vf-license-model-version(config)vf-license-model": { + "properties": { + "ASDC-API:feature-group-list": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model(config)feature-group-list" + }, + "type": "object" + }, + "ASDC-API:vendor-name": { + "$ref": "#/definitions/Some vendor-name", + "description": "xxxx" + }, + "ASDC-API:vf-id": { + "$ref": "#/definitions/Some vf-id", + "description": "xxxx" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model-versions/vf-license-model-version(config)vf-license-model-TOP": { + "properties": { + "ASDC-API:vf-license-model": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version(config)vf-license-model" + }, + "type": "object" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model(config)feature-group-list": { + "properties": { + "ASDC-API:feature-group": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list(config)feature-group" + }, + "type": "array" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model(config)feature-group-list-TOP": { + "properties": { + "ASDC-API:feature-group-list": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model(config)feature-group-list" + }, + "type": "object" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list(config)feature-group": { + "properties": { + "ASDC-API:att-part-number": { + "$ref": "#/definitions/Some att-part-number", + "description": "xxxx" + }, + "ASDC-API:description": { + "$ref": "#/definitions/Some description", + "description": "xxxx" + }, + "ASDC-API:entitlement-pool-list": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group(config)entitlement-pool-list" + }, + "type": "object" + }, + "ASDC-API:feature-group-uuid": { + "$ref": "#/definitions/Some feature-group-uuid", + "description": "xxxx" + }, + "ASDC-API:license-key-group-list": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group(config)license-key-group-list" + }, + "type": "object" + }, + "ASDC-API:name": { + "$ref": "#/definitions/Some name", + "description": "xxxx" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list(config)feature-group-TOP": { + "properties": { + "ASDC-API:feature-group": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list(config)feature-group" + }, + "type": "array" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group(config)entitlement-pool-list": { + "properties": { + "ASDC-API:entitlement-pool": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list(config)entitlement-pool" + }, + "type": "array" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group(config)entitlement-pool-list-TOP": { + "properties": { + "ASDC-API:entitlement-pool-list": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group(config)entitlement-pool-list" + }, + "type": "object" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group(config)license-key-group-list": { + "properties": { + "ASDC-API:license-key-group": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/license-key-group-list(config)license-key-group" + }, + "type": "array" + }, + "ASDC-API:name": { + "$ref": "#/definitions/Some name", + "description": "xxxx" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group(config)license-key-group-list-TOP": { + "properties": { + "ASDC-API:license-key-group-list": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group(config)license-key-group-list" + }, + "type": "object" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list(config)entitlement-pool": { + "properties": { + "ASDC-API:aggregation-function": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)aggregation-function" + }, + "type": "object" + }, + "ASDC-API:description": { + "$ref": "#/definitions/Some description", + "description": "xxxx" + }, + "ASDC-API:entitlement-metric": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)entitlement-metric" + }, + "type": "object" + }, + "ASDC-API:entitlement-pool-uuid": { + "$ref": "#/definitions/Some entitlement-pool-uuid", + "description": "xxxx" + }, + "ASDC-API:increments": { + "$ref": "#/definitions/Some increments", + "description": "xxxx" + }, + "ASDC-API:manufacturer-reference-number": { + "$ref": "#/definitions/Some manufacturer-reference-number", + "description": "xxxx" + }, + "ASDC-API:name": { + "$ref": "#/definitions/Some name", + "description": "xxxx" + }, + "ASDC-API:operational-scope": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)operational-scope" + }, + "type": "object" + }, + "ASDC-API:threshold-value": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)threshold-value" + }, + "type": "object" + }, + "ASDC-API:time": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)time" + }, + "type": "object" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list(config)entitlement-pool-TOP": { + "properties": { + "ASDC-API:entitlement-pool": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list(config)entitlement-pool" + }, + "type": "array" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)aggregation-function": { + "properties": { + "ASDC-API:other": { + "$ref": "#/definitions/Some other", + "description": "xxxx" + }, + "ASDC-API:value": { + "$ref": "#/definitions/Peak", + "description": "xxxx", + "enum": [ + "Peak", + "Average", + "Other" + ] + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)aggregation-function-TOP": { + "properties": { + "ASDC-API:aggregation-function": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)aggregation-function" + }, + "type": "object" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)entitlement-metric": { + "properties": { + "ASDC-API:other": { + "$ref": "#/definitions/Some other", + "description": "xxxx" + }, + "ASDC-API:value": { + "$ref": "#/definitions/Software_Instances_Count", + "description": "xxxx", + "enum": [ + "Software_Instances_Count", + "CPU", + "Core", + "Trunks", + "User", + "Subscribers", + "Tenants", + "Tokens", + "Seats", + "Units_TB", + "Units_GB", + "Units_MB", + "Other" + ] + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)entitlement-metric-TOP": { + "properties": { + "ASDC-API:entitlement-metric": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)entitlement-metric" + }, + "type": "object" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)operational-scope": { + "properties": { + "ASDC-API:other": { + "$ref": "#/definitions/Some other", + "description": "xxxx" + }, + "ASDC-API:value": { + "$ref": "#/definitions/Network_Wide", + "description": "xxxx", + "enum": [ + "Network_Wide", + "Availability_Zone", + "Data_Center", + "Tenant", + "VM", + "CPU", + "Core", + "Other" + ] + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)operational-scope-TOP": { + "properties": { + "ASDC-API:operational-scope": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)operational-scope" + }, + "type": "object" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)threshold-value": { + "properties": { + "ASDC-API:unit": { + "$ref": "#/definitions/Absolute", + "description": "xxxx", + "enum": [ + "Absolute", + "Percentage" + ] + }, + "ASDC-API:value": { + "$ref": "#/definitions/0", + "description": "xxxx" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)threshold-value-TOP": { + "properties": { + "ASDC-API:threshold-value": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)threshold-value" + }, + "type": "object" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)time": { + "properties": { + "ASDC-API:other": { + "$ref": "#/definitions/Some other", + "description": "xxxx" + }, + "ASDC-API:value": { + "$ref": "#/definitions/Hour", + "description": "xxxx", + "enum": [ + "Hour", + "Day", + "Month", + "Quarter", + "Year", + "Other" + ] + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)time-TOP": { + "properties": { + "ASDC-API:time": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)time" + }, + "type": "object" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/license-key-group-list(config)license-key-group": { + "properties": { + "ASDC-API:description": { + "$ref": "#/definitions/Some description", + "description": "xxxx" + }, + "ASDC-API:license-key-group-uuid": { + "$ref": "#/definitions/Some license-key-group-uuid", + "description": "xxxx" + }, + "ASDC-API:name": { + "$ref": "#/definitions/Some name", + "description": "xxxx" + }, + "ASDC-API:operational-scope": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/license-key-group-list/license-key-group(config)operational-scope" + }, + "type": "object" + }, + "ASDC-API:type": { + "$ref": "#/definitions/Universal", + "description": "xxxx", + "enum": [ + "Universal", + "Unique", + "One_Time" + ] + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/license-key-group-list(config)license-key-group-TOP": { + "properties": { + "ASDC-API:license-key-group": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/license-key-group-list(config)license-key-group" + }, + "type": "array" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/license-key-group-list/license-key-group(config)operational-scope": { + "properties": { + "ASDC-API:other": { + "$ref": "#/definitions/Some other", + "description": "xxxx" + }, + "ASDC-API:value": { + "$ref": "#/definitions/Network_Wide", + "description": "xxxx", + "enum": [ + "Network_Wide", + "Availability_Zone", + "Data_Center", + "Tenant", + "VM", + "CPU", + "Core", + "Other" + ] + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/license-key-group-list/license-key-group(config)operational-scope-TOP": { + "properties": { + "ASDC-API:operational-scope": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/license-key-group-list/license-key-group(config)operational-scope" + }, + "type": "object" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model/feature-group-list(config)feature-group": { + "properties": { + "ASDC-API:att-part-number": { + "$ref": "#/definitions/Some att-part-number", + "description": "xxxx" + }, + "ASDC-API:description": { + "$ref": "#/definitions/Some description", + "description": "xxxx" + }, + "ASDC-API:entitlement-pool-list": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model/feature-group-list/feature-group(config)entitlement-pool-list" + }, + "type": "object" + }, + "ASDC-API:feature-group-uuid": { + "$ref": "#/definitions/Some feature-group-uuid", + "description": "xxxx" + }, + "ASDC-API:license-key-group-list": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model/feature-group-list/feature-group(config)license-key-group-list" + }, + "type": "object" + }, + "ASDC-API:name": { + "$ref": "#/definitions/Some name", + "description": "xxxx" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model/feature-group-list(config)feature-group-TOP": { + "properties": { + "ASDC-API:feature-group": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model/feature-group-list(config)feature-group" + }, + "type": "array" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model/feature-group-list/feature-group(config)entitlement-pool-list": { + "properties": { + "ASDC-API:entitlement-pool": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list(config)entitlement-pool" + }, + "type": "array" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model/feature-group-list/feature-group(config)entitlement-pool-list-TOP": { + "properties": { + "ASDC-API:entitlement-pool-list": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model/feature-group-list/feature-group(config)entitlement-pool-list" + }, + "type": "object" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model/feature-group-list/feature-group(config)license-key-group-list": { + "properties": { + "ASDC-API:license-key-group": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model/feature-group-list/feature-group/license-key-group-list(config)license-key-group" + }, + "type": "array" + }, + "ASDC-API:name": { + "$ref": "#/definitions/Some name", + "description": "xxxx" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model/feature-group-list/feature-group(config)license-key-group-list-TOP": { + "properties": { + "ASDC-API:license-key-group-list": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model/feature-group-list/feature-group(config)license-key-group-list" + }, + "type": "object" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list(config)entitlement-pool": { + "properties": { + "ASDC-API:aggregation-function": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)aggregation-function" + }, + "type": "object" + }, + "ASDC-API:description": { + "$ref": "#/definitions/Some description", + "description": "xxxx" + }, + "ASDC-API:entitlement-metric": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)entitlement-metric" + }, + "type": "object" + }, + "ASDC-API:entitlement-pool-uuid": { + "$ref": "#/definitions/Some entitlement-pool-uuid", + "description": "xxxx" + }, + "ASDC-API:increments": { + "$ref": "#/definitions/Some increments", + "description": "xxxx" + }, + "ASDC-API:manufacturer-reference-number": { + "$ref": "#/definitions/Some manufacturer-reference-number", + "description": "xxxx" + }, + "ASDC-API:name": { + "$ref": "#/definitions/Some name", + "description": "xxxx" + }, + "ASDC-API:operational-scope": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)operational-scope" + }, + "type": "object" + }, + "ASDC-API:threshold-value": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)threshold-value" + }, + "type": "object" + }, + "ASDC-API:time": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)time" + }, + "type": "object" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list(config)entitlement-pool-TOP": { + "properties": { + "ASDC-API:entitlement-pool": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list(config)entitlement-pool" + }, + "type": "array" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)aggregation-function": { + "properties": { + "ASDC-API:other": { + "$ref": "#/definitions/Some other", + "description": "xxxx" + }, + "ASDC-API:value": { + "$ref": "#/definitions/Peak", + "description": "xxxx", + "enum": [ + "Peak", + "Average", + "Other" + ] + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)aggregation-function-TOP": { + "properties": { + "ASDC-API:aggregation-function": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)aggregation-function" + }, + "type": "object" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)entitlement-metric": { + "properties": { + "ASDC-API:other": { + "$ref": "#/definitions/Some other", + "description": "xxxx" + }, + "ASDC-API:value": { + "$ref": "#/definitions/Software_Instances_Count", + "description": "xxxx", + "enum": [ + "Software_Instances_Count", + "CPU", + "Core", + "Trunks", + "User", + "Subscribers", + "Tenants", + "Tokens", + "Seats", + "Units_TB", + "Units_GB", + "Units_MB", + "Other" + ] + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)entitlement-metric-TOP": { + "properties": { + "ASDC-API:entitlement-metric": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)entitlement-metric" + }, + "type": "object" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)operational-scope": { + "properties": { + "ASDC-API:other": { + "$ref": "#/definitions/Some other", + "description": "xxxx" + }, + "ASDC-API:value": { + "$ref": "#/definitions/Network_Wide", + "description": "xxxx", + "enum": [ + "Network_Wide", + "Availability_Zone", + "Data_Center", + "Tenant", + "VM", + "CPU", + "Core", + "Other" + ] + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)operational-scope-TOP": { + "properties": { + "ASDC-API:operational-scope": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)operational-scope" + }, + "type": "object" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)threshold-value": { + "properties": { + "ASDC-API:unit": { + "$ref": "#/definitions/Absolute", + "description": "xxxx", + "enum": [ + "Absolute", + "Percentage" + ] + }, + "ASDC-API:value": { + "$ref": "#/definitions/0", + "description": "xxxx" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)threshold-value-TOP": { + "properties": { + "ASDC-API:threshold-value": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)threshold-value" + }, + "type": "object" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)time": { + "properties": { + "ASDC-API:other": { + "$ref": "#/definitions/Some other", + "description": "xxxx" + }, + "ASDC-API:value": { + "$ref": "#/definitions/Hour", + "description": "xxxx", + "enum": [ + "Hour", + "Day", + "Month", + "Quarter", + "Year", + "Other" + ] + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)time-TOP": { + "properties": { + "ASDC-API:time": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)time" + }, + "type": "object" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model/feature-group-list/feature-group/license-key-group-list(config)license-key-group": { + "properties": { + "ASDC-API:description": { + "$ref": "#/definitions/Some description", + "description": "xxxx" + }, + "ASDC-API:license-key-group-uuid": { + "$ref": "#/definitions/Some license-key-group-uuid", + "description": "xxxx" + }, + "ASDC-API:name": { + "$ref": "#/definitions/Some name", + "description": "xxxx" + }, + "ASDC-API:operational-scope": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model/feature-group-list/feature-group/license-key-group-list/license-key-group(config)operational-scope" + }, + "type": "object" + }, + "ASDC-API:type": { + "$ref": "#/definitions/Universal", + "description": "xxxx", + "enum": [ + "Universal", + "Unique", + "One_Time" + ] + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model/feature-group-list/feature-group/license-key-group-list(config)license-key-group-TOP": { + "properties": { + "ASDC-API:license-key-group": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model/feature-group-list/feature-group/license-key-group-list(config)license-key-group" + }, + "type": "array" + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model/feature-group-list/feature-group/license-key-group-list/license-key-group(config)operational-scope": { + "properties": { + "ASDC-API:other": { + "$ref": "#/definitions/Some other", + "description": "xxxx" + }, + "ASDC-API:value": { + "$ref": "#/definitions/Network_Wide", + "description": "xxxx", + "enum": [ + "Network_Wide", + "Availability_Zone", + "Data_Center", + "Tenant", + "VM", + "CPU", + "Core", + "Other" + ] + } + }, + "type": "object" + }, + "ASDC-API/vf-license-model/feature-group-list/feature-group/license-key-group-list/license-key-group(config)operational-scope-TOP": { + "properties": { + "ASDC-API:operational-scope": { + "description": "xxxx", + "items": { + "$ref": "#/definitions/ASDC-API/vf-license-model/feature-group-list/feature-group/license-key-group-list/license-key-group(config)operational-scope" + }, + "type": "object" + } + }, + "type": "object" + }, + "unique_empty_identifier": {} + } +} diff --git a/dataChange/model/pom.xml b/dataChange/model/pom.xml index 20dddeb97..5f7101cdc 100755 --- a/dataChange/model/pom.xml +++ b/dataChange/model/pom.xml @@ -1,82 +1,93 @@ - - 4.0.0 - - dataChange - org.onap.ccsdk.sli.northbound - 0.1.0-SNAPSHOT - - org.onap.ccsdk.sli.northbound - dataChange-model - 0.1.0-SNAPSHOT - bundle + + 4.0.0 + + dataChange + org.onap.ccsdk.sli.northbound + 0.1.0-SNAPSHOT + + org.onap.ccsdk.sli.northbound + dataChange-model + 0.1.0-SNAPSHOT + bundle - - - - org.apache.felix - maven-bundle-plugin - true - - - * - - - - - org.opendaylight.yangtools - yang-maven-plugin - ${odl.yangtools.yang.maven.plugin.version} - - - org.opendaylight.mdsal - maven-sal-api-gen-plugin - ${odl.sal.api.gen.plugin.version} - jar - - - - - - generate-sources - - - ${yang.file.directory} - - - org.opendaylight.mdsal.binding.maven.api.gen.plugin.CodeGeneratorImpl - ${salGeneratorPath} - - - true - - - - - - + + + + org.apache.felix + maven-bundle-plugin + true + + + * + + + + + org.opendaylight.yangtools + yang-maven-plugin + ${odl.yangtools.yang.maven.plugin.version} + + + org.opendaylight.mdsal + maven-sal-api-gen-plugin + ${odl.sal.api.gen.plugin.version} + jar + + + org.opendaylight.netconf + sal-rest-docgen-maven + ${odl.restconf.version} + jar + + + + + + generate-sources + + + ${yang.file.directory} + + + org.opendaylight.mdsal.binding.maven.api.gen.plugin.CodeGeneratorImpl + ${salGeneratorPath} + + + org.opendaylight.netconf.sal.rest.doc.maven.StaticDocGenerator + target/swagger + + + true + + + + + + - - - org.opendaylight.mdsal - yang-binding - ${odl.mdsal.yang.binding.version} - - - org.opendaylight.yangtools - yang-common - ${odl.yangtools.version} - - - org.opendaylight.mdsal.model - ietf-inet-types - ${odl.ietf-inet-types.version} - - - org.opendaylight.mdsal.model - ietf-yang-types - ${odl.ietf-yang-types.version} - - + + + org.opendaylight.mdsal + yang-binding + ${odl.mdsal.yang.binding.version} + + + org.opendaylight.yangtools + yang-common + ${odl.yangtools.version} + + + org.opendaylight.mdsal.model + ietf-inet-types + ${odl.ietf-inet-types.version} + + + org.opendaylight.mdsal.model + ietf-yang-types + ${odl.ietf-yang-types.version} + + diff --git a/dataChange/model/src/main/resources/dataChange.20150519.json b/dataChange/model/src/main/resources/dataChange.20150519.json new file mode 100644 index 000000000..128195b52 --- /dev/null +++ b/dataChange/model/src/main/resources/dataChange.20150519.json @@ -0,0 +1,136 @@ +{ + "swagger": "2.0", + "info": { + "version": "1.0.0" + }, + "basePath": "/restconf", + "paths": { + "/operations/DataChange:data-change-notification": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(data-change-notification)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(data-change-notification)output-TOP" + } + } + }, + "operationId": "data-change-notification" + } + } + }, + "definitions": { + "(config)DataChange_modulePOST": { + "type": "object" + }, + "(config)key-dataPOST": { + "properties": { + "key-name": { + "$ref": "#/definitions/Some key-name" + }, + "key-value": { + "$ref": "#/definitions/Some key-value" + } + }, + "type": "object" + }, + "(data-change-notification)input": { + "properties": { + "DataChange:aai-event-id": { + "$ref": "#/definitions/Some aai-event-id" + }, + "DataChange:aai-event-trigger": { + "$ref": "#/definitions/Update", + "enum": [ + "Update", + "Delete" + ] + }, + "DataChange:aai-node-type": { + "$ref": "#/definitions/Some aai-node-type" + }, + "DataChange:key-data": { + "items": { + "$ref": "#/definitions/DataChange(config)key-data" + }, + "type": "array" + }, + "DataChange:selflink": { + "$ref": "#/definitions/Some selflink" + } + }, + "type": "object" + }, + "(data-change-notification)input-TOP": { + "properties": { + "DataChange:input": { + "items": { + "$ref": "#/definitions/(data-change-notification)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(data-change-notification)output": { + "properties": { + "DataChange:data-change-response-code": { + "$ref": "#/definitions/Some data-change-response-code" + } + }, + "type": "object" + }, + "(data-change-notification)output-TOP": { + "properties": { + "DataChange:output": { + "items": { + "$ref": "#/definitions/(data-change-notification)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "DataChange(config)key-data": { + "properties": { + "DataChange:key-name": { + "$ref": "#/definitions/Some key-name" + }, + "DataChange:key-value": { + "$ref": "#/definitions/Some key-value" + } + }, + "type": "object" + }, + "DataChange(config)key-data-TOP": { + "properties": { + "DataChange:key-data": { + "items": { + "$ref": "#/definitions/DataChange(config)key-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "unique_empty_identifier": {} + } +} diff --git a/docs/apis/asdcApi.rst b/docs/apis/asdcApi.rst new file mode 100644 index 000000000..c9091401d --- /dev/null +++ b/docs/apis/asdcApi.rst @@ -0,0 +1,15 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +ASDC-API (2017-02-01) +===================== + +.. toctree:: + :maxdepth: 1 + :titlesonly: + + + +.. swaggerv2doc:: https://gerrit.onap.org/r/gitweb?p=ccsdk/sli/northbound.git;a=blob_plain;f=asdcApi/model/src/main/resources/asdc-api.20170201.json + + diff --git a/docs/apis/dataChange.rst b/docs/apis/dataChange.rst new file mode 100644 index 000000000..9a9dc0444 --- /dev/null +++ b/docs/apis/dataChange.rst @@ -0,0 +1,15 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +dataChange(2015-05-19) +====================== + +.. toctree:: + :maxdepth: 1 + :titlesonly: + + + +.. swaggerv2doc:: https://gerrit.onap.org/r/gitweb?p=ccsdk/sli/northbound.git;a=blob_plain;f=dataChange/model/src/main/resources/dataChange.20150519.json + + diff --git a/docs/architecture.rst b/docs/architecture.rst new file mode 100644 index 000000000..f2648df37 --- /dev/null +++ b/docs/architecture.rst @@ -0,0 +1,12 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +Architecture +============ + + +Capabilities +------------ +This repository contains source code and Yang models for the northbound interfaces +used to process updates from SDC (ASDC-API) and for processing data change notifications +from A&AI (dataChange). diff --git a/docs/build.rst b/docs/build.rst new file mode 100644 index 000000000..0a4c308e6 --- /dev/null +++ b/docs/build.rst @@ -0,0 +1,18 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +Build +===== + + +Environment +----------- +Requires maven release 3.3 or greater + +Steps +----- +To compile this code: + +1. Make sure your local Maven settings file ($HOME/.m2/settings.xml) contains references to the ONAP repositories and OpenDaylight repositories. + +2. To compile, run "mvn clean install". \ No newline at end of file diff --git a/docs/index.rst b/docs/index.rst index 833e1aa96..9be06c84e 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,8 +1,13 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. -TODO Add files to toctree and delete this header ------------------------------------------------- +CCSDK SLI Northbound API +------------------------ .. toctree:: :maxdepth: 1 + architecture.rst + offeredapis.rst + logging.rst + build.rst + release-notes.rst diff --git a/docs/logging.rst b/docs/logging.rst new file mode 100644 index 000000000..187eb03b7 --- /dev/null +++ b/docs/logging.rst @@ -0,0 +1,14 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +Logging +======= +CCSDK uses slf4j to log messages to the standard OpenDaylight karaf.log +log file. + +Where to Access Information +--------------------------- +Logs are found within the SDNC docker container, in the directory +/opt/opendaylight/current/data/logs. + + diff --git a/docs/nodes.rst b/docs/nodes.rst new file mode 100644 index 000000000..3bdeabcfa --- /dev/null +++ b/docs/nodes.rst @@ -0,0 +1,1031 @@ +--- Service Logic Interpreter --- Dan Timoney --- 2014-11-12 --- + +Supported node types +==================== + +The following built-in node types are currently supported: + +- Flow Control + + - `**block** <#Block_node>`__ + + - `**call** <#Call_node>`__ + + - `**for** <#For_node>`__ + + - `**return** <#Return_node>`__ + + - `**set** <#Set_node>`__ + + - `**switch** <#Switch_node>`__ + +- Device Management + + - `**configure** <#Configure_node>`__ + +- Java Plugin Support + + - `**execute** <#Execute_node>`__ + +- Recording + + - `**record** <#Record_node>`__ + +- Resource Management + + - `**delete** <#Delete_node>`__ + + - `**exists** <#Exists_node>`__ + + - `**get-resource** <#Get-resource_node>`__ + + - `**is-available** <#Is-available_node>`__ + + - `**notify** <#Notify_node>`__ + + - `**release** <#Release_node>`__ + + - `**reserve** <#Reserve_node>`__ + + - `**save** <#Save_node>`__ + + - `**update** <#Update_node>`__ + +Flow Control +------------ + +Block node +~~~~~~~~~~ + +Description +^^^^^^^^^^^ + +A **block** node is used to executes a set of nodes. + +Attributes +^^^^^^^^^^ + ++--------------+-----------------------------------------------------------------------------------------------------------------------------------+ +| **atomic** | if *true*, then if a node returns failure, subsequent nodes will not be executed and nodes already executed will be backed out. | ++--------------+-----------------------------------------------------------------------------------------------------------------------------------+ + +Parameters +^^^^^^^^^^ + +None + +Outcomes +^^^^^^^^ + +None + +Example +^^^^^^^ + +:: + + + + + + + + + + + + + +Call node +~~~~~~~~~ + +Description +^^^^^^^^^^^ + +A **call** node is used to call another graph + +Attributes +^^^^^^^^^^ + ++---------------+------------------------------------------------------------------------------------+ +| **module** | Module of directed graph to call. If unset, defaults to that of calling graph | ++---------------+------------------------------------------------------------------------------------+ +| **rpc** | rpc of directed graph to call. | ++---------------+------------------------------------------------------------------------------------+ +| **version** | version of graph to call, If unset, uses active version. | ++---------------+------------------------------------------------------------------------------------+ +| **mode** | mode (sync/async) of graph to call. If unset, defaults to that of calling graph. | ++---------------+------------------------------------------------------------------------------------+ + +Parameters +^^^^^^^^^^ + +Not applicable + +Outcomes +^^^^^^^^ + ++-----------------+------------------------------+ +| **success** | Sub graph returned success | ++-----------------+------------------------------+ +| **not-found** | Graph not found | ++-----------------+------------------------------+ +| **failure** | Subgraph returned success | ++-----------------+------------------------------+ + +Table: . + +Example +^^^^^^^ + +:: + + + +For node +~~~~~~~~ + +Description +^^^^^^^^^^^ + +A **for** node provides a fixed iteration looping mechanism, similar to +the Java for loop + +Attributes +^^^^^^^^^^ + ++-------------+------------------+ +| **index** | index variable | ++-------------+------------------+ +| **start** | initial value | ++-------------+------------------+ +| **end** | maximum value | ++-------------+------------------+ + +Parameters +^^^^^^^^^^ + +Not applicable. + +Outcomes +^^^^^^^^ + +Not applicable. The **status** node has no outcomes. + +Example +^^^^^^^ + +:: + + + + + + + + + +Return node +~~~~~~~~~~~ + +Description +^^^^^^^^^^^ + +A **return** node is used to return a status to the invoking MD-SAL +application + +Attributes +^^^^^^^^^^ + ++--------------+---------------------------------------------------+ +| **status** | Status value to return (*success* or *failure*) | ++--------------+---------------------------------------------------+ + +Parameters +^^^^^^^^^^ + +The following optional parameters may be passed to convey more detailed +status information. + ++---------------------+-----------------------------------------------------------------+ +| **error-code** | A brief, usually numeric, code indicating the error condition | ++---------------------+-----------------------------------------------------------------+ +| **error-message** | A more detailed error message | ++---------------------+-----------------------------------------------------------------+ + +Outcomes +^^^^^^^^ + +Not applicable. The **status** node has no outcomes. + +Example +^^^^^^^ + +:: + + + + + + +Set node +~~~~~~~~ + +Description +^^^^^^^^^^^ + +A **set** node is used to set one or more values in the execution +context + +Attributes +^^^^^^^^^^ + ++---------------------+-------------------------------------------------------------------------------------+ +| **only-if-unset** | If true the set node will only execute if the current value of the target is null | ++---------------------+-------------------------------------------------------------------------------------+ + +Parameters +^^^^^^^^^^ + +Values to be set are passed as parameters + +Outcomes +^^^^^^^^ + +Not applicable. The **set** node has no outcomes. + +Example +^^^^^^^ + +:: + + + + + +Switch node +~~~~~~~~~~~ + +Description +^^^^^^^^^^^ + +A **switch** node is used to make a decision based on its **test** +attribute. + +Attributes +^^^^^^^^^^ + ++------------+---------------------+ +| **test** | Condition to test | ++------------+---------------------+ + +Parameters +^^^^^^^^^^ + +None + +Outcomes +^^^^^^^^ + +Depends on the **test** condition + +Example +^^^^^^^ + +:: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Device Management +----------------- + +Configure node +~~~~~~~~~~~~~~ + +Description +^^^^^^^^^^^ + +A **configure** node is used to configure a device. + +Attributes +^^^^^^^^^^ + ++----------------+-----------------------------------------------------------------------------------+ +| **adaptor** | Fully qualified Java class of resource adaptor to be used | ++----------------+-----------------------------------------------------------------------------------+ +| **activate** | Activate device/interface, for devices that support a separate activation step. | ++----------------+-----------------------------------------------------------------------------------+ +| **key** | SQL-like string specifying criteria for item to configure | ++----------------+-----------------------------------------------------------------------------------+ + +Parameters +^^^^^^^^^^ + +Specific to device adaptor. + +Outcomes +^^^^^^^^ + ++----------------------+------------------------------------------------------------------+ +| **success** | Device successfully configured | ++----------------------+------------------------------------------------------------------+ +| **not-found** | Element to be configured does not exist. | ++----------------------+------------------------------------------------------------------+ +| **not-ready** | Element is not in a state where it can be configured/activated | ++----------------------+------------------------------------------------------------------+ +| **already-active** | Attempt to activate element that is already active | ++----------------------+------------------------------------------------------------------+ +| **failure** | Configure failed for some other reason | ++----------------------+------------------------------------------------------------------+ + +Example +^^^^^^^ + +:: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Java Plugin Support +------------------- + +Execute node +~~~~~~~~~~~~ + +Description +^^^^^^^^^^^ + +An **execute** node is used to execute Java code supplied as a plugin + +Attributes +^^^^^^^^^^ + ++--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **plugin** | Fully qualified Java class of plugin to be used | ++--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **method** | Name of method in the plugin class to execute. Method must return void, and take 2 arguments: a Map (for parameters) and a SvcLogicContext (to allow plugin read/write access to context memory) | ++--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +Parameters +^^^^^^^^^^ + +Specific to plugin / method + +Outcomes +^^^^^^^^ + ++--------------------------+-----------------------------------------------------------------+ +| **success** | Device successfully configured | ++--------------------------+-----------------------------------------------------------------+ +| **not-found** | Plugin class could not be loaded | ++--------------------------+-----------------------------------------------------------------+ +| **unsupported-method** | Named method taking (Map, SvcLogicContext) could not be found | ++--------------------------+-----------------------------------------------------------------+ +| **failure** | Configure failed for some other reason | ++--------------------------+-----------------------------------------------------------------+ + +Example +^^^^^^^ + +:: + + + + + + + + + + + + + + + + + + + + +Recording +--------- + +Record node +~~~~~~~~~~~ + +Description +^^^^^^^^^^^ + +A **record** node is used to record an event. For example, this might be +used to log provisioning events. + +Attributes +^^^^^^^^^^ + ++--------------+---------------------------------------------------+ +| **plugin** | Fully qualified Java class to handle recording. | ++--------------+---------------------------------------------------+ + +Parameters +^^^^^^^^^^ + +Parameters will depend on the plugin being used. For the FileRecorder +class, the parameters are as follows + ++--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **file** | The file to which the record should be written | ++--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **field1** | First field to write. There will be **field** parameters for each field to write, from **field1** through **fieldN**. A special value \_\_TIMESTAMP\_\_ may be assigned to a field to insert the current timestamp | ++--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +Outcomes +^^^^^^^^ + ++---------------+--------------------------------------------+ +| **success** | Record successfully written | ++---------------+--------------------------------------------+ +| **failure** | Record could not be successfully written | ++---------------+--------------------------------------------+ + +Example +^^^^^^^ + +:: + + + + + + + + +Resource Management +------------------- + +Delete node +~~~~~~~~~~~ + +Description +^^^^^^^^^^^ + +A **delete** node is used to delete a resource from the local resource +inventory. + +Attributes +^^^^^^^^^^ + ++----------------+-------------------------------------------------------------+ +| **plugin** | Fully qualified Java class of resource adaptor to be used | ++----------------+-------------------------------------------------------------+ +| **resource** | Type of resource to delete | ++----------------+-------------------------------------------------------------+ +| **key** | SQL-like string specifying key to delete | ++----------------+-------------------------------------------------------------+ + +Parameters +^^^^^^^^^^ + +None + +Outcomes +^^^^^^^^ + ++---------------+--------------------------------------------+ +| **success** | Resource specified deleted successfully. | ++---------------+--------------------------------------------+ +| *failure*> | Resource specified was not deleted | ++---------------+--------------------------------------------+ + +Example +^^^^^^^ + +:: + + + + + + + + + + +Exists node +~~~~~~~~~~~ + +Description +^^^^^^^^^^^ + +An **exists** node is used to determine whether a particular instance of +a resource exists. For example, this might be used to test whether a +particular switch CLLI is provisioned. + +Attributes +^^^^^^^^^^ + ++----------------+-------------------------------------------------------------+ +| **plugin** | Fully qualified Java class of resource adaptor to be used | ++----------------+-------------------------------------------------------------+ +| **resource** | Type of resource to check | ++----------------+-------------------------------------------------------------+ +| **key** | SQL-like string specifying key to check for | ++----------------+-------------------------------------------------------------+ + +Parameters +^^^^^^^^^^ + +None + +Outcomes +^^^^^^^^ + ++-------------+---------------------------------+ +| **true** | Resource specified exists. | ++-------------+---------------------------------+ +| **false** | Resource specified is unknown | ++-------------+---------------------------------+ + +Example +^^^^^^^ + +:: + + + + + + + + + + +Get-resource node +~~~~~~~~~~~~~~~~~ + +Description +^^^^^^^^^^^ + +A **get-resource** node is used to retrieve information about a +particular resource and make it available to other nodes in the service +logic tree. For example, this might be used to retrieve information +about a particular uni-port. + +Attributes +^^^^^^^^^^ + ++----------------+------------------------------------------------------------------------------------------+ +| **plugin** | Fully qualified Java class of resource adaptor to be used | ++----------------+------------------------------------------------------------------------------------------+ +| **resource** | Type of resource to retrieve | ++----------------+------------------------------------------------------------------------------------------+ +| **key** | SQL-like string specifying criteria for retrieval | ++----------------+------------------------------------------------------------------------------------------+ +| **pfx** | Prefix to add to context variable names set for data retrieved | ++----------------+------------------------------------------------------------------------------------------+ +| **select** | String to specify, if key matches multiple entries, which entry should take precedence | ++----------------+------------------------------------------------------------------------------------------+ +| **order-by** | Prefix to add to context variable names set for data retrieved | ++----------------+------------------------------------------------------------------------------------------+ + +Parameters +^^^^^^^^^^ + +None + +Outcomes +^^^^^^^^ + ++-----------------+--------------------------------------------------+ +| **success** | Resource successfully retrieved | ++-----------------+--------------------------------------------------+ +| **not-found** | Resource referenced does not exist | ++-----------------+--------------------------------------------------+ +| **failure** | Resource retrieve failed for some other reason | ++-----------------+--------------------------------------------------+ + +Example +^^^^^^^ + +:: + + + + + + + + + + + + + +Is-available node +~~~~~~~~~~~~~~~~~ + +Description +^^^^^^^^^^^ + +An **is-available** node is used to determine whether a particular type +of resource is available. For example, this might be used to test +whether any ports are available for assignment on a particular switch. + +Attributes +^^^^^^^^^^ + ++----------------+------------------------------------------------------------------+ +| **plugin** | Fully qualified Java class of resource adaptor to be used | ++----------------+------------------------------------------------------------------+ +| **resource** | Type of resource to check | ++----------------+------------------------------------------------------------------+ +| **key** | SQL-like string specifying key to check for | ++----------------+------------------------------------------------------------------+ +| **pfx** | Prefix to add to context variable names set for data retrieved | ++----------------+------------------------------------------------------------------+ + +Parameters +^^^^^^^^^^ + +None + +Outcomes +^^^^^^^^ + ++-------------+---------------------------------------+ +| **true** | Resource requested is available | ++-------------+---------------------------------------+ +| **false** | Resource requested is not available | ++-------------+---------------------------------------+ + +Example +^^^^^^^ + +:: + + + + + + + + + + +Notify node +~~~~~~~~~~~ + +Description +^^^^^^^^^^^ + +A **notify** node is used to inform an external application (e.g. A&AI) +that a resource was updated. + +Attributes +^^^^^^^^^^ + ++----------------+---------------------------------------------------------------------+ +| **plugin** | Fully qualified Java class of resource adaptor to be used | ++----------------+---------------------------------------------------------------------+ +| **resource** | Identifies resource that was updated | ++----------------+---------------------------------------------------------------------+ +| **action** | Action that triggered notification to be sent (ADD/UPDATE/DELETE) | ++----------------+---------------------------------------------------------------------+ + +Parameters +^^^^^^^^^^ + +None + +Outcomes +^^^^^^^^ + ++---------------+----------------------------------------+ +| **success** | Notification was successful | ++---------------+----------------------------------------+ +| **failure** | Notification failed is not available | ++---------------+----------------------------------------+ + +Example +^^^^^^^ + +:: + + + + + + + + + + +Release node +~~~~~~~~~~~~ + +Description +^^^^^^^^^^^ + +A **release** node is used to mark a resource as no longer in use, and +thus available for assignment. + +Attributes +^^^^^^^^^^ + ++----------------+------------------------------------------------------------------+ +| **plugin** | Fully qualified Java class of resource adaptor to be used | ++----------------+------------------------------------------------------------------+ +| **resource** | Type of resource to release | ++----------------+------------------------------------------------------------------+ +| **key** | SQL-like string specifying key to check of resource to release | ++----------------+------------------------------------------------------------------+ + +Parameters +^^^^^^^^^^ + +None + +Outcomes +^^^^^^^^ + ++-----------------+-------------------------------------------------+ +| **success** | Resource successfully released | ++-----------------+-------------------------------------------------+ +| **not-found** | Resource referenced does not exist | ++-----------------+-------------------------------------------------+ +| **failure** | Resource release failed for some other reason | ++-----------------+-------------------------------------------------+ + +Example +^^^^^^^ + +:: + + + + + + + + + + + + + +Reserve node +~~~~~~~~~~~~ + +Description +^^^^^^^^^^^ + +A **reserve** node is used to reserve a particular type of resource.. +For example, this might be used to reserve a port on a particular +switch. + +Attributes +^^^^^^^^^^ + ++----------------+----------------------------------------------------------------------------------------------+ +| **plugin** | Fully qualified Java class of resource adaptor to be used | ++----------------+----------------------------------------------------------------------------------------------+ +| **resource** | Type of resource to reserve | ++----------------+----------------------------------------------------------------------------------------------+ +| **key** | SQL-like string specifying criteria for reservation | ++----------------+----------------------------------------------------------------------------------------------+ +| **select** | String to specify, if **key** matches multiple entries, which entry should take precedence | ++----------------+----------------------------------------------------------------------------------------------+ + +Parameters +^^^^^^^^^^ + +None + +Outcomes +^^^^^^^^ + ++---------------+----------------------------------------------------+ +| **success** | Resource requested was successfully reserved | ++---------------+----------------------------------------------------+ +| **failure** | Resource requested was not successfully reserved | ++---------------+----------------------------------------------------+ + +Example +^^^^^^^ + +:: + + + + + + + + + + +Save node +~~~~~~~~~ + +Description +^^^^^^^^^^^ + +A **save** node is used to save information about a particular resource +to persistent storage. For example, this might be used to save +information about a particular uni-port. + +Attributes +^^^^^^^^^^ + ++----------------+------------------------------------------------------------------------------------------+ +| **plugin** | Fully qualified Java class of resource adaptor to be used | ++----------------+------------------------------------------------------------------------------------------+ +| **resource** | Type of resource to save | ++----------------+------------------------------------------------------------------------------------------+ +| **key** | SQL-like string specifying criteria for retrieval | ++----------------+------------------------------------------------------------------------------------------+ +| **force** | If "true", save resource even if this resource is already stored in persistent storage | ++----------------+------------------------------------------------------------------------------------------+ +| **pfx** | Prefix to be prepended to variable names, when attributes are set in SvcLogicContext | ++----------------+------------------------------------------------------------------------------------------+ + +Parameters +^^^^^^^^^^ + +Values to save (columns) are specified as parameters, with each name +corresponding to a column name and each value corresponding to the value +to set. + +Outcomes +^^^^^^^^ + ++---------------+-------------------------------+ +| **success** | Resource successfully saved | ++---------------+-------------------------------+ +| **failure** | Resource save failed | ++---------------+-------------------------------+ + +Example +^^^^^^^ + +:: + + + + + + + + + + +Update node +~~~~~~~~~~~ + +Description +^^^^^^^^^^^ + +An **update** node is used to update information about a particular +resource to persistent storage. + +Attributes +^^^^^^^^^^ + ++----------------+----------------------------------------------------------------------------------------+ +| **plugin** | Fully qualified Java class of resource adaptor to be used | ++----------------+----------------------------------------------------------------------------------------+ +| **resource** | Type of resource to update | ++----------------+----------------------------------------------------------------------------------------+ +| **key** | SQL-like string specifying criteria for retrieval | ++----------------+----------------------------------------------------------------------------------------+ +| **pfx** | Prefix to be prepended to variable names, when attributes are set in SvcLogicContext | ++----------------+----------------------------------------------------------------------------------------+ + +Parameters +^^^^^^^^^^ + +Values to save (columns) are specified as parameters, with each name +corresponding to a column name and each value corresponding to the value +to set. + +Outcomes +^^^^^^^^ + ++---------------+-------------------------------+ +| **success** | Resource successfully saved | ++---------------+-------------------------------+ +| **failure** | Resource save failed | ++---------------+-------------------------------+ + +Example +^^^^^^^ + +:: + + + + + + + + + diff --git a/docs/offeredapis.rst b/docs/offeredapis.rst new file mode 100644 index 000000000..2eebdec92 --- /dev/null +++ b/docs/offeredapis.rst @@ -0,0 +1,13 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +Offered APIs +============ + +.. toctree:: + :maxdepth: 1 + :titlesonly: + + apis/asdcApi.rst + apis/dataChange.rst + diff --git a/docs/release-notes.rst b/docs/release-notes.rst new file mode 100644 index 000000000..21ff338cf --- /dev/null +++ b/docs/release-notes.rst @@ -0,0 +1,45 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. + +Release Notes +============= + +.. note:: + * This Release Notes must be updated each time the team decides to Release new artifacts. + * The scope of this Release Notes is for this particular component. In other words, each ONAP component has its Release Notes. + * This Release Notes is cumulative, the most recently Released artifact is made visible in the top of this Release Notes. + * Except the date and the version number, all the other sections are optional but there must be at least one section describing the purpose of this new release. + * This note must be removed after content has been added. + + +Version: x.y.z +-------------- + + +:Release Date: yyyy-mm-dd + + + +**New Features** + +One or two sentences explaining the purpose of this Release. + +**Bug Fixes** + - `CIMAN-65 `_ and a sentence explaining what this defect is addressing. +**Known Issues** + - `CIMAN-65 `_ and two, three sentences. + One sentences explaining what is the issue. + + Another sentence explaining the impact of the issue. + + And an optional sentence providing a workaround. + +**Security Issues** + You may want to include a reference to CVE (Common Vulnerabilities and Exposures) `CVE `_ + + +**Upgrade Notes** + +**Deprecation Notes** + +**Other** + -- cgit 1.2.3-korg From a3f39cee1edbae8c17d96a735a6e2581dd2c7908 Mon Sep 17 00:00:00 2001 From: "Timoney, Dan (dt5972)" Date: Mon, 20 Aug 2018 11:02:12 -0400 Subject: Update swagger documentation Re-generated converted swagger doc. Note: ideally, it would be good to generate this on the fly based on Yang model. However, ODL yangtools generates swagger 1.2, and readthedocs needs version 2. Currently we convert this using api-spec-converter tool and store converted version. Tried automating this conversion, which works fine in local compiles but does not work on ONAP Jenkins (tool is node.js based). Change-Id: I3843787ed7cb11f119b2c706305c478fdb223680 Issue-ID: CCSDK-476 Signed-off-by: Timoney, Dan (dt5972) --- .../src/main/resources/asdc-api.20170201.json | 401 +- .../src/main/resources/dataChange.20150519.json | 22 +- lcm/model/src/main/resources/lcm.20180329.json | 4299 ++++++++++++++++++++ 3 files changed, 4428 insertions(+), 294 deletions(-) create mode 100644 lcm/model/src/main/resources/lcm.20180329.json (limited to 'dataChange/model/src') diff --git a/asdcApi/model/src/main/resources/asdc-api.20170201.json b/asdcApi/model/src/main/resources/asdc-api.20170201.json index c82c75159..7bf27da82 100644 --- a/asdcApi/model/src/main/resources/asdc-api.20170201.json +++ b/asdcApi/model/src/main/resources/asdc-api.20170201.json @@ -1009,26 +1009,26 @@ }, { "in": "body", - "name": "**(config)time", + "name": "**(config)threshold-value", "required": false, "schema": { - "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)time-TOP" + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)threshold-value-TOP" } }, { "in": "body", - "name": "**(config)operational-scope", + "name": "**(config)time", "required": false, "schema": { - "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)operational-scope-TOP" + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)time-TOP" } }, { "in": "body", - "name": "**(config)threshold-value", + "name": "**(config)operational-scope", "required": false, "schema": { - "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)threshold-value-TOP" + "$ref": "#/definitions/ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)operational-scope-TOP" } }, { @@ -1946,17 +1946,12 @@ "(config)aggregation-functionPOST": { "properties": { "other": { - "$ref": "#/definitions/Some other", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "value": { - "$ref": "#/definitions/Peak", - "description": "xxxx", - "enum": [ - "Peak", - "Average", - "Other" - ] + "$ref": "#/definitions/Optional.empty", + "description": "xxxx" } }, "type": "object" @@ -1964,11 +1959,11 @@ "(config)artifactPOST": { "properties": { "artifact-name": { - "$ref": "#/definitions/Some artifact-name", + "$ref": "#/definitions/Optional.empty", "description": "Name of artifact" }, "artifact-version": { - "$ref": "#/definitions/Some artifact-version", + "$ref": "#/definitions/Optional.empty", "description": "Version of artifact" } }, @@ -1988,27 +1983,12 @@ "(config)entitlement-metricPOST": { "properties": { "other": { - "$ref": "#/definitions/Some other", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "value": { - "$ref": "#/definitions/Software_Instances_Count", - "description": "xxxx", - "enum": [ - "Software_Instances_Count", - "CPU", - "Core", - "Trunks", - "User", - "Subscribers", - "Tenants", - "Tokens", - "Seats", - "Units_TB", - "Units_GB", - "Units_MB", - "Other" - ] + "$ref": "#/definitions/Optional.empty", + "description": "xxxx" } }, "type": "object" @@ -2033,7 +2013,7 @@ "type": "object" }, "description": { - "$ref": "#/definitions/Some description", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "entitlement-metric": { @@ -2043,19 +2023,19 @@ "type": "object" }, "entitlement-pool-uuid": { - "$ref": "#/definitions/Some entitlement-pool-uuid", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "increments": { - "$ref": "#/definitions/Some increments", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "manufacturer-reference-number": { - "$ref": "#/definitions/Some manufacturer-reference-number", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "name": { - "$ref": "#/definitions/Some name", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "operational-scope": { @@ -2093,11 +2073,11 @@ "(config)feature-groupPOST": { "properties": { "att-part-number": { - "$ref": "#/definitions/Some att-part-number", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "description": { - "$ref": "#/definitions/Some description", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "entitlement-pool-list": { @@ -2107,7 +2087,7 @@ "type": "object" }, "feature-group-uuid": { - "$ref": "#/definitions/Some feature-group-uuid", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "license-key-group-list": { @@ -2117,7 +2097,7 @@ "type": "object" }, "name": { - "$ref": "#/definitions/Some name", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" } }, @@ -2132,7 +2112,7 @@ "type": "array" }, "name": { - "$ref": "#/definitions/Some name", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" } }, @@ -2141,15 +2121,15 @@ "(config)license-key-groupPOST": { "properties": { "description": { - "$ref": "#/definitions/Some description", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "license-key-group-uuid": { - "$ref": "#/definitions/Some license-key-group-uuid", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "name": { - "$ref": "#/definitions/Some name", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "operational-scope": { @@ -2159,13 +2139,8 @@ "type": "object" }, "type": { - "$ref": "#/definitions/Universal", - "description": "xxxx", - "enum": [ - "Universal", - "Unique", - "One_Time" - ] + "$ref": "#/definitions/Optional.empty", + "description": "xxxx" } }, "type": "object" @@ -2173,22 +2148,12 @@ "(config)operational-scopePOST": { "properties": { "other": { - "$ref": "#/definitions/Some other", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "value": { - "$ref": "#/definitions/Network_Wide", - "description": "xxxx", - "enum": [ - "Network_Wide", - "Availability_Zone", - "Data_Center", - "Tenant", - "VM", - "CPU", - "Core", - "Other" - ] + "$ref": "#/definitions/Optional.empty", + "description": "xxxx" } }, "type": "object" @@ -2196,15 +2161,11 @@ "(config)threshold-valuePOST": { "properties": { "unit": { - "$ref": "#/definitions/Absolute", - "description": "xxxx", - "enum": [ - "Absolute", - "Percentage" - ] + "$ref": "#/definitions/Optional.empty", + "description": "xxxx" }, "value": { - "$ref": "#/definitions/0", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" } }, @@ -2213,20 +2174,12 @@ "(config)timePOST": { "properties": { "other": { - "$ref": "#/definitions/Some other", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "value": { - "$ref": "#/definitions/Hour", - "description": "xxxx", - "enum": [ - "Hour", - "Day", - "Month", - "Quarter", - "Year", - "Other" - ] + "$ref": "#/definitions/Optional.empty", + "description": "xxxx" } }, "type": "object" @@ -2234,11 +2187,11 @@ "(config)vf-license-model-versionPOST": { "properties": { "artifact-name": { - "$ref": "#/definitions/Some artifact-name", + "$ref": "#/definitions/Optional.empty", "description": "Name of artifact" }, "artifact-version": { - "$ref": "#/definitions/Some artifact-version", + "$ref": "#/definitions/Optional.empty", "description": "Version of artifact" }, "vf-license-model": { @@ -2270,11 +2223,11 @@ "type": "object" }, "vendor-name": { - "$ref": "#/definitions/Some vendor-name", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "vf-id": { - "$ref": "#/definitions/Some vf-id", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" } }, @@ -2283,11 +2236,11 @@ "(vf-license-model-update)input": { "properties": { "ASDC-API:artifact-name": { - "$ref": "#/definitions/Some artifact-name", + "$ref": "#/definitions/Optional.empty", "description": "Name of artifact" }, "ASDC-API:artifact-version": { - "$ref": "#/definitions/Some artifact-version", + "$ref": "#/definitions/Optional.empty", "description": "Version of artifact" }, "ASDC-API:vf-license-model": { @@ -2314,11 +2267,11 @@ "(vf-license-model-update)output": { "properties": { "ASDC-API:asdc-api-response-code": { - "$ref": "#/definitions/Some asdc-api-response-code", + "$ref": "#/definitions/Optional.empty", "description": "Code indicating success/failure" }, "ASDC-API:asdc-api-response-text": { - "$ref": "#/definitions/Some asdc-api-response-text", + "$ref": "#/definitions/Optional.empty", "description": "Text indicating reason for failure" } }, @@ -2367,11 +2320,11 @@ "type": "object" }, "ASDC-API:vendor-name": { - "$ref": "#/definitions/Some vendor-name", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "ASDC-API:vf-id": { - "$ref": "#/definitions/Some vf-id", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" } }, @@ -2442,11 +2395,11 @@ "ASDC-API/artifacts(config)artifact": { "properties": { "ASDC-API:artifact-name": { - "$ref": "#/definitions/Some artifact-name", + "$ref": "#/definitions/Optional.empty", "description": "Name of artifact" }, "ASDC-API:artifact-version": { - "$ref": "#/definitions/Some artifact-version", + "$ref": "#/definitions/Optional.empty", "description": "Version of artifact" } }, @@ -2490,11 +2443,11 @@ "ASDC-API/vf-license-model-versions(config)vf-license-model-version": { "properties": { "ASDC-API:artifact-name": { - "$ref": "#/definitions/Some artifact-name", + "$ref": "#/definitions/Optional.empty", "description": "Name of artifact" }, "ASDC-API:artifact-version": { - "$ref": "#/definitions/Some artifact-version", + "$ref": "#/definitions/Optional.empty", "description": "Version of artifact" }, "ASDC-API:vf-license-model": { @@ -2528,11 +2481,11 @@ "type": "object" }, "ASDC-API:vendor-name": { - "$ref": "#/definitions/Some vendor-name", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "ASDC-API:vf-id": { - "$ref": "#/definitions/Some vf-id", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" } }, @@ -2577,11 +2530,11 @@ "ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list(config)feature-group": { "properties": { "ASDC-API:att-part-number": { - "$ref": "#/definitions/Some att-part-number", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "ASDC-API:description": { - "$ref": "#/definitions/Some description", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "ASDC-API:entitlement-pool-list": { @@ -2592,7 +2545,7 @@ "type": "object" }, "ASDC-API:feature-group-uuid": { - "$ref": "#/definitions/Some feature-group-uuid", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "ASDC-API:license-key-group-list": { @@ -2603,7 +2556,7 @@ "type": "object" }, "ASDC-API:name": { - "$ref": "#/definitions/Some name", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" } }, @@ -2655,7 +2608,7 @@ "type": "array" }, "ASDC-API:name": { - "$ref": "#/definitions/Some name", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" } }, @@ -2683,7 +2636,7 @@ "type": "object" }, "ASDC-API:description": { - "$ref": "#/definitions/Some description", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "ASDC-API:entitlement-metric": { @@ -2694,19 +2647,19 @@ "type": "object" }, "ASDC-API:entitlement-pool-uuid": { - "$ref": "#/definitions/Some entitlement-pool-uuid", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "ASDC-API:increments": { - "$ref": "#/definitions/Some increments", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "ASDC-API:manufacturer-reference-number": { - "$ref": "#/definitions/Some manufacturer-reference-number", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "ASDC-API:name": { - "$ref": "#/definitions/Some name", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "ASDC-API:operational-scope": { @@ -2748,17 +2701,12 @@ "ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)aggregation-function": { "properties": { "ASDC-API:other": { - "$ref": "#/definitions/Some other", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "ASDC-API:value": { - "$ref": "#/definitions/Peak", - "description": "xxxx", - "enum": [ - "Peak", - "Average", - "Other" - ] + "$ref": "#/definitions/Optional.empty", + "description": "xxxx" } }, "type": "object" @@ -2778,27 +2726,12 @@ "ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)entitlement-metric": { "properties": { "ASDC-API:other": { - "$ref": "#/definitions/Some other", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "ASDC-API:value": { - "$ref": "#/definitions/Software_Instances_Count", - "description": "xxxx", - "enum": [ - "Software_Instances_Count", - "CPU", - "Core", - "Trunks", - "User", - "Subscribers", - "Tenants", - "Tokens", - "Seats", - "Units_TB", - "Units_GB", - "Units_MB", - "Other" - ] + "$ref": "#/definitions/Optional.empty", + "description": "xxxx" } }, "type": "object" @@ -2818,22 +2751,12 @@ "ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)operational-scope": { "properties": { "ASDC-API:other": { - "$ref": "#/definitions/Some other", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "ASDC-API:value": { - "$ref": "#/definitions/Network_Wide", - "description": "xxxx", - "enum": [ - "Network_Wide", - "Availability_Zone", - "Data_Center", - "Tenant", - "VM", - "CPU", - "Core", - "Other" - ] + "$ref": "#/definitions/Optional.empty", + "description": "xxxx" } }, "type": "object" @@ -2853,15 +2776,11 @@ "ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)threshold-value": { "properties": { "ASDC-API:unit": { - "$ref": "#/definitions/Absolute", - "description": "xxxx", - "enum": [ - "Absolute", - "Percentage" - ] + "$ref": "#/definitions/Optional.empty", + "description": "xxxx" }, "ASDC-API:value": { - "$ref": "#/definitions/0", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" } }, @@ -2882,20 +2801,12 @@ "ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)time": { "properties": { "ASDC-API:other": { - "$ref": "#/definitions/Some other", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "ASDC-API:value": { - "$ref": "#/definitions/Hour", - "description": "xxxx", - "enum": [ - "Hour", - "Day", - "Month", - "Quarter", - "Year", - "Other" - ] + "$ref": "#/definitions/Optional.empty", + "description": "xxxx" } }, "type": "object" @@ -2915,15 +2826,15 @@ "ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/license-key-group-list(config)license-key-group": { "properties": { "ASDC-API:description": { - "$ref": "#/definitions/Some description", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "ASDC-API:license-key-group-uuid": { - "$ref": "#/definitions/Some license-key-group-uuid", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "ASDC-API:name": { - "$ref": "#/definitions/Some name", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "ASDC-API:operational-scope": { @@ -2934,13 +2845,8 @@ "type": "object" }, "ASDC-API:type": { - "$ref": "#/definitions/Universal", - "description": "xxxx", - "enum": [ - "Universal", - "Unique", - "One_Time" - ] + "$ref": "#/definitions/Optional.empty", + "description": "xxxx" } }, "type": "object" @@ -2960,22 +2866,12 @@ "ASDC-API/vf-license-model-versions/vf-license-model-version/vf-license-model/feature-group-list/feature-group/license-key-group-list/license-key-group(config)operational-scope": { "properties": { "ASDC-API:other": { - "$ref": "#/definitions/Some other", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "ASDC-API:value": { - "$ref": "#/definitions/Network_Wide", - "description": "xxxx", - "enum": [ - "Network_Wide", - "Availability_Zone", - "Data_Center", - "Tenant", - "VM", - "CPU", - "Core", - "Other" - ] + "$ref": "#/definitions/Optional.empty", + "description": "xxxx" } }, "type": "object" @@ -2995,11 +2891,11 @@ "ASDC-API/vf-license-model/feature-group-list(config)feature-group": { "properties": { "ASDC-API:att-part-number": { - "$ref": "#/definitions/Some att-part-number", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "ASDC-API:description": { - "$ref": "#/definitions/Some description", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "ASDC-API:entitlement-pool-list": { @@ -3010,7 +2906,7 @@ "type": "object" }, "ASDC-API:feature-group-uuid": { - "$ref": "#/definitions/Some feature-group-uuid", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "ASDC-API:license-key-group-list": { @@ -3021,7 +2917,7 @@ "type": "object" }, "ASDC-API:name": { - "$ref": "#/definitions/Some name", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" } }, @@ -3073,7 +2969,7 @@ "type": "array" }, "ASDC-API:name": { - "$ref": "#/definitions/Some name", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" } }, @@ -3101,7 +2997,7 @@ "type": "object" }, "ASDC-API:description": { - "$ref": "#/definitions/Some description", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "ASDC-API:entitlement-metric": { @@ -3112,19 +3008,19 @@ "type": "object" }, "ASDC-API:entitlement-pool-uuid": { - "$ref": "#/definitions/Some entitlement-pool-uuid", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "ASDC-API:increments": { - "$ref": "#/definitions/Some increments", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "ASDC-API:manufacturer-reference-number": { - "$ref": "#/definitions/Some manufacturer-reference-number", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "ASDC-API:name": { - "$ref": "#/definitions/Some name", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "ASDC-API:operational-scope": { @@ -3166,17 +3062,12 @@ "ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)aggregation-function": { "properties": { "ASDC-API:other": { - "$ref": "#/definitions/Some other", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "ASDC-API:value": { - "$ref": "#/definitions/Peak", - "description": "xxxx", - "enum": [ - "Peak", - "Average", - "Other" - ] + "$ref": "#/definitions/Optional.empty", + "description": "xxxx" } }, "type": "object" @@ -3196,27 +3087,12 @@ "ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)entitlement-metric": { "properties": { "ASDC-API:other": { - "$ref": "#/definitions/Some other", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "ASDC-API:value": { - "$ref": "#/definitions/Software_Instances_Count", - "description": "xxxx", - "enum": [ - "Software_Instances_Count", - "CPU", - "Core", - "Trunks", - "User", - "Subscribers", - "Tenants", - "Tokens", - "Seats", - "Units_TB", - "Units_GB", - "Units_MB", - "Other" - ] + "$ref": "#/definitions/Optional.empty", + "description": "xxxx" } }, "type": "object" @@ -3236,22 +3112,12 @@ "ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)operational-scope": { "properties": { "ASDC-API:other": { - "$ref": "#/definitions/Some other", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "ASDC-API:value": { - "$ref": "#/definitions/Network_Wide", - "description": "xxxx", - "enum": [ - "Network_Wide", - "Availability_Zone", - "Data_Center", - "Tenant", - "VM", - "CPU", - "Core", - "Other" - ] + "$ref": "#/definitions/Optional.empty", + "description": "xxxx" } }, "type": "object" @@ -3271,15 +3137,11 @@ "ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)threshold-value": { "properties": { "ASDC-API:unit": { - "$ref": "#/definitions/Absolute", - "description": "xxxx", - "enum": [ - "Absolute", - "Percentage" - ] + "$ref": "#/definitions/Optional.empty", + "description": "xxxx" }, "ASDC-API:value": { - "$ref": "#/definitions/0", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" } }, @@ -3300,20 +3162,12 @@ "ASDC-API/vf-license-model/feature-group-list/feature-group/entitlement-pool-list/entitlement-pool(config)time": { "properties": { "ASDC-API:other": { - "$ref": "#/definitions/Some other", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "ASDC-API:value": { - "$ref": "#/definitions/Hour", - "description": "xxxx", - "enum": [ - "Hour", - "Day", - "Month", - "Quarter", - "Year", - "Other" - ] + "$ref": "#/definitions/Optional.empty", + "description": "xxxx" } }, "type": "object" @@ -3333,15 +3187,15 @@ "ASDC-API/vf-license-model/feature-group-list/feature-group/license-key-group-list(config)license-key-group": { "properties": { "ASDC-API:description": { - "$ref": "#/definitions/Some description", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "ASDC-API:license-key-group-uuid": { - "$ref": "#/definitions/Some license-key-group-uuid", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "ASDC-API:name": { - "$ref": "#/definitions/Some name", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "ASDC-API:operational-scope": { @@ -3352,13 +3206,8 @@ "type": "object" }, "ASDC-API:type": { - "$ref": "#/definitions/Universal", - "description": "xxxx", - "enum": [ - "Universal", - "Unique", - "One_Time" - ] + "$ref": "#/definitions/Optional.empty", + "description": "xxxx" } }, "type": "object" @@ -3378,22 +3227,12 @@ "ASDC-API/vf-license-model/feature-group-list/feature-group/license-key-group-list/license-key-group(config)operational-scope": { "properties": { "ASDC-API:other": { - "$ref": "#/definitions/Some other", + "$ref": "#/definitions/Optional.empty", "description": "xxxx" }, "ASDC-API:value": { - "$ref": "#/definitions/Network_Wide", - "description": "xxxx", - "enum": [ - "Network_Wide", - "Availability_Zone", - "Data_Center", - "Tenant", - "VM", - "CPU", - "Core", - "Other" - ] + "$ref": "#/definitions/Optional.empty", + "description": "xxxx" } }, "type": "object" diff --git a/dataChange/model/src/main/resources/dataChange.20150519.json b/dataChange/model/src/main/resources/dataChange.20150519.json index 128195b52..be17d564b 100644 --- a/dataChange/model/src/main/resources/dataChange.20150519.json +++ b/dataChange/model/src/main/resources/dataChange.20150519.json @@ -44,10 +44,10 @@ "(config)key-dataPOST": { "properties": { "key-name": { - "$ref": "#/definitions/Some key-name" + "$ref": "#/definitions/Optional.empty" }, "key-value": { - "$ref": "#/definitions/Some key-value" + "$ref": "#/definitions/Optional.empty" } }, "type": "object" @@ -55,17 +55,13 @@ "(data-change-notification)input": { "properties": { "DataChange:aai-event-id": { - "$ref": "#/definitions/Some aai-event-id" + "$ref": "#/definitions/Optional.empty" }, "DataChange:aai-event-trigger": { - "$ref": "#/definitions/Update", - "enum": [ - "Update", - "Delete" - ] + "$ref": "#/definitions/Optional.empty" }, "DataChange:aai-node-type": { - "$ref": "#/definitions/Some aai-node-type" + "$ref": "#/definitions/Optional.empty" }, "DataChange:key-data": { "items": { @@ -74,7 +70,7 @@ "type": "array" }, "DataChange:selflink": { - "$ref": "#/definitions/Some selflink" + "$ref": "#/definitions/Optional.empty" } }, "type": "object" @@ -93,7 +89,7 @@ "(data-change-notification)output": { "properties": { "DataChange:data-change-response-code": { - "$ref": "#/definitions/Some data-change-response-code" + "$ref": "#/definitions/Optional.empty" } }, "type": "object" @@ -112,10 +108,10 @@ "DataChange(config)key-data": { "properties": { "DataChange:key-name": { - "$ref": "#/definitions/Some key-name" + "$ref": "#/definitions/Optional.empty" }, "DataChange:key-value": { - "$ref": "#/definitions/Some key-value" + "$ref": "#/definitions/Optional.empty" } }, "type": "object" diff --git a/lcm/model/src/main/resources/lcm.20180329.json b/lcm/model/src/main/resources/lcm.20180329.json new file mode 100644 index 000000000..291e18fb1 --- /dev/null +++ b/lcm/model/src/main/resources/lcm.20180329.json @@ -0,0 +1,4299 @@ +{ + "swagger": "2.0", + "info": { + "version": "1.0.0" + }, + "basePath": "/restconf", + "paths": { + "/operations/LCM:action-status": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(action-status)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(action-status)output-TOP" + } + } + }, + "description": "An operation to get the current state of the previously submitted LCM request", + "operationId": "action-status" + } + }, + "/operations/LCM:attach-volume": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(attach-volume)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(attach-volume)output-TOP" + } + } + }, + "description": "An operation to attach a cinder volume to a VM", + "operationId": "attach-volume" + } + }, + "/operations/LCM:audit": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(audit)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(audit)output-TOP" + } + } + }, + "description": "An operation to audit the configurations of a virtual network function (or VM)", + "operationId": "audit" + } + }, + "/operations/LCM:check-lock": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(check-lock)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(check-lock)output-TOP" + } + } + }, + "description": "An operation to check VNF lock status", + "operationId": "check-lock" + } + }, + "/operations/LCM:config-backup": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(config-backup)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config-backup)output-TOP" + } + } + }, + "description": "An operation to Backup configurations of a virtual network function\\n(or VM)", + "operationId": "config-backup" + } + }, + "/operations/LCM:config-backup-delete": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(config-backup-delete)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config-backup-delete)output-TOP" + } + } + }, + "description": "An operation to Delete backup configurations of a virtual network\\nfunction (or VM)", + "operationId": "config-backup-delete" + } + }, + "/operations/LCM:config-export": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(config-export)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config-export)output-TOP" + } + } + }, + "description": "An operation to Export configurations of a virtual network function\\n(or VM)", + "operationId": "config-export" + } + }, + "/operations/LCM:config-modify": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(config-modify)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config-modify)output-TOP" + } + } + }, + "description": "Use the ModifyConfig command when a full configuration cycle is either not required\\nor is considered too costly. The ModifyConfig LCM action affects only a subset of the\\ntotal configuration data of a VNF. The set of configuration parameters to be affected\\nis a subset of the total configuration data of the target VNF type. The payload Stop\\nApplication must contain the configuration parameters to be modified and their values.\\nA successful modify returns a success response. A failed modify returns a failure\\nresponse and the specific failure messages in the response payload Stop Application", + "operationId": "config-modify" + } + }, + "/operations/LCM:config-restore": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(config-restore)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config-restore)output-TOP" + } + } + }, + "description": "An operation to restore the configurations of a virtual network\\nfunction (or VM)", + "operationId": "config-restore" + } + }, + "/operations/LCM:config-scale-out": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(config-scale-out)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config-scale-out)output-TOP" + } + } + }, + "description": "An operation to Modify the configuration or other action to support\\na ConfigScaleOut of a VNF.", + "operationId": "config-scale-out" + } + }, + "/operations/LCM:configure": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(configure)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(configure)output-TOP" + } + } + }, + "description": "An operation to configure the configurations of a virtual network\\nfunction (or VM)", + "operationId": "configure" + } + }, + "/operations/LCM:detach-volume": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(detach-volume)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(detach-volume)output-TOP" + } + } + }, + "description": "An operation to detach a cinder volume from a VM", + "operationId": "detach-volume" + } + }, + "/operations/LCM:evacuate": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(evacuate)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(evacuate)output-TOP" + } + } + }, + "description": "An operation to evacuate a virtual network function (or VM)", + "operationId": "evacuate" + } + }, + "/operations/LCM:health-check": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(health-check)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(health-check)output-TOP" + } + } + }, + "description": "An operation to perform health check of vSCP prior its upgrading", + "operationId": "health-check" + } + }, + "/operations/LCM:live-upgrade": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(live-upgrade)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(live-upgrade)output-TOP" + } + } + }, + "description": "An operation to perform upgrade of vSCP", + "operationId": "live-upgrade" + } + }, + "/operations/LCM:lock": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(lock)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(lock)output-TOP" + } + } + }, + "description": "An operation to perform VNF lock operation", + "operationId": "lock" + } + }, + "/operations/LCM:migrate": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(migrate)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(migrate)output-TOP" + } + } + }, + "description": "An operation to migrate a virtual network function (or VM)", + "operationId": "migrate" + } + }, + "/operations/LCM:query": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(query)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(query)output-TOP" + } + } + }, + "description": "An operation to query the status of a targe VNF.\\nReturns information on each VM, including state (active or standby)\\nand status (healthy or unhealthy)", + "operationId": "query" + } + }, + "/operations/LCM:quiesce-traffic": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(quiesce-traffic)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(quiesce-traffic)output-TOP" + } + } + }, + "description": "An operation to stop traffic gracefully on the VF.\\nIt stops traffic gracefully without stopping the application", + "operationId": "quiesce-traffic" + } + }, + "/operations/LCM:reboot": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(reboot)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(reboot)output-TOP" + } + } + }, + "description": "An operation to reboot a specified virtual machine (VM)", + "operationId": "reboot" + } + }, + "/operations/LCM:rebuild": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(rebuild)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(rebuild)output-TOP" + } + } + }, + "description": "An operation to rebuild a virtual network function (or VM)", + "operationId": "rebuild" + } + }, + "/operations/LCM:restart": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(restart)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(restart)output-TOP" + } + } + }, + "description": "An operation to restart a virtual network function (or VM)", + "operationId": "restart" + } + }, + "/operations/LCM:resume-traffic": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(resume-traffic)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(resume-traffic)output-TOP" + } + } + }, + "description": "An operation to resume traffic gracefully on the VF.\\nIt resumes traffic gracefully without stopping the application", + "operationId": "resume-traffic" + } + }, + "/operations/LCM:rollback": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(rollback)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(rollback)output-TOP" + } + } + }, + "description": "An operation to rollback to particular snapshot of a virtual network function (or VM)", + "operationId": "rollback" + } + }, + "/operations/LCM:snapshot": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(snapshot)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(snapshot)output-TOP" + } + } + }, + "description": "An operation to create a snapshot of a virtual network function (or VM)", + "operationId": "snapshot" + } + }, + "/operations/LCM:software-upload": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(software-upload)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(software-upload)output-TOP" + } + } + }, + "description": "An operation to upload a new version of vSCP image to vSCP for updating it", + "operationId": "software-upload" + } + }, + "/operations/LCM:start": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(start)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(start)output-TOP" + } + } + }, + "description": "An operation to start a virtual network function (or VM)", + "operationId": "start" + } + }, + "/operations/LCM:start-application": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(start-application)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(start-application)output-TOP" + } + } + }, + "description": "An operation to perform VNF Start Application operation", + "operationId": "start-application" + } + }, + "/operations/LCM:stop": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(stop)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(stop)output-TOP" + } + } + }, + "description": "An operation to stop the configurations of a virtual network function (or VM)", + "operationId": "stop" + } + }, + "/operations/LCM:stop-application": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(stop-application)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(stop-application)output-TOP" + } + } + }, + "description": "An operation to Stop Application traffic to a virtual network function", + "operationId": "stop-application" + } + }, + "/operations/LCM:sync": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(sync)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(sync)output-TOP" + } + } + }, + "description": "An operation to sync the configurations of a virtual network function (or VM)", + "operationId": "sync" + } + }, + "/operations/LCM:terminate": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(terminate)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(terminate)output-TOP" + } + } + }, + "description": "An operation to terminate the configurations of a virtual network function (or VM)", + "operationId": "terminate" + } + }, + "/operations/LCM:test": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(test)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(test)output-TOP" + } + } + }, + "description": "An operation to test the configurations of a virtual network function (or VM)", + "operationId": "test" + } + }, + "/operations/LCM:unlock": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(unlock)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(unlock)output-TOP" + } + } + }, + "description": "An operation to perform VNF unlock operation", + "operationId": "unlock" + } + }, + "/operations/LCM:upgrade-backout": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(upgrade-backout)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(upgrade-backout)output-TOP" + } + } + }, + "description": "An operation does a backout after an UpgradeSoftware is completed (either successfully or unsuccessfully).", + "operationId": "upgrade-backout" + } + }, + "/operations/LCM:upgrade-backup": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(upgrade-backup)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(upgrade-backup)output-TOP" + } + } + }, + "description": "An operation to do full backup of the VNF data prior to an upgrade.", + "operationId": "upgrade-backup" + } + }, + "/operations/LCM:upgrade-post-check": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(upgrade-post-check)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(upgrade-post-check)output-TOP" + } + } + }, + "description": "An operation to check the VNF upgrade has been successful completed and all processes are running properly.", + "operationId": "upgrade-post-check" + } + }, + "/operations/LCM:upgrade-pre-check": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(upgrade-pre-check)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(upgrade-pre-check)output-TOP" + } + } + }, + "description": "An operation to check that the VNF has the correct software version needed for a software upgrade.", + "operationId": "upgrade-pre-check" + } + }, + "/operations/LCM:upgrade-software": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(upgrade-software)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(upgrade-software)output-TOP" + } + } + }, + "description": "An operation to upgrade the target VNF to a new version and expected that the VNF is in a quiesced status .", + "operationId": "upgrade-software" + } + } + }, + "definitions": { + "(action-status)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action" + ], + "type": "object" + }, + "(action-status)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(action-status)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(action-status)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(action-status)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(action-status)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(attach-volume)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action", + "LCM:payload" + ], + "type": "object" + }, + "(attach-volume)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(attach-volume)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(attach-volume)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(attach-volume)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(attach-volume)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(audit)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action" + ], + "type": "object" + }, + "(audit)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(audit)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(audit)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(audit)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(audit)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(check-lock)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + } + }, + "required": [ + "LCM:action" + ], + "type": "object" + }, + "(check-lock)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(check-lock)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(check-lock)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:locked": { + "$ref": "#/definitions/Optional.empty", + "description": "TRUE/FALSE - returns TRUE when the given VNF was locked, otherwise returns FALSE" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(check-lock)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(check-lock)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)LCM_modulePOST": { + "type": "object" + }, + "(config)action-identifiersPOST": { + "properties": { + "service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies a specific service the command refers to. When multiple\\n APP-C instances are used and applied to a subset of services,\\n this will become significant . The field is mandatory when the\\n vnf-id is empty" + }, + "vf-module-id": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the VF module to which this action is to be applied." + }, + "vnf-id": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the VNF to which this action is to be applied(vnf-id\\n uniquely identifies the service-instance referred to). Note that\\n some actions are applied to multiple VNFs in the same service.\\n When this is the case, vnf-id may be left out, but service-instance-id\\n must appear. The field is mandatory when service-instance-id is\\n empty" + }, + "vnfc-name": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the VNFC to which this action is to be applied. Some\\n actions apply only to a component within a VNF (e.g. RESTART is\\n sometimes applied to on VM only). In such a case, the name of\\n the VNFC is used to search for the component within the VNF" + }, + "vserver-id": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies a specific VM within the given service/vnf to which\\n this action is to be applied" + } + }, + "type": "object" + }, + "(config)common-headerPOST": { + "properties": { + "api-ver": { + "$ref": "#/definitions/Optional.empty", + "description": "api-ver is the API version identifier. A given release of APPC\\n should support all previous versions of APPC API (correlate with\\n general requirements)" + }, + "flags": { + "items": { + "$ref": "#/definitions/LCM/common-header(config)flags" + }, + "type": "object" + }, + "originator-id": { + "$ref": "#/definitions/Optional.empty", + "description": "originator-id an identifier of the calling system which can be\\n used addressing purposes, i.e. returning asynchronous response\\n to the proper destination over DMaaP (especially in case of multiple\\n consumers of APP-C APIs)" + }, + "request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "UUID for the request ID. An OSS/BSS identifier for the request\\n that caused the current action. Multiple API calls may be made\\n with the same request-id The request-id shall be recorded throughout\\n the operations on a single request" + }, + "sub-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Uniquely identifies a specific LCM action. It is persistent over\\n the life-cycle of a single request" + }, + "timestamp": { + "$ref": "#/definitions/Optional.empty", + "description": "timestamp is in ISO 8601 timestamp format ZULU offset" + } + }, + "required": [ + "api-ver", + "originator-id", + "request-id", + "timestamp" + ], + "type": "object" + }, + "(config)flagsPOST": { + "properties": { + "force": { + "$ref": "#/definitions/Optional.empty", + "description": "TRUE/FALSE - Execute action even if target is in unstable (i.e.\\n locked, transiting, etc.) state" + }, + "mode": { + "$ref": "#/definitions/Optional.empty", + "description": "EXCLUSIVE (accept no queued requests on this VNF while processing)\\n or NORMAL (queue other requests until complete)" + }, + "ttl": { + "$ref": "#/definitions/Optional.empty", + "description": "<0....N> - The timeout value (expressed in seconds) for action\\n execution, between action being received by APPC and action initiation" + } + }, + "type": "object" + }, + "(config)query-resultsPOST": { + "properties": { + "vm-state": { + "$ref": "#/definitions/Optional.empty", + "description": "The state of the VM" + }, + "vm-status": { + "$ref": "#/definitions/Optional.empty", + "description": "the status of the VM" + }, + "vserver-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Identifier of a VM" + } + }, + "required": [ + "vm-state", + "vm-status", + "vserver-id" + ], + "type": "object" + }, + "(config)statusPOST": { + "properties": { + "code": { + "$ref": "#/definitions/Optional.empty", + "description": "Response code" + }, + "message": { + "$ref": "#/definitions/Optional.empty", + "description": "Response message" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "(config-backup)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action" + ], + "type": "object" + }, + "(config-backup)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(config-backup)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config-backup)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config-backup)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(config-backup)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config-backup-delete)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + } + }, + "required": [ + "LCM:action" + ], + "type": "object" + }, + "(config-backup-delete)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(config-backup-delete)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config-backup-delete)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config-backup-delete)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(config-backup-delete)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config-export)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + } + }, + "required": [ + "LCM:action" + ], + "type": "object" + }, + "(config-export)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(config-export)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config-export)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config-export)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(config-export)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config-modify)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action" + ], + "type": "object" + }, + "(config-modify)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(config-modify)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config-modify)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config-modify)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(config-modify)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config-restore)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action" + ], + "type": "object" + }, + "(config-restore)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(config-restore)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config-restore)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config-restore)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(config-restore)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config-scale-out)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action" + ], + "type": "object" + }, + "(config-scale-out)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(config-scale-out)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config-scale-out)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config-scale-out)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(config-scale-out)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(configure)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action" + ], + "type": "object" + }, + "(configure)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(configure)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(configure)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(configure)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(configure)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(detach-volume)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action", + "LCM:payload" + ], + "type": "object" + }, + "(detach-volume)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(detach-volume)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(detach-volume)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(detach-volume)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(detach-volume)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(evacuate)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action" + ], + "type": "object" + }, + "(evacuate)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(evacuate)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(evacuate)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(evacuate)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(evacuate)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(health-check)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action" + ], + "type": "object" + }, + "(health-check)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(health-check)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(health-check)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(health-check)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(health-check)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(live-upgrade)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action" + ], + "type": "object" + }, + "(live-upgrade)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(live-upgrade)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(live-upgrade)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(live-upgrade)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(live-upgrade)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(lock)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action" + ], + "type": "object" + }, + "(lock)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(lock)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(lock)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(lock)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(lock)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(migrate)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action" + ], + "type": "object" + }, + "(migrate)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(migrate)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(migrate)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(migrate)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(migrate)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(query)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + } + }, + "required": [ + "LCM:action" + ], + "type": "object" + }, + "(query)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(query)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(query)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:query-results": { + "items": { + "$ref": "#/definitions/LCM(config)query-results" + }, + "type": "array" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(query)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(query)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(quiesce-traffic)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action", + "LCM:payload" + ], + "type": "object" + }, + "(quiesce-traffic)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(quiesce-traffic)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(quiesce-traffic)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(quiesce-traffic)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(quiesce-traffic)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(reboot)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action" + ], + "type": "object" + }, + "(reboot)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(reboot)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(reboot)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(reboot)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(reboot)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(rebuild)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action" + ], + "type": "object" + }, + "(rebuild)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(rebuild)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(rebuild)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(rebuild)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(rebuild)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(restart)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action" + ], + "type": "object" + }, + "(restart)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(restart)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(restart)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(restart)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(restart)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(resume-traffic)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action", + "LCM:payload" + ], + "type": "object" + }, + "(resume-traffic)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(resume-traffic)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(resume-traffic)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(resume-traffic)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(resume-traffic)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(rollback)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:identity-url": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:snapshot-id": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action", + "LCM:identity-url", + "LCM:snapshot-id" + ], + "type": "object" + }, + "(rollback)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(rollback)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(rollback)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(rollback)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(rollback)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(snapshot)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:identity-url": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action", + "LCM:identity-url" + ], + "type": "object" + }, + "(snapshot)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(snapshot)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(snapshot)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:snapshot-id": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(snapshot)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(snapshot)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(software-upload)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action" + ], + "type": "object" + }, + "(software-upload)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(software-upload)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(software-upload)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(software-upload)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(software-upload)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(start)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action" + ], + "type": "object" + }, + "(start)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(start)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(start)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(start)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(start)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(start-application)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action" + ], + "type": "object" + }, + "(start-application)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(start-application)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(start-application)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(start-application)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(start-application)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(stop)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action" + ], + "type": "object" + }, + "(stop)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(stop)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(stop)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(stop)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(stop)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(stop-application)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action" + ], + "type": "object" + }, + "(stop-application)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(stop-application)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(stop-application)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(stop-application)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(stop-application)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(sync)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action" + ], + "type": "object" + }, + "(sync)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(sync)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(sync)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(sync)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(sync)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(terminate)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action" + ], + "type": "object" + }, + "(terminate)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(terminate)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(terminate)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(terminate)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(terminate)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(test)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action" + ], + "type": "object" + }, + "(test)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(test)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(test)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(test)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(test)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(unlock)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action" + ], + "type": "object" + }, + "(unlock)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(unlock)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(unlock)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(unlock)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(unlock)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(upgrade-backout)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action", + "LCM:payload" + ], + "type": "object" + }, + "(upgrade-backout)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(upgrade-backout)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(upgrade-backout)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(upgrade-backout)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(upgrade-backout)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(upgrade-backup)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action", + "LCM:payload" + ], + "type": "object" + }, + "(upgrade-backup)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(upgrade-backup)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(upgrade-backup)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(upgrade-backup)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(upgrade-backup)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(upgrade-post-check)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action", + "LCM:payload" + ], + "type": "object" + }, + "(upgrade-post-check)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(upgrade-post-check)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(upgrade-post-check)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(upgrade-post-check)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(upgrade-post-check)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(upgrade-pre-check)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action", + "LCM:payload" + ], + "type": "object" + }, + "(upgrade-pre-check)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(upgrade-pre-check)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(upgrade-pre-check)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(upgrade-pre-check)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(upgrade-pre-check)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(upgrade-software)input": { + "properties": { + "LCM:action": { + "$ref": "#/definitions/Optional.empty" + }, + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + }, + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:payload": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "LCM:action", + "LCM:payload" + ], + "type": "object" + }, + "(upgrade-software)input-TOP": { + "properties": { + "LCM:input": { + "items": { + "$ref": "#/definitions/(upgrade-software)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(upgrade-software)output": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + }, + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "(upgrade-software)output-TOP": { + "properties": { + "LCM:output": { + "items": { + "$ref": "#/definitions/(upgrade-software)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "LCM(config)action-identifiers": { + "properties": { + "LCM:service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies a specific service the command refers to. When multiple\\n APP-C instances are used and applied to a subset of services,\\n this will become significant . The field is mandatory when the\\n vnf-id is empty" + }, + "LCM:vf-module-id": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the VF module to which this action is to be applied." + }, + "LCM:vnf-id": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the VNF to which this action is to be applied(vnf-id\\n uniquely identifies the service-instance referred to). Note that\\n some actions are applied to multiple VNFs in the same service.\\n When this is the case, vnf-id may be left out, but service-instance-id\\n must appear. The field is mandatory when service-instance-id is\\n empty" + }, + "LCM:vnfc-name": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the VNFC to which this action is to be applied. Some\\n actions apply only to a component within a VNF (e.g. RESTART is\\n sometimes applied to on VM only). In such a case, the name of\\n the VNFC is used to search for the component within the VNF" + }, + "LCM:vserver-id": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies a specific VM within the given service/vnf to which\\n this action is to be applied" + } + }, + "type": "object" + }, + "LCM(config)action-identifiers-TOP": { + "properties": { + "LCM:action-identifiers": { + "description": "A block containing the action arguments. These are used to specify\\nthe object upon which APP-C LCM command is to operate", + "items": { + "$ref": "#/definitions/LCM(config)action-identifiers" + }, + "type": "object" + } + }, + "type": "object" + }, + "LCM(config)common-header": { + "properties": { + "LCM:api-ver": { + "$ref": "#/definitions/Optional.empty", + "description": "api-ver is the API version identifier. A given release of APPC\\n should support all previous versions of APPC API (correlate with\\n general requirements)" + }, + "LCM:flags": { + "description": "Flags are generic flags that apply to any and all commands, all are optional", + "items": { + "$ref": "#/definitions/LCM/common-header(config)flags" + }, + "type": "object" + }, + "LCM:originator-id": { + "$ref": "#/definitions/Optional.empty", + "description": "originator-id an identifier of the calling system which can be\\n used addressing purposes, i.e. returning asynchronous response\\n to the proper destination over DMaaP (especially in case of multiple\\n consumers of APP-C APIs)" + }, + "LCM:request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "UUID for the request ID. An OSS/BSS identifier for the request\\n that caused the current action. Multiple API calls may be made\\n with the same request-id The request-id shall be recorded throughout\\n the operations on a single request" + }, + "LCM:sub-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Uniquely identifies a specific LCM action. It is persistent over\\n the life-cycle of a single request" + }, + "LCM:timestamp": { + "$ref": "#/definitions/Optional.empty", + "description": "timestamp is in ISO 8601 timestamp format ZULU offset" + } + }, + "required": [ + "LCM:api-ver", + "LCM:originator-id", + "LCM:request-id", + "LCM:timestamp" + ], + "type": "object" + }, + "LCM(config)common-header-TOP": { + "properties": { + "LCM:common-header": { + "description": "A common header for all APP-C requests", + "items": { + "$ref": "#/definitions/LCM(config)common-header" + }, + "type": "object" + } + }, + "type": "object" + }, + "LCM(config)query-results": { + "properties": { + "LCM:vm-state": { + "$ref": "#/definitions/Optional.empty", + "description": "The state of the VM" + }, + "LCM:vm-status": { + "$ref": "#/definitions/Optional.empty", + "description": "the status of the VM" + }, + "LCM:vserver-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Identifier of a VM" + } + }, + "required": [ + "LCM:vm-state", + "LCM:vm-status", + "LCM:vserver-id" + ], + "type": "object" + }, + "LCM(config)query-results-TOP": { + "properties": { + "LCM:query-results": { + "items": { + "$ref": "#/definitions/LCM(config)query-results" + }, + "type": "array" + } + }, + "type": "object" + }, + "LCM(config)status": { + "properties": { + "LCM:code": { + "$ref": "#/definitions/Optional.empty", + "description": "Response code" + }, + "LCM:message": { + "$ref": "#/definitions/Optional.empty", + "description": "Response message" + } + }, + "required": [ + "LCM:code", + "LCM:message" + ], + "type": "object" + }, + "LCM(config)status-TOP": { + "properties": { + "LCM:status": { + "description": "The specific response codes are to be aligned with SDC reference doc\\n(main table removed to avoid duplication and digression from main table).\\nSee SDC and ECOMP Distribution Consumer Interface Agreement", + "items": { + "$ref": "#/definitions/LCM(config)status" + }, + "type": "object" + } + }, + "type": "object" + }, + "LCM/common-header(config)flags": { + "properties": { + "LCM:force": { + "$ref": "#/definitions/Optional.empty", + "description": "TRUE/FALSE - Execute action even if target is in unstable (i.e.\\n locked, transiting, etc.) state" + }, + "LCM:mode": { + "$ref": "#/definitions/Optional.empty", + "description": "EXCLUSIVE (accept no queued requests on this VNF while processing)\\n or NORMAL (queue other requests until complete)" + }, + "LCM:ttl": { + "$ref": "#/definitions/Optional.empty", + "description": "<0....N> - The timeout value (expressed in seconds) for action\\n execution, between action being received by APPC and action initiation" + } + }, + "type": "object" + }, + "LCM/common-header(config)flags-TOP": { + "properties": { + "LCM:flags": { + "description": "Flags are generic flags that apply to any and all commands, all are optional", + "items": { + "$ref": "#/definitions/LCM/common-header(config)flags" + }, + "type": "object" + } + }, + "type": "object" + }, + "unique_empty_identifier": {} + } +} -- cgit 1.2.3-korg