diff --git a/src/yang/etsi-nfv-vnf.yang b/src/yang/etsi-nfv-vnf.yang index 165ea23c9837a045cb71752739d89f7abcbaad68..56fcafbc344789fcda64c01ea91abb5ed9381351 100755 --- a/src/yang/etsi-nfv-vnf.yang +++ b/src/yang/etsi-nfv-vnf.yang @@ -2621,10 +2621,114 @@ submodule etsi-nfv-vnf { information element"; } - leaf vnfm-interface-info { - type string; - description - "Contains information enabling access to the NFV-MANO + container vnfm-interface-info { + leaf interface-name { + type string { + pattern 'vnf-[lcm|pm|fm]'; + } + description + "Identifies an interface produced by the VNFM."; + } + + container details { + container uri-components { + leaf scheme { + type yang:uri; + description + "Corresponds to the scheme component of a URI, as + per IETF RFC 3986."; + reference + "RFC 3986: URI Generic Syntax."; + } + + container authority { + leaf userinfo { + type string; + description + "Corresponds to the userinfo field of the authority + component of a URI, as per IETF RFC 3986. + + For HTTP and HTTPS URIs, the provisions in + sections 2.7.1 and 2.7.2 of IETF RFC 7230 apply, + respectively."; + reference + "RFC 3986: URI Generic Syntax."; + } + + leaf host { + type yang:host; + description + "Corresponds to the host field of the authority + component of a URI, as per IETF RFC 3986."; + reference + "RFC 3986: URI Generic Syntax."; + } + + leaf port { + type yang:port-number; + description + "Corresponds to the port field of the authority + component of a URI, as per IETF RFC 3986."; + reference + "RFC 3986: URI Generic Syntax."; + } + description + "Corresponds to the authority component of a URI, + as per IETF RFC 3986."; + reference + "RFC 3986: URI Generic Syntax."; + } + + leaf path { + type string; + description + "Corresponds to the path component of a URI, as per + IETF RFC 3986."; + reference + "RFC 3986: URI Generic Syntax."; + } + + leaf query { + type string; + description + "Corresponds to the query component of a URI, as per + IETF RFC 3986."; + reference + "RFC 3986: URI Generic Syntax."; + } + + leaf fragment { + type string; + description + "Corresponds to the fragment component of a URI, as per + IETF RFC 3986."; + reference + "RFC 3986: URI Generic Syntax."; + } + description + "Provides components to build a Uniform Resource + Identifier (URI) where to access the interface end + point."; + } + + leaf-list interface-specific-data { + type string; + description + "Provides additional details that are specific to the + type of interface considered."; + } + description + "Provide additional data to access the interface + endpoint (e.g. API URI prefix)."; + } + + leaf credentials { + type string; + description + "Provides credential enabling access to the interface."; + } + description + "Contains information enabling access to the NFV-MANO interfaces produced by the VNFM (e.g. URIs and credentials)."; reference @@ -2632,10 +2736,9 @@ submodule etsi-nfv-vnf { information element"; } - leaf vnfm-oauth-server-info { - type string; - description - "Contains information to enable discovery of the + container vnfm-oauth-server-info { + description + "Contains information to enable discovery of the authorization server protecting access to VNFM interfaces."; reference @@ -2643,10 +2746,9 @@ submodule etsi-nfv-vnf { information element"; } - leaf vnf-oauth-server-info { - type string; - description - "Contains information to enable discovery of the + container vnf-oauth-server-info { + description + "Contains information to enable discovery of the authorization server to validate the access tokens provided by the VNFM when the VNFM accesses the VNF interfaces, if that functionality (token introspection) is