RESTCONF Protocol
RFC 8040
Document | Type |
RFC - Proposed Standard
(January 2017; Errata)
Updated by RFC 8527
|
|
---|---|---|---|
Authors | Andy Bierman , Martin Björklund , Kent Watsen | ||
Last updated | 2020-01-21 | ||
Replaces | draft-bierman-netconf-restconf | ||
Stream | IETF | ||
Formats | plain text html pdf htmlized with errata bibtex | ||
Yang Validation | ☯ 0 errors, 0 warnings. | ||
Reviews | |||
Additional Resources | |||
Stream | WG state | Submitted to IESG for Publication | |
Document shepherd | Mehmet Ersue | ||
Shepherd write-up | Show (last changed 2016-05-01) | ||
IESG | IESG state | RFC 8040 (Proposed Standard) | |
Consensus Boilerplate | Yes | ||
Telechat date | |||
Responsible AD | Benoît Claise | ||
Send notices to | (None) | ||
IANA | IANA review state | Version Changed - Review Needed | |
IANA action state | RFC-Ed-Ack |
Internet Engineering Task Force (IETF) A. Bierman Request for Comments: 8040 YumaWorks Category: Standards Track M. Bjorklund ISSN: 2070-1721 Tail-f Systems K. Watsen Juniper Networks January 2017 RESTCONF Protocol Abstract This document describes an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF). Status of This Memo This is an Internet Standards Track document. This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841. Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc8040. Copyright Notice Copyright (c) 2017 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Bierman, et al. Standards Track [Page 1] RFC 8040 RESTCONF January 2017 Table of Contents 1. Introduction ....................................................5 1.1. Terminology ................................................5 1.1.1. NETCONF .............................................6 1.1.2. HTTP ................................................6 1.1.3. YANG ................................................7 1.1.4. NETCONF Notifications ...............................7 1.1.5. Terms ...............................................8 1.1.6. URI Template and Examples ..........................10 1.1.7. Tree Diagrams ......................................11 1.2. Subset of NETCONF Functionality ...........................11 1.3. Data-Model-Driven API .....................................12 1.4. Coexistence with NETCONF ..................................13 1.5. RESTCONF Extensibility ....................................14 2. Transport Protocol .............................................15 2.1. Integrity and Confidentiality .............................15 2.2. HTTPS with X.509v3 Certificates ...........................16 2.3. Certificate Validation ....................................16 2.4. Authenticated Server Identity .............................16 2.5. Authenticated Client Identity .............................16 3. Resources ......................................................17 3.1. Root Resource Discovery ...................................18 3.2. RESTCONF Media Types ......................................20 3.3. API Resource ..............................................20 3.3.1. {+restconf}/data ...................................21 3.3.2. {+restconf}/operations .............................22 3.3.3. {+restconf}/yang-library-version ...................22 3.4. Datastore Resource ........................................23 3.4.1. Edit Collision Prevention ..........................23 3.5. Data Resource .............................................24 3.5.1. Timestamp ..........................................25 3.5.2. Entity-Tag .........................................25 3.5.3. Encoding Data Resource Identifiers in the Request URI ........................................26 3.5.4. Default Handling ...................................29 3.6. Operation Resource ........................................30 3.6.1. Encoding Operation Resource Input Parameters .......31 3.6.2. Encoding Operation Resource Output Parameters ......36 3.6.3. Encoding Operation Resource Errors .................38Show full document text