601 lines
20 KiB
Text
601 lines
20 KiB
Text
|
<?xml version="1.0" encoding="UTF-8"?>
|
||
|
<module name="ietf-netconf-monitoring"
|
||
|
xmlns="urn:ietf:params:xml:ns:yang:yin:1"
|
||
|
xmlns:ncm="urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring"
|
||
|
xmlns:yang="urn:ietf:params:xml:ns:yang:ietf-yang-types"
|
||
|
xmlns:inet="urn:ietf:params:xml:ns:yang:ietf-inet-types">
|
||
|
<namespace uri="urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring"/>
|
||
|
<prefix value="ncm"/>
|
||
|
<import module="ietf-yang-types">
|
||
|
<prefix value="yang"/>
|
||
|
</import>
|
||
|
<import module="ietf-inet-types">
|
||
|
<prefix value="inet"/>
|
||
|
</import>
|
||
|
<organization>
|
||
|
<text>IETF NETCONF (Network Configuration) Working Group</text>
|
||
|
</organization>
|
||
|
<contact>
|
||
|
<text>WG Web: <http://tools.ietf.org/wg/netconf/>
|
||
|
WG List: <mailto:netconf@ietf.org>
|
||
|
|
||
|
WG Chair: Mehmet Ersue
|
||
|
<mailto:mehmet.ersue@nsn.com>
|
||
|
|
||
|
WG Chair: Bert Wijnen
|
||
|
<mailto:bertietf@bwijnen.net>
|
||
|
|
||
|
Editor: Mark Scott
|
||
|
<mailto:mark.scott@ericsson.com>
|
||
|
|
||
|
Editor: Martin Bjorklund
|
||
|
<mailto:mbj@tail-f.com></text>
|
||
|
</contact>
|
||
|
<description>
|
||
|
<text>NETCONF Monitoring Module.
|
||
|
All elements in this module are read-only.
|
||
|
|
||
|
Copyright (c) 2010 IETF Trust and the persons identified as
|
||
|
authors of the code. All rights reserved.
|
||
|
|
||
|
Redistribution and use in source and binary forms, with or
|
||
|
without modification, is permitted pursuant to, and subject
|
||
|
to the license terms contained in, the Simplified BSD
|
||
|
License set forth in Section 4.c of the IETF Trust's
|
||
|
Legal Provisions Relating to IETF Documents
|
||
|
(http://trustee.ietf.org/license-info).
|
||
|
|
||
|
This version of this YANG module is part of RFC 6022; see
|
||
|
the RFC itself for full legal notices.</text>
|
||
|
</description>
|
||
|
<revision date="2010-10-04">
|
||
|
<description>
|
||
|
<text>Initial revision.</text>
|
||
|
</description>
|
||
|
<reference>
|
||
|
<text>RFC 6022: YANG Module for NETCONF Monitoring</text>
|
||
|
</reference>
|
||
|
</revision>
|
||
|
<typedef name="netconf-datastore-type">
|
||
|
<type name="enumeration">
|
||
|
<enum name="running"/>
|
||
|
<enum name="candidate"/>
|
||
|
<enum name="startup"/>
|
||
|
</type>
|
||
|
<description>
|
||
|
<text>Enumeration of possible NETCONF datastore types.</text>
|
||
|
</description>
|
||
|
<reference>
|
||
|
<text>RFC 4741: NETCONF Configuration Protocol</text>
|
||
|
</reference>
|
||
|
</typedef>
|
||
|
<identity name="transport">
|
||
|
<description>
|
||
|
<text>Base identity for NETCONF transport types.</text>
|
||
|
</description>
|
||
|
</identity>
|
||
|
<identity name="netconf-ssh">
|
||
|
<base name="transport"/>
|
||
|
<description>
|
||
|
<text>NETCONF over Secure Shell (SSH).</text>
|
||
|
</description>
|
||
|
<reference>
|
||
|
<text>RFC 4742: Using the NETCONF Configuration Protocol
|
||
|
over Secure SHell (SSH)</text>
|
||
|
</reference>
|
||
|
</identity>
|
||
|
<identity name="netconf-soap-over-beep">
|
||
|
<base name="transport"/>
|
||
|
<description>
|
||
|
<text>NETCONF over Simple Object Access Protocol (SOAP) over
|
||
|
Blocks Extensible Exchange Protocol (BEEP).</text>
|
||
|
</description>
|
||
|
<reference>
|
||
|
<text>RFC 4743: Using NETCONF over the Simple Object
|
||
|
Access Protocol (SOAP)</text>
|
||
|
</reference>
|
||
|
</identity>
|
||
|
<identity name="netconf-soap-over-https">
|
||
|
<base name="transport"/>
|
||
|
<description>
|
||
|
<text>NETCONF over Simple Object Access Protocol (SOAP)
|
||
|
over Hypertext Transfer Protocol Secure (HTTPS).</text>
|
||
|
</description>
|
||
|
<reference>
|
||
|
<text>RFC 4743: Using NETCONF over the Simple Object
|
||
|
Access Protocol (SOAP)</text>
|
||
|
</reference>
|
||
|
</identity>
|
||
|
<identity name="netconf-beep">
|
||
|
<base name="transport"/>
|
||
|
<description>
|
||
|
<text>NETCONF over Blocks Extensible Exchange Protocol (BEEP).</text>
|
||
|
</description>
|
||
|
<reference>
|
||
|
<text>RFC 4744: Using the NETCONF Protocol over the
|
||
|
Blocks Extensible Exchange Protocol (BEEP)</text>
|
||
|
</reference>
|
||
|
</identity>
|
||
|
<identity name="netconf-tls">
|
||
|
<base name="transport"/>
|
||
|
<description>
|
||
|
<text>NETCONF over Transport Layer Security (TLS).</text>
|
||
|
</description>
|
||
|
<reference>
|
||
|
<text>RFC 5539: NETCONF over Transport Layer Security (TLS)</text>
|
||
|
</reference>
|
||
|
</identity>
|
||
|
<identity name="schema-format">
|
||
|
<description>
|
||
|
<text>Base identity for data model schema languages.</text>
|
||
|
</description>
|
||
|
</identity>
|
||
|
<identity name="xsd">
|
||
|
<base name="schema-format"/>
|
||
|
<description>
|
||
|
<text>W3C XML Schema Definition.</text>
|
||
|
</description>
|
||
|
<reference>
|
||
|
<text>W3C REC REC-xmlschema-1-20041028:
|
||
|
XML Schema Part 1: Structures</text>
|
||
|
</reference>
|
||
|
</identity>
|
||
|
<identity name="yang">
|
||
|
<base name="schema-format"/>
|
||
|
<description>
|
||
|
<text>The YANG data modeling language for NETCONF.</text>
|
||
|
</description>
|
||
|
<reference>
|
||
|
<text>RFC 6020: YANG - A Data Modeling Language for the
|
||
|
Network Configuration Protocol (NETCONF)</text>
|
||
|
</reference>
|
||
|
</identity>
|
||
|
<identity name="yin">
|
||
|
<base name="schema-format"/>
|
||
|
<description>
|
||
|
<text>The YIN syntax for YANG.</text>
|
||
|
</description>
|
||
|
<reference>
|
||
|
<text>RFC 6020: YANG - A Data Modeling Language for the
|
||
|
Network Configuration Protocol (NETCONF)</text>
|
||
|
</reference>
|
||
|
</identity>
|
||
|
<identity name="rng">
|
||
|
<base name="schema-format"/>
|
||
|
<description>
|
||
|
<text>Regular Language for XML Next Generation (RELAX NG).</text>
|
||
|
</description>
|
||
|
<reference>
|
||
|
<text>ISO/IEC 19757-2:2008: RELAX NG</text>
|
||
|
</reference>
|
||
|
</identity>
|
||
|
<identity name="rnc">
|
||
|
<base name="schema-format"/>
|
||
|
<description>
|
||
|
<text>Relax NG Compact Syntax</text>
|
||
|
</description>
|
||
|
<reference>
|
||
|
<text>ISO/IEC 19757-2:2008: RELAX NG</text>
|
||
|
</reference>
|
||
|
</identity>
|
||
|
<grouping name="common-counters">
|
||
|
<description>
|
||
|
<text>Counters that exist both per session, and also globally,
|
||
|
accumulated from all sessions.</text>
|
||
|
</description>
|
||
|
<leaf name="in-rpcs">
|
||
|
<type name="yang:zero-based-counter32"/>
|
||
|
<description>
|
||
|
<text>Number of correct <rpc> messages received.</text>
|
||
|
</description>
|
||
|
</leaf>
|
||
|
<leaf name="in-bad-rpcs">
|
||
|
<type name="yang:zero-based-counter32"/>
|
||
|
<description>
|
||
|
<text>Number of messages received when an <rpc> message was expected,
|
||
|
that were not correct <rpc> messages. This includes XML parse
|
||
|
errors and errors on the rpc layer.</text>
|
||
|
</description>
|
||
|
</leaf>
|
||
|
<leaf name="out-rpc-errors">
|
||
|
<type name="yang:zero-based-counter32"/>
|
||
|
<description>
|
||
|
<text>Number of <rpc-reply> messages sent that contained an
|
||
|
<rpc-error> element.</text>
|
||
|
</description>
|
||
|
</leaf>
|
||
|
<leaf name="out-notifications">
|
||
|
<type name="yang:zero-based-counter32"/>
|
||
|
<description>
|
||
|
<text>Number of <notification> messages sent.</text>
|
||
|
</description>
|
||
|
</leaf>
|
||
|
</grouping>
|
||
|
<container name="netconf-state">
|
||
|
<config value="false"/>
|
||
|
<description>
|
||
|
<text>The netconf-state container is the root of the monitoring
|
||
|
data model.</text>
|
||
|
</description>
|
||
|
<container name="capabilities">
|
||
|
<description>
|
||
|
<text>Contains the list of NETCONF capabilities supported by the
|
||
|
server.</text>
|
||
|
</description>
|
||
|
<leaf-list name="capability">
|
||
|
<type name="inet:uri"/>
|
||
|
<description>
|
||
|
<text>List of NETCONF capabilities supported by the server.</text>
|
||
|
</description>
|
||
|
</leaf-list>
|
||
|
</container>
|
||
|
<container name="datastores">
|
||
|
<description>
|
||
|
<text>Contains the list of NETCONF configuration datastores.</text>
|
||
|
</description>
|
||
|
<list name="datastore">
|
||
|
<key value="name"/>
|
||
|
<description>
|
||
|
<text>List of NETCONF configuration datastores supported by
|
||
|
the NETCONF server and related information.</text>
|
||
|
</description>
|
||
|
<leaf name="name">
|
||
|
<type name="netconf-datastore-type"/>
|
||
|
<description>
|
||
|
<text>Name of the datastore associated with this list entry.</text>
|
||
|
</description>
|
||
|
</leaf>
|
||
|
<container name="locks">
|
||
|
<presence value="This container is present only if the datastore is locked."/>
|
||
|
<description>
|
||
|
<text>The NETCONF <lock> and <partial-lock> operations allow
|
||
|
a client to lock specific resources in a datastore. The
|
||
|
NETCONF server will prevent changes to the locked
|
||
|
resources by all sessions except the one that acquired
|
||
|
the lock(s).
|
||
|
|
||
|
Monitoring information is provided for each datastore
|
||
|
entry including details such as the session that acquired
|
||
|
the lock, the type of lock (global or partial) and the
|
||
|
list of locked resources. Multiple locks per datastore
|
||
|
are supported.</text>
|
||
|
</description>
|
||
|
<grouping name="lock-info">
|
||
|
<description>
|
||
|
<text>Lock related parameters, common to both global and
|
||
|
partial locks.</text>
|
||
|
</description>
|
||
|
<leaf name="locked-by-session">
|
||
|
<type name="uint32"/>
|
||
|
<mandatory value="true"/>
|
||
|
<description>
|
||
|
<text>The session ID of the session that has locked
|
||
|
this resource. Both a global lock and a partial
|
||
|
lock MUST contain the NETCONF session-id.
|
||
|
|
||
|
If the lock is held by a session that is not managed
|
||
|
by the NETCONF server (e.g., a CLI session), a session
|
||
|
id of 0 (zero) is reported.</text>
|
||
|
</description>
|
||
|
<reference>
|
||
|
<text>RFC 4741: NETCONF Configuration Protocol</text>
|
||
|
</reference>
|
||
|
</leaf>
|
||
|
<leaf name="locked-time">
|
||
|
<type name="yang:date-and-time"/>
|
||
|
<mandatory value="true"/>
|
||
|
<description>
|
||
|
<text>The date and time of when the resource was
|
||
|
locked.</text>
|
||
|
</description>
|
||
|
</leaf>
|
||
|
</grouping>
|
||
|
<choice name="lock-type">
|
||
|
<description>
|
||
|
<text>Indicates if a global lock or a set of partial locks
|
||
|
are set.</text>
|
||
|
</description>
|
||
|
<container name="global-lock">
|
||
|
<description>
|
||
|
<text>Present if the global lock is set.</text>
|
||
|
</description>
|
||
|
<uses name="lock-info"/>
|
||
|
</container>
|
||
|
<list name="partial-lock">
|
||
|
<key value="lock-id"/>
|
||
|
<description>
|
||
|
<text>List of partial locks.</text>
|
||
|
</description>
|
||
|
<reference>
|
||
|
<text>RFC 5717: Partial Lock Remote Procedure Call (RPC) for
|
||
|
NETCONF</text>
|
||
|
</reference>
|
||
|
<leaf name="lock-id">
|
||
|
<type name="uint32"/>
|
||
|
<description>
|
||
|
<text>This is the lock id returned in the <partial-lock>
|
||
|
response.</text>
|
||
|
</description>
|
||
|
</leaf>
|
||
|
<uses name="lock-info"/>
|
||
|
<leaf-list name="select">
|
||
|
<type name="yang:xpath1.0"/>
|
||
|
<min-elements value="1"/>
|
||
|
<description>
|
||
|
<text>The xpath expression that was used to request
|
||
|
the lock. The select expression indicates the
|
||
|
original intended scope of the lock.</text>
|
||
|
</description>
|
||
|
</leaf-list>
|
||
|
<leaf-list name="locked-node">
|
||
|
<type name="instance-identifier"/>
|
||
|
<description>
|
||
|
<text>The list of instance-identifiers (i.e., the
|
||
|
locked nodes).
|
||
|
|
||
|
The scope of the partial lock is defined by the list
|
||
|
of locked nodes.</text>
|
||
|
</description>
|
||
|
</leaf-list>
|
||
|
</list>
|
||
|
</choice>
|
||
|
</container>
|
||
|
</list>
|
||
|
</container>
|
||
|
<container name="schemas">
|
||
|
<description>
|
||
|
<text>Contains the list of data model schemas supported by the
|
||
|
server.</text>
|
||
|
</description>
|
||
|
<list name="schema">
|
||
|
<key value="identifier version format"/>
|
||
|
<description>
|
||
|
<text>List of data model schemas supported by the server.</text>
|
||
|
</description>
|
||
|
<leaf name="identifier">
|
||
|
<type name="string"/>
|
||
|
<description>
|
||
|
<text>Identifier to uniquely reference the schema. The
|
||
|
identifier is used in the <get-schema> operation and may
|
||
|
be used for other purposes such as file retrieval.
|
||
|
|
||
|
For modeling languages that support or require a data
|
||
|
model name (e.g., YANG module name) the identifier MUST
|
||
|
match that name. For YANG data models, the identifier is
|
||
|
the name of the module or submodule. In other cases, an
|
||
|
identifier such as a filename MAY be used instead.</text>
|
||
|
</description>
|
||
|
</leaf>
|
||
|
<leaf name="version">
|
||
|
<type name="string"/>
|
||
|
<description>
|
||
|
<text>Version of the schema supported. Multiple versions MAY be
|
||
|
supported simultaneously by a NETCONF server. Each
|
||
|
version MUST be reported individually in the schema list,
|
||
|
i.e., with same identifier, possibly different location,
|
||
|
but different version.
|
||
|
|
||
|
For YANG data models, version is the value of the most
|
||
|
recent YANG 'revision' statement in the module or
|
||
|
submodule, or the empty string if no 'revision' statement
|
||
|
is present.</text>
|
||
|
</description>
|
||
|
</leaf>
|
||
|
<leaf name="format">
|
||
|
<type name="identityref">
|
||
|
<base name="schema-format"/>
|
||
|
</type>
|
||
|
<description>
|
||
|
<text>The data modeling language the schema is written
|
||
|
in (currently xsd, yang, yin, rng, or rnc).
|
||
|
For YANG data models, 'yang' format MUST be supported and
|
||
|
'yin' format MAY also be provided.</text>
|
||
|
</description>
|
||
|
</leaf>
|
||
|
<leaf name="namespace">
|
||
|
<type name="inet:uri"/>
|
||
|
<mandatory value="true"/>
|
||
|
<description>
|
||
|
<text>The XML namespace defined by the data model.
|
||
|
|
||
|
For YANG data models, this is the module's namespace.
|
||
|
If the list entry describes a submodule, this field
|
||
|
contains the namespace of the module to which the
|
||
|
submodule belongs.</text>
|
||
|
</description>
|
||
|
</leaf>
|
||
|
<leaf-list name="location">
|
||
|
<type name="union">
|
||
|
<type name="enumeration">
|
||
|
<enum name="NETCONF"/>
|
||
|
</type>
|
||
|
<type name="inet:uri"/>
|
||
|
</type>
|
||
|
<description>
|
||
|
<text>One or more locations from which the schema can be
|
||
|
retrieved. This list SHOULD contain at least one
|
||
|
entry per schema.
|
||
|
|
||
|
A schema entry may be located on a remote file system
|
||
|
(e.g., reference to file system for ftp retrieval) or
|
||
|
retrieved directly from a server supporting the
|
||
|
<get-schema> operation (denoted by the value 'NETCONF').</text>
|
||
|
</description>
|
||
|
</leaf-list>
|
||
|
</list>
|
||
|
</container>
|
||
|
<container name="sessions">
|
||
|
<description>
|
||
|
<text>The sessions container includes session-specific data for
|
||
|
NETCONF management sessions. The session list MUST include
|
||
|
all currently active NETCONF sessions.</text>
|
||
|
</description>
|
||
|
<list name="session">
|
||
|
<key value="session-id"/>
|
||
|
<description>
|
||
|
<text>All NETCONF sessions managed by the NETCONF server
|
||
|
MUST be reported in this list.</text>
|
||
|
</description>
|
||
|
<leaf name="session-id">
|
||
|
<type name="uint32">
|
||
|
<range value="1..max"/>
|
||
|
</type>
|
||
|
<description>
|
||
|
<text>Unique identifier for the session. This value is the
|
||
|
NETCONF session identifier, as defined in RFC 4741.</text>
|
||
|
</description>
|
||
|
<reference>
|
||
|
<text>RFC 4741: NETCONF Configuration Protocol</text>
|
||
|
</reference>
|
||
|
</leaf>
|
||
|
<leaf name="transport">
|
||
|
<type name="identityref">
|
||
|
<base name="transport"/>
|
||
|
</type>
|
||
|
<mandatory value="true"/>
|
||
|
<description>
|
||
|
<text>Identifies the transport for each session, e.g.,
|
||
|
'netconf-ssh', 'netconf-soap', etc.</text>
|
||
|
</description>
|
||
|
</leaf>
|
||
|
<leaf name="username">
|
||
|
<type name="string"/>
|
||
|
<mandatory value="true"/>
|
||
|
<description>
|
||
|
<text>The username is the client identity that was authenticated
|
||
|
by the NETCONF transport protocol. The algorithm used to
|
||
|
derive the username is NETCONF transport protocol specific
|
||
|
and in addition specific to the authentication mechanism
|
||
|
used by the NETCONF transport protocol.</text>
|
||
|
</description>
|
||
|
</leaf>
|
||
|
<leaf name="source-host">
|
||
|
<type name="inet:host"/>
|
||
|
<description>
|
||
|
<text>Host identifier of the NETCONF client. The value
|
||
|
returned is implementation specific (e.g., hostname,
|
||
|
IPv4 address, IPv6 address)</text>
|
||
|
</description>
|
||
|
</leaf>
|
||
|
<leaf name="login-time">
|
||
|
<type name="yang:date-and-time"/>
|
||
|
<mandatory value="true"/>
|
||
|
<description>
|
||
|
<text>Time at the server at which the session was established.</text>
|
||
|
</description>
|
||
|
</leaf>
|
||
|
<uses name="common-counters">
|
||
|
<description>
|
||
|
<text>Per-session counters. Zero based with following reset
|
||
|
behaviour:
|
||
|
- at start of a session
|
||
|
- when max value is reached</text>
|
||
|
</description>
|
||
|
</uses>
|
||
|
</list>
|
||
|
</container>
|
||
|
<container name="statistics">
|
||
|
<description>
|
||
|
<text>Statistical data pertaining to the NETCONF server.</text>
|
||
|
</description>
|
||
|
<leaf name="netconf-start-time">
|
||
|
<type name="yang:date-and-time"/>
|
||
|
<description>
|
||
|
<text>Date and time at which the management subsystem was
|
||
|
started.</text>
|
||
|
</description>
|
||
|
</leaf>
|
||
|
<leaf name="in-bad-hellos">
|
||
|
<type name="yang:zero-based-counter32"/>
|
||
|
<description>
|
||
|
<text>Number of sessions silently dropped because an
|
||
|
invalid <hello> message was received. This includes <hello>
|
||
|
messages with a 'session-id' attribute, bad namespace, and
|
||
|
bad capability declarations.</text>
|
||
|
</description>
|
||
|
</leaf>
|
||
|
<leaf name="in-sessions">
|
||
|
<type name="yang:zero-based-counter32"/>
|
||
|
<description>
|
||
|
<text>Number of sessions started. This counter is incremented
|
||
|
when a <hello> message with a <session-id> is sent.
|
||
|
|
||
|
'in-sessions' - 'in-bad-hellos' =
|
||
|
'number of correctly started netconf sessions'</text>
|
||
|
</description>
|
||
|
</leaf>
|
||
|
<leaf name="dropped-sessions">
|
||
|
<type name="yang:zero-based-counter32"/>
|
||
|
<description>
|
||
|
<text>Number of sessions that were abnormally terminated, e.g.,
|
||
|
due to idle timeout or transport close. This counter is not
|
||
|
incremented when a session is properly closed by a
|
||
|
<close-session> operation, or killed by a <kill-session>
|
||
|
operation.</text>
|
||
|
</description>
|
||
|
</leaf>
|
||
|
<uses name="common-counters">
|
||
|
<description>
|
||
|
<text>Global counters, accumulated from all sessions.
|
||
|
Zero based with following reset behaviour:
|
||
|
- re-initialization of NETCONF server
|
||
|
- when max value is reached</text>
|
||
|
</description>
|
||
|
</uses>
|
||
|
</container>
|
||
|
</container>
|
||
|
<rpc name="get-schema">
|
||
|
<description>
|
||
|
<text>This operation is used to retrieve a schema from the
|
||
|
NETCONF server.
|
||
|
|
||
|
Positive Response:
|
||
|
The NETCONF server returns the requested schema.
|
||
|
|
||
|
Negative Response:
|
||
|
If requested schema does not exist, the <error-tag> is
|
||
|
'invalid-value'.
|
||
|
|
||
|
If more than one schema matches the requested parameters, the
|
||
|
<error-tag> is 'operation-failed', and <error-app-tag> is
|
||
|
'data-not-unique'.</text>
|
||
|
</description>
|
||
|
<input>
|
||
|
<leaf name="identifier">
|
||
|
<type name="string"/>
|
||
|
<mandatory value="true"/>
|
||
|
<description>
|
||
|
<text>Identifier for the schema list entry.</text>
|
||
|
</description>
|
||
|
</leaf>
|
||
|
<leaf name="version">
|
||
|
<type name="string"/>
|
||
|
<description>
|
||
|
<text>Version of the schema requested. If this parameter is not
|
||
|
present, and more than one version of the schema exists on
|
||
|
the server, a 'data-not-unique' error is returned, as
|
||
|
described above.</text>
|
||
|
</description>
|
||
|
</leaf>
|
||
|
<leaf name="format">
|
||
|
<type name="identityref">
|
||
|
<base name="schema-format"/>
|
||
|
</type>
|
||
|
<description>
|
||
|
<text>The data modeling language of the schema. If this
|
||
|
parameter is not present, and more than one formats of
|
||
|
the schema exists on the server, a 'data-not-unique' error
|
||
|
is returned, as described above.</text>
|
||
|
</description>
|
||
|
</leaf>
|
||
|
</input>
|
||
|
<output>
|
||
|
<anyxml name="data">
|
||
|
<description>
|
||
|
<text>Contains the schema content.</text>
|
||
|
</description>
|
||
|
</anyxml>
|
||
|
</output>
|
||
|
</rpc>
|
||
|
</module>
|