summaryrefslogtreecommitdiffstats
path: root/sdnr/northbound/a1Adapter/model/src
diff options
context:
space:
mode:
Diffstat (limited to 'sdnr/northbound/a1Adapter/model/src')
-rw-r--r--sdnr/northbound/a1Adapter/model/src/main/yang/A1-ADAPTER-API.yang336
1 files changed, 59 insertions, 277 deletions
diff --git a/sdnr/northbound/a1Adapter/model/src/main/yang/A1-ADAPTER-API.yang b/sdnr/northbound/a1Adapter/model/src/main/yang/A1-ADAPTER-API.yang
index fb740cc27..157bde5af 100644
--- a/sdnr/northbound/a1Adapter/model/src/main/yang/A1-ADAPTER-API.yang
+++ b/sdnr/northbound/a1Adapter/model/src/main/yang/A1-ADAPTER-API.yang
@@ -1,340 +1,122 @@
+//-
+// ============LICENSE_START=======================================================
+// Copyright (C) 2020 Nordix Foundation.
+// ================================================================================
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
+// ============LICENSE_END=========================================================
+//
module A1-ADAPTER-API {
- namespace "org:onap:ccsdk";
+ namespace "org:onap:a1-adapter";
prefix a1-adapter-api;
- revision "2019-12-12" {
- description
- "Added standard output payload for all RPC's";
- }
-
- revision "2019-10-02" {
- description
- "A1 adapter for Frankfurt";
+ import ietf-inet-types {
+ prefix "inet";
+ revision-date "2013-07-15";
}
- grouping a1-adapter-response {
- leaf response-code {
- type string;
- }
- leaf response-message {
- type string;
- }
- description
- "Response payload for A1 Adapter RPC's";
+ import ietf-yang-types {
+ prefix yang;
}
- grouping a1-policy-instance-property {
-
- description
- "Properties as specified in the create_schema field of policy type in PUT payload";
-
- leaf property-name {
- type string {
- length "1..64";
- }
- description
- "Individual property name";
- }
- leaf property-value {
- type string {
- length "1..64";
- }
- description
- "Value of the property";
- }
- }
-
-
- grouping a1-policy-type-create-schema-property-statement {
-
- leaf policy-statement {
- type string {
- length "1..64";
- }
+ revision "2020-01-22" {
description
- "Individual policy statement name";
- }
- leaf policy-statement-value {
- type string {
- length "1..64";
- }
- description
- "Value of the policy statement";
- }
+ "A1 adapter";
}
-
-///Flattend interface using RPC
-
- //Get a comma separated list of near-rt rics, e.g. domain-name1:port1,domainname2:port2
- //Each item in the returned list will be regarded as one near-rt-ric-id.
- rpc getNearRT-RICs {
- // OpenDaylight Fluorine version of restconf cannot handle RPCs with no input
+ rpc putA1Policy {
input {
- leaf dummy {
- type string;
- }
- }
-
- output {
- uses a1-adapter-response;
- leaf-list near-rt-ric-id-list {
- type string;
+ leaf near-rt-ric-url {
+ type inet:uri;
}
- }
- }
-
- //Get health status for a Near-RT-RIC. true - health ok, false - health is not ok.
- rpc getHealthCheck {
- input {
- leaf near-rt-ric-id {
+ leaf body {
type string;
}
}
-
output {
- uses a1-adapter-response;
- leaf health-status {
- type boolean;
- }
- }
- }
-
- //Get a comma separated list of integer policy type ids
- //Each item in the returned list will be regarded as one policy-type-id.
- rpc getPolicyTypes {
- input {
- leaf near-rt-ric-id {
+ leaf body {
type string;
}
- }
- output {
- uses a1-adapter-response;
- leaf-list policy-type-id-list {
- type uint32;
+ leaf http-status {
+ type int32;
}
}
}
- //Create a policy type
- rpc createPolicyType {
+ rpc getA1Policy {
input {
- leaf near-rt-ric-id {
- type string;
- }
- leaf policy-type-id {
- type uint32;
- }
- leaf description {
- type string;
- }
- leaf name {
- type string;
- }
- leaf policy-type {
- type string;
- }
- list properties {
- key "property-name";
- leaf property-name {
- type string {
- length "1..64";
- }
- description
- "Individual property name";
- }
- list policy-statements {
- key "policy-statement";
- uses a1-policy-type-create-schema-property-statement;
- }
- }
- }
- output {
- uses a1-adapter-response;
- leaf status {
- type string;
- }
- leaf code {
- type string;
- }
- }
- }
-
- //Get a policy type
- rpc getPolicyType {
- input {
- leaf near-rt-ric-id {
- type string;
- }
- leaf policy-type-id {
- type uint32;
+ leaf near-rt-ric-url {
+ type inet:uri;
}
}
output {
- uses a1-adapter-response;
- leaf description {
+ leaf body {
type string;
}
- leaf name {
- type string;
- }
- leaf policy-type {
- type string;
+ leaf http-status {
+ type int32;
}
}
}
- //Delete a policy type
- rpc deletePolicyType {
+ rpc getA1PolicyStatus {
input {
- leaf near-rt-ric-id {
- type string;
- }
- leaf policy-type-id {
- type uint32;
+ leaf near-rt-ric-url {
+ type inet:uri;
}
}
output {
- uses a1-adapter-response;
- }
- }
-
- //Get a comma separeated list of string policy instance ids
- //Each item in the returned list will be regarded as one policy-instance-id.
- rpc getPolicyInstances {
- input {
- leaf near-rt-ric-id {
+ leaf body {
type string;
}
- leaf policy-type-id {
- type uint32;
- }
- }
-
- output {
- uses a1-adapter-response;
- leaf-list policy-instance-id-list {
- type string;
+ leaf http-status {
+ type int32;
}
}
}
- //Create a policy instance
- rpc createPolicyInstance {
+ rpc getA1PolicyType {
input {
- leaf near-rt-ric-id {
- type string;
- }
- leaf policy-type-id {
- type uint32;
- }
- leaf policy-instance-id {
- type string;
- }
- leaf policy-instance {
- type string;
- }
- list properties {
- key "property-name";
- uses a1-policy-instance-property;
- }
- }
- output {
- uses a1-adapter-response;
- }
- }
-
- ///Get a policy instance
- rpc getPolicyInstance {
- input {
- leaf near-rt-ric-id {
- type string;
- }
- leaf policy-type-id {
- type uint32;
- }
- leaf policy-instance-id {
- type string;
+ leaf near-rt-ric-url {
+ type inet:uri;
}
}
output {
- uses a1-adapter-response;
- leaf policy-instance {
- type string;
- }
- }
- }
-
- //Delete a policy instance
- rpc deletePolicyInstance {
- input {
- leaf near-rt-ric-id {
+ leaf body {
type string;
}
- leaf policy-type-id {
- type uint32;
- }
- leaf policy-instance-id {
- type string;
+ leaf http-status {
+ type int32;
}
}
- output {
- uses a1-adapter-response;
- }
}
- //Get the status for a policy instance
- rpc getStatus {
+ rpc deleteA1Policy {
input {
- leaf near-rt-ric-id {
- type string;
- }
- leaf policy-type-id {
- type uint32;
- }
- leaf policy-instance-id {
- type string;
+ leaf near-rt-ric-url {
+ type inet:uri;
}
}
output {
- uses a1-adapter-response;
- leaf status {
+ leaf body {
type string;
}
- }
- }
-
- //Policy feedback Notification to provide policy enforcement update
- rpc notifyPolicyEnforcementUpdate {
- input {
- leaf near-rt-ric-id {
- type string;
- }
- leaf policy-type-id {
- type uint32;
- }
- leaf policy-instance-id {
- type string;
- }
- leaf policy_enforcement_status {
- type string;
- description
- "Policy enforcement status - IN_EFFECT or NON_IN_EFFECT";
- }
- leaf policy_enforcement_reason {
- type string;
- description
- "Indicates the reason why policy is no longer being enforced";
+ leaf http-status {
+ type int32;
}
}
- output {
- uses a1-adapter-response;
- }
}
-
-
-
-
-}
+} \ No newline at end of file