draft-ietf-netconf-restconf-05.txt   draft-ietf-netconf-restconf-06.txt 
Network Working Group A. Bierman Network Working Group A. Bierman
Internet-Draft YumaWorks Internet-Draft YumaWorks
Intended status: Standards Track M. Bjorklund Intended status: Standards Track M. Bjorklund
Expires: December 6, 2015 Tail-f Systems Expires: December 22, 2015 Tail-f Systems
K. Watsen K. Watsen
Juniper Networks Juniper Networks
June 4, 2015 June 20, 2015
RESTCONF Protocol RESTCONF Protocol
draft-ietf-netconf-restconf-05 draft-ietf-netconf-restconf-06
Abstract Abstract
This document describes an HTTP-based protocol that provides a This document describes an HTTP-based protocol that provides a
programmatic interface for accessing data defined in YANG, using the programmatic interface for accessing data defined in YANG, using the
datastores defined in NETCONF. datastores defined in NETCONF.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
skipping to change at page 1, line 35 skipping to change at page 1, line 35
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on December 6, 2015. This Internet-Draft will expire on December 22, 2015.
Copyright Notice Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the Copyright (c) 2015 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 4, line 6 skipping to change at page 4, line 6
11.2. YANG Module Registry . . . . . . . . . . . . . . . . . . 68 11.2. YANG Module Registry . . . . . . . . . . . . . . . . . . 68
11.3. application/yang Media Sub Types . . . . . . . . . . . . 69 11.3. application/yang Media Sub Types . . . . . . . . . . . . 69
11.4. RESTCONF Capability URNs . . . . . . . . . . . . . . . . 70 11.4. RESTCONF Capability URNs . . . . . . . . . . . . . . . . 70
12. Security Considerations . . . . . . . . . . . . . . . . . . . 71 12. Security Considerations . . . . . . . . . . . . . . . . . . . 71
13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 72 13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 72
14. References . . . . . . . . . . . . . . . . . . . . . . . . . 72 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 72
14.1. Normative References . . . . . . . . . . . . . . . . . . 72 14.1. Normative References . . . . . . . . . . . . . . . . . . 72
14.2. Informative References . . . . . . . . . . . . . . . . . 75 14.2. Informative References . . . . . . . . . . . . . . . . . 75
Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 75 Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 75
A.1. 04 - 05 . . . . . . . . . . . . . . . . . . . . . . . . . 75 A.1. 05 - 06 . . . . . . . . . . . . . . . . . . . . . . . . . 75
A.2. 03 - 04 . . . . . . . . . . . . . . . . . . . . . . . . . 76 A.2. 04 - 05 . . . . . . . . . . . . . . . . . . . . . . . . . 75
A.3. 02 - 03 . . . . . . . . . . . . . . . . . . . . . . . . . 77 A.3. 03 - 04 . . . . . . . . . . . . . . . . . . . . . . . . . 76
A.4. 01 - 02 . . . . . . . . . . . . . . . . . . . . . . . . . 77 A.4. 02 - 03 . . . . . . . . . . . . . . . . . . . . . . . . . 77
A.5. 00 - 01 . . . . . . . . . . . . . . . . . . . . . . . . . 78 A.5. 01 - 02 . . . . . . . . . . . . . . . . . . . . . . . . . 77
A.6. bierman:restconf-04 to ietf:restconf-00 . . . . . . . . . 79 A.6. 00 - 01 . . . . . . . . . . . . . . . . . . . . . . . . . 78
A.7. bierman:restconf-04 to ietf:restconf-00 . . . . . . . . . 79
Appendix B. Open Issues . . . . . . . . . . . . . . . . . . . . 79 Appendix B. Open Issues . . . . . . . . . . . . . . . . . . . . 79
Appendix C. Example YANG Module . . . . . . . . . . . . . . . . 79 Appendix C. Example YANG Module . . . . . . . . . . . . . . . . 79
C.1. example-jukebox YANG Module . . . . . . . . . . . . . . . 80 C.1. example-jukebox YANG Module . . . . . . . . . . . . . . . 80
Appendix D. RESTCONF Message Examples . . . . . . . . . . . . . 85 Appendix D. RESTCONF Message Examples . . . . . . . . . . . . . 85
D.1. Resource Retrieval Examples . . . . . . . . . . . . . . . 86 D.1. Resource Retrieval Examples . . . . . . . . . . . . . . . 86
D.1.1. Retrieve the Top-level API Resource . . . . . . . . . 86 D.1.1. Retrieve the Top-level API Resource . . . . . . . . . 86
D.1.2. Retrieve The Server Module Information . . . . . . . 87 D.1.2. Retrieve The Server Module Information . . . . . . . 87
D.1.3. Retrieve The Server Capability Information . . . . . 88 D.1.3. Retrieve The Server Capability Information . . . . . 88
D.2. Edit Resource Examples . . . . . . . . . . . . . . . . . 89 D.2. Edit Resource Examples . . . . . . . . . . . . . . . . . 89
D.2.1. Create New Data Resources . . . . . . . . . . . . . . 89 D.2.1. Create New Data Resources . . . . . . . . . . . . . . 89
skipping to change at page 44, line 39 skipping to change at page 44, line 39
5.4. RESTCONF Meta-Data 5.4. RESTCONF Meta-Data
The RESTCONF protocol needs to retrieve the same meta-data that is The RESTCONF protocol needs to retrieve the same meta-data that is
used in the NETCONF protocol. Information about default leafs, last- used in the NETCONF protocol. Information about default leafs, last-
modified timestamps, etc. are commonly used to annotate modified timestamps, etc. are commonly used to annotate
representations of the datastore contents. This meta-data is not representations of the datastore contents. This meta-data is not
defined in the YANG schema because it applies to the datastore, and defined in the YANG schema because it applies to the datastore, and
is common across all data nodes. is common across all data nodes.
This information is encoded as attributes in XML. JSON encoding of This information is encoded as attributes in XML. JSON encoding of
meta-data is defined in [I-D.lhotka-netmod-yang-metadata]. meta-data is defined in [I-D.ietf-netmod-yang-metadata].
5.5. Return Status 5.5. Return Status
Each message represents some sort of resource access. An HTTP Each message represents some sort of resource access. An HTTP
"status-line" header line is returned for each request. If a 4xx or "status-line" header line is returned for each request. If a 4xx or
5xx range status code is returned in the status-line, then the error 5xx range status code is returned in the status-line, then the error
information will be returned in the response, according to the format information will be returned in the response, according to the format
defined in Section 7.1. defined in Section 7.1.
5.6. Message Caching 5.6. Message Caching
skipping to change at page 48, line 26 skipping to change at page 48, line 26
Server Sent Events [W3C.CR-eventsource-20121211] transport strategy. Server Sent Events [W3C.CR-eventsource-20121211] transport strategy.
The server MAY support query parameters for a GET method on this The server MAY support query parameters for a GET method on this
resource. These parameters are specific to each notification stream. resource. These parameters are specific to each notification stream.
For example: For example:
The client might send the following request: The client might send the following request:
GET /restconf/data/ietf-restconf-monitoring:restconf-state/ GET /restconf/data/ietf-restconf-monitoring:restconf-state/
streams/stream=NETCONF/encoding=xml/location HTTP/1.1 streams/stream=NETCONF/access=xml/location HTTP/1.1
Host: example.com Host: example.com
Accept: application/yang.data+xml Accept: application/yang.data+xml
The server might send the following response: The server might send the following response:
HTTP/1.1 200 OK HTTP/1.1 200 OK
Content-Type: application/yang.api+xml Content-Type: application/yang.api+xml
<location <location
xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf-monitoring"> xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf-monitoring">
skipping to change at page 56, line 47 skipping to change at page 56, line 47
Relating to IETF Documents Relating to IETF Documents
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices."; the RFC itself for full legal notices.";
// RFC Ed.: replace XXXX with actual RFC number and remove this // RFC Ed.: replace XXXX with actual RFC number and remove this
// note. // note.
// RFC Ed.: remove this note // RFC Ed.: remove this note
// Note: extracted from draft-ietf-netconf-restconf-05.txt // Note: extracted from draft-ietf-netconf-restconf-06.txt
// RFC Ed.: update the date below with the date of RFC publication // RFC Ed.: update the date below with the date of RFC publication
// and remove this note. // and remove this note.
revision 2015-06-04 { revision 2015-06-04 {
description description
"Initial revision."; "Initial revision.";
reference reference
"RFC XXXX: RESTCONF Protocol."; "RFC XXXX: RESTCONF Protocol.";
} }
skipping to change at page 64, line 8 skipping to change at page 64, line 8
The "ietf-restconf-monitoring" module defines monitoring information The "ietf-restconf-monitoring" module defines monitoring information
for the RESTCONF protocol. for the RESTCONF protocol.
The "ietf-yang-types" and "ietf-inet-types" modules from [RFC6991] The "ietf-yang-types" and "ietf-inet-types" modules from [RFC6991]
are used by this module for some type definitions. are used by this module for some type definitions.
RFC Ed.: update the date below with the date of RFC publication and RFC Ed.: update the date below with the date of RFC publication and
remove this note. remove this note.
<CODE BEGINS> file "ietf-restconf-monitoring@2015-06-04.yang" <CODE BEGINS> file "ietf-restconf-monitoring@2015-06-19.yang"
module ietf-restconf-monitoring { module ietf-restconf-monitoring {
namespace "urn:ietf:params:xml:ns:yang:ietf-restconf-monitoring"; namespace "urn:ietf:params:xml:ns:yang:ietf-restconf-monitoring";
prefix "rcmon"; prefix "rcmon";
import ietf-yang-types { prefix yang; } import ietf-yang-types { prefix yang; }
import ietf-inet-types { prefix inet; } import ietf-inet-types { prefix inet; }
organization organization
"IETF NETCONF (Network Configuration) Working Group"; "IETF NETCONF (Network Configuration) Working Group";
skipping to change at page 65, line 11 skipping to change at page 65, line 11
set forth in Section 4.c of the IETF Trust's Legal Provisions set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents Relating to IETF Documents
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices."; the RFC itself for full legal notices.";
// RFC Ed.: replace XXXX with actual RFC number and remove this // RFC Ed.: replace XXXX with actual RFC number and remove this
// note. // note.
// RFC Ed.: remove this note // RFC Ed.: remove this note
// Note: extracted from draft-ietf-netconf-restconf-05.txt // Note: extracted from draft-ietf-netconf-restconf-06.txt
// RFC Ed.: update the date below with the date of RFC publication // RFC Ed.: update the date below with the date of RFC publication
// and remove this note. // and remove this note.
revision 2015-06-04 { revision 2015-06-19 {
description description
"Initial revision."; "Initial revision.";
reference reference
"RFC XXXX: RESTCONF Protocol."; "RFC XXXX: RESTCONF Protocol.";
} }
container restconf-state { container restconf-state {
config false; config false;
description description
"Contains RESTCONF protocol monitoring information."; "Contains RESTCONF protocol monitoring information.";
skipping to change at page 66, line 40 skipping to change at page 66, line 40
type yang:date-and-time; type yang:date-and-time;
description description
"Indicates the time the replay log for this stream "Indicates the time the replay log for this stream
was created."; was created.";
reference reference
"RFC 5277, Section 3.4, <replayLogCreationTime> "RFC 5277, Section 3.4, <replayLogCreationTime>
element."; element.";
} }
list access { list access {
key type; key encoding;
min-elements 1; min-elements 1;
description description
"The server will create an entry in this list for each "The server will create an entry in this list for each
encoding format that is supported for this stream. encoding format that is supported for this stream.
The media type 'application/yang.stream' is expected The media type 'application/yang.stream' is expected
for all event streams. This list identifies the for all event streams. This list identifies the
sub-types supported for this stream."; sub-types supported for this stream.";
leaf encoding { leaf encoding {
type string; type string;
skipping to change at page 72, line 33 skipping to change at page 72, line 33
14.1. Normative References 14.1. Normative References
[I-D.ietf-netconf-yang-library] [I-D.ietf-netconf-yang-library]
Bierman, A., Bjorklund, M., and K. Watsen, "YANG Module Bierman, A., Bjorklund, M., and K. Watsen, "YANG Module
Library", draft-ietf-netconf-yang-library-00 (work in Library", draft-ietf-netconf-yang-library-00 (work in
progress), January 2015. progress), January 2015.
[I-D.ietf-netmod-yang-json] [I-D.ietf-netmod-yang-json]
Lhotka, L., "JSON Encoding of Data Modeled with YANG", Lhotka, L., "JSON Encoding of Data Modeled with YANG",
draft-ietf-netmod-yang-json-02 (work in progress), draft-ietf-netmod-yang-json-03 (work in progress),
November 2014. February 2015.
[I-D.lhotka-netmod-yang-metadata] [I-D.ietf-netmod-yang-metadata]
Lhotka, L., "Defining and Using Metadata with YANG", Lhotka, L., "Defining and Using Metadata with YANG",
draft-lhotka-netmod-yang-metadata-01 (work in progress), draft-ietf-netmod-yang-metadata-00 (work in progress),
February 2015. April 2015.
[RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail [RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
Extensions (MIME) Part Two: Media Types", RFC 2046, Extensions (MIME) Part Two: Media Types", RFC 2046,
November 1996. November 1996.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2396] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform [RFC2396] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
Resource Identifiers (URI): Generic Syntax", RFC 2396, Resource Identifiers (URI): Generic Syntax", RFC 2396,
skipping to change at page 75, line 30 skipping to change at page 75, line 30
[draft-thomson-httpbis-cant-01] [draft-thomson-httpbis-cant-01]
Thomson, M., "Client Authentication over New TLS Thomson, M., "Client Authentication over New TLS
Connection", draft-thomson-httpbis-cant-01 (work in Connection", draft-thomson-httpbis-cant-01 (work in
progress), Jul 2014. progress), Jul 2014.
14.2. Informative References 14.2. Informative References
[I-D.ietf-netconf-yang-patch] [I-D.ietf-netconf-yang-patch]
Bierman, A., Bjorklund, M., and K. Watsen, "YANG Patch Bierman, A., Bjorklund, M., and K. Watsen, "YANG Patch
Media Type", draft-ietf-netconf-yang-patch-03 (work in Media Type", draft-ietf-netconf-yang-patch-04 (work in
progress), January 2015. progress), June 2015.
[rest-dissertation] [rest-dissertation]
Fielding, R., "Architectural Styles and the Design of Fielding, R., "Architectural Styles and the Design of
Network-based Software Architectures", 2000. Network-based Software Architectures", 2000.
Appendix A. Change Log Appendix A. Change Log
-- RFC Ed.: remove this section before publication. -- RFC Ed.: remove this section before publication.
The RESTCONF issue tracker can be found here: https://github.com/ The RESTCONF issue tracker can be found here: https://github.com/
netconf-wg/restconf/issues netconf-wg/restconf/issues
A.1. 04 - 05 A.1. 05 - 06
o fixed RESTCONF issue #23 (ietf-restconf-monitoring bug)
A.2. 04 - 05
o changed term 'notification event' to 'event notification' o changed term 'notification event' to 'event notification'
o removed intro text about framework and meta-model o removed intro text about framework and meta-model
o removed early mention of API resources o removed early mention of API resources
o removed term unified datastore and cleaned up text about NETCONF o removed term unified datastore and cleaned up text about NETCONF
datastores datastores
o removed text about not immediate persistence of edits o removed text about not immediate persistence of edits
o removed RESTCONF-specific data-resource-identifier typedef and its o removed RESTCONF-specific data-resource-identifier typedef and its
usage usage
o clarified encoding of key leafs o clarified encoding of key leafs
skipping to change at page 76, line 33 skipping to change at page 76, line 35
o renamed stream/encoding/events to stream/access/location o renamed stream/encoding/events to stream/access/location
o changed XPath from informative to normative reference o changed XPath from informative to normative reference
o changed rest-dissertation from normative to informative reference o changed rest-dissertation from normative to informative reference
o changed example-jukebox playlist 'id' from a data-resource- o changed example-jukebox playlist 'id' from a data-resource-
identifier to a leafref pointing at the song name identifier to a leafref pointing at the song name
A.2. 03 - 04 A.3. 03 - 04
o renamed 'select' to 'fields' (#1) o renamed 'select' to 'fields' (#1)
o moved collection resource and page capability to draft-ietf- o moved collection resource and page capability to draft-ietf-
netconf-restconf-collection-00 (#3) netconf-restconf-collection-00 (#3)
o added mandatory "defaults" protocol capability URI (#4) o added mandatory "defaults" protocol capability URI (#4)
o added optional "with-defaults" query parameter URI (#4) o added optional "with-defaults" query parameter URI (#4)
skipping to change at page 77, line 21 skipping to change at page 77, line 24
o changed lock-denied error example o changed lock-denied error example
o added with-defaults query parameter example o added with-defaults query parameter example
o added term "RESTCONF Capability" o added term "RESTCONF Capability"
o changed NETCONF Capability URI registry usage to new RESTCONF o changed NETCONF Capability URI registry usage to new RESTCONF
Capability URI Registry usage Capability URI Registry usage
A.3. 02 - 03 A.4. 02 - 03
o added collection resource o added collection resource
o added "page" query parameter capability o added "page" query parameter capability
o added "limit" and "offset" query parameters, which are available o added "limit" and "offset" query parameters, which are available
if the "page" capability is supported if the "page" capability is supported
o added "stream list" term o added "stream list" term
skipping to change at page 77, line 43 skipping to change at page 77, line 46
o added "encoding" list within the "stream" list to allow different o added "encoding" list within the "stream" list to allow different
<events> URLs for XML and JSON encoding. <events> URLs for XML and JSON encoding.
o made XML MUST implement and JSON MAY implement for servers o made XML MUST implement and JSON MAY implement for servers
o re-add JSON notification examples (previously removed) o re-add JSON notification examples (previously removed)
o updated JSON references o updated JSON references
A.4. 01 - 02 A.5. 01 - 02
o moved query parameter definitions from the YANG module back to the o moved query parameter definitions from the YANG module back to the
plain text sections plain text sections
o made all query parameters optional to implement o made all query parameters optional to implement
o defined query parameter capability URI o defined query parameter capability URI
o moved 'streams' to new YANG module (ietf-restconf-monitoring) o moved 'streams' to new YANG module (ietf-restconf-monitoring)
o added 'capabilities' container to new YANG module (ietf-restconf- o added 'capabilities' container to new YANG module (ietf-restconf-
monitoring) monitoring)
o moved 'modules' container to new YANG module (ietf-yang-library) o moved 'modules' container to new YANG module (ietf-yang-library)
o added new leaf 'module-set-id' (ietf-yang-library) o added new leaf 'module-set-id' (ietf-yang-library)
o added new leaf 'conformance' (ietf-yang-library) o added new leaf 'conformance' (ietf-yang-library)
o changed 'schema' leaf to type inet:uri that returns the location o changed 'schema' leaf to type inet:uri that returns the location
skipping to change at page 78, line 31 skipping to change at page 78, line 35
information is no longer in this resource information is no longer in this resource
o closed issue #1 'select parameter' since no objections to the o closed issue #1 'select parameter' since no objections to the
proposed syntax proposed syntax
o closed "encoding of list keys" issue since no objection to new o closed "encoding of list keys" issue since no objection to new
encoding of list keys in a target resource URI. encoding of list keys in a target resource URI.
o moved open issues list to the issue tracker on github o moved open issues list to the issue tracker on github
A.5. 00 - 01 A.6. 00 - 01
o fixed content=nonconfig example (non-config was incorrect) o fixed content=nonconfig example (non-config was incorrect)
o closed open issue 'message-id'. There is no need for a message-id o closed open issue 'message-id'. There is no need for a message-id
field, and RFC 2392 does not apply. field, and RFC 2392 does not apply.
o closed open issue 'server support verification'. The headers used o closed open issue 'server support verification'. The headers used
by RESTCONF are widely supported. by RESTCONF are widely supported.
o removed encoding rules from section on RESTCONF Meta-Data. This o removed encoding rules from section on RESTCONF Meta-Data. This
skipping to change at page 79, line 27 skipping to change at page 79, line 33
the RESTCONF API using the /.well-known/host-meta. the RESTCONF API using the /.well-known/host-meta.
o added an "error" media type to for structured error messages o added an "error" media type to for structured error messages
o added Secure Transport section requiring TLS o added Secure Transport section requiring TLS
o added Security Considerations section o added Security Considerations section
o removed all references to "REST-like" o removed all references to "REST-like"
A.6. bierman:restconf-04 to ietf:restconf-00 A.7. bierman:restconf-04 to ietf:restconf-00
o updated open issues section o updated open issues section
Appendix B. Open Issues Appendix B. Open Issues
-- RFC Ed.: remove this section before publication. -- RFC Ed.: remove this section before publication.
The RESTCONF issues are tracked on github.com: The RESTCONF issues are tracked on github.com:
https://github.com/netconf-wg/restconf/issues https://github.com/netconf-wg/restconf/issues
skipping to change at page 96, line 52 skipping to change at page 96, line 52
}, },
"playlist" : [ "playlist" : [
{ {
"name" : "Foo-One", "name" : "Foo-One",
"description" : "example playlist 1", "description" : "example playlist 1",
"song" : [ "song" : [
{ {
"index" : 1, "index" : 1,
"id" : "https://example.com/restconf/data/ "id" : "https://example.com/restconf/data/
example-jukebox:jukebox/library/artist= example-jukebox:jukebox/library/artist=
Foo%20Fighters/album/Wasting%20Light/ Foo%20Fighters/album=Wasting%20Light/
song/Rope" song=Rope"
}, },
{ {
"index" : 2, "index" : 2,
"id" : "https://example.com/restconf/data/ "id" : "https://example.com/restconf/data/
example-jukebox:jukebox/library/artist= example-jukebox:jukebox/library/artist=
Foo%20Fighters/album/Wasting%20Light/song/ Foo%20Fighters/album=Wasting%20Light/song=
Bridge%20Burning" Bridge%20Burning"
} }
] ]
} }
], ],
"player" : { "player" : {
"gap" : 0.5 "gap" : 0.5
} }
} }
} }
skipping to change at page 99, line 23 skipping to change at page 99, line 23
{ {
"name" : "example-jukebox", "name" : "example-jukebox",
"revision" : "2015-06-04" "revision" : "2015-06-04"
}, },
{ {
"name" : "ietf-inet-types", "name" : "ietf-inet-types",
"revision" : "2013-07-15" "revision" : "2013-07-15"
}, },
{ {
"name" : "ietf-restconf-monitoring", "name" : "ietf-restconf-monitoring",
"revision" : "2015-06-04" "revision" : "2015-06-19"
}, },
{ {
"name" : "ietf-yang-library", "name" : "ietf-yang-library",
"revision" : "2015-01-30" "revision" : "2015-01-30"
}, },
{ {
"name" : "ietf-yang-types", "name" : "ietf-yang-types",
"revision" : "2013-07-15" "revision" : "2013-07-15"
} }
skipping to change at page 100, line 14 skipping to change at page 100, line 14
POST /restconf/data/example-jukebox:jukebox/ POST /restconf/data/example-jukebox:jukebox/
playlist=Foo-One?insert=first HTTP/1.1 playlist=Foo-One?insert=first HTTP/1.1
Host: example.com Host: example.com
Content-Type: application/yang.data+json Content-Type: application/yang.data+json
{ {
"example-jukebox:song" : { "example-jukebox:song" : {
"index" : 1, "index" : 1,
"id" : "/example-jukebox:jukebox/library/ "id" : "/example-jukebox:jukebox/library/
artist=Foo%20Fighters/album/Wasting%20Light/song/Rope" artist=Foo%20Fighters/album=Wasting%20Light/song=Rope"
} }
} }
Response from server: Response from server:
HTTP/1.1 201 Created HTTP/1.1 201 Created
Date: Mon, 23 Apr 2012 13:01:20 GMT Date: Mon, 23 Apr 2012 13:01:20 GMT
Server: example-server Server: example-server
Last-Modified: Mon, 23 Apr 2012 13:01:20 GMT Last-Modified: Mon, 23 Apr 2012 13:01:20 GMT
Location: https://example.com/restconf/data/ Location: https://example.com/restconf/data/
skipping to change at page 100, line 37 skipping to change at page 100, line 37
D.3.5. "point" Parameter D.3.5. "point" Parameter
In this example, the client is inserting a new "song" resource within In this example, the client is inserting a new "song" resource within
an "album" resource after another song. The request URI is split for an "album" resource after another song. The request URI is split for
display purposes only. display purposes only.
Request from client: Request from client:
POST /restconf/data/example-jukebox:jukebox/ POST /restconf/data/example-jukebox:jukebox/
library/artist=Foo%20Fighters/album/Wasting%20Light? library/artist=Foo%20Fighters/album=Wasting%20Light?
insert=after&point=%2Fexample-jukebox%3Ajukebox%2F insert=after&point=%2Fexample-jukebox%3Ajukebox%2F
library%2Fartist%2FFoo%20Fighters%2Falbum%2F library%2Fartist%2FFoo%20Fighters%2Falbum%2F
Wasting%20Light%2Fsong%2FBridge%20Burning HTTP/1.1 Wasting%20Light%2Fsong%2FBridge%20Burning HTTP/1.1
Host: example.com Host: example.com
Content-Type: application/yang.data+json Content-Type: application/yang.data+json
{ {
"example-jukebox:song" : { "example-jukebox:song" : {
"name" : "Rope", "name" : "Rope",
"location" : "/media/foo/a7/rope.mp3", "location" : "/media/foo/a7/rope.mp3",
 End of changes. 31 change blocks. 
38 lines changed or deleted 43 lines changed or added

This html diff was produced by rfcdiff 1.42. The latest version is available from http://tools.ietf.org/tools/rfcdiff/