{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-20T22:11:34.313Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC8969",
  "document": {
    "abstract": "Data models provide a programmatic approach to represent services and networks. Concretely, they can be used to derive configuration information for network and service components, and state information that will be monitored and tracked. Data models can be used during the service and network management life cycle (e.g., service instantiation, service provisioning, service optimization, service monitoring, service diagnosing, and service assurance). Data models are also instrumental in the automation of network management, and they can provide closed-loop control for adaptive and deterministic service creation, delivery, and maintenance. This document describes a framework for service and network management automation that takes advantage of YANG modeling technologies. This framework is drawn from a network operator perspective irrespective of the origin of a data model; thus, it can accommodate YANG modules that are developed outside the IETF.",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8969/",
      "updated": "2026-10-20T21:46:55.929Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "authors": [
      {
        "name": "Qin Wu"
      },
      {
        "name": "Mohamed Boucadair"
      },
      {
        "name": "Diego Lopez"
      },
      {
        "name": "Chongfeng Xie"
      },
      {
        "name": "Liang Geng"
      }
    ],
    "authors$meta": {
      "confidence": "high",
      "note": "Parsed from Datatracker doc page article:author (profile full names)",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8969/",
      "updated": "2026-10-20T21:46:55.929Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docId": "RFC8969",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8969/",
      "updated": "2026-10-20T21:46:55.929Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docLabel": "IETF RFC 8969",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8969/",
      "updated": "2026-10-20T21:46:55.929Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docNumber": "8969",
    "docNumber$meta": {
      "confidence": "high",
      "note": "From the RFC index entry (rfc-index.xml <doc-id>)",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8969/",
      "updated": "2026-10-20T21:46:55.929Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docTitle": "A Framework for Automating Service and Network Management with YANG",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8969/",
      "updated": "2026-10-20T21:46:55.929Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docType": "Informational",
    "docType$meta": {
      "confidence": "high",
      "note": "Mapped from Datatracker std_level or RFC status text",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8969/",
      "updated": "2026-10-20T21:46:55.929Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "doi": "10.17487/RFC8969",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8969/",
      "updated": "2026-10-20T21:46:55.929Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "href": "https://doi.org/10.17487/RFC8969",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8969/",
      "updated": "2026-10-20T21:46:55.929Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "keywords": [
      "Model Driven",
      "YANG",
      "Automation",
      "Service Delivery",
      "SDN"
    ],
    "keywords$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML keywords",
      "originalValue": [
        "Model Driven",
        "YANG Data Model",
        "Automation",
        "Service Delivery",
        "SDN"
      ],
      "overridden": true,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8969/",
      "updated": "2026-10-20T22:11:34.313Z",
      "version": "extractDocs.js@commit:301bfdf288d8"
    },
    "pages": "40",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8969/",
      "updated": "2026-10-20T21:46:55.929Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "publicationDate": "2021-01-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8969/",
      "updated": "2026-10-20T21:46:55.929Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8969/",
      "updated": "2026-10-20T21:46:55.929Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "references": {
      "bibliographic": [
        "IETF.draft-ietf-teas-actn-vn-yang-10",
        "IETF.draft-ietf-bfd-yang-17",
        "IETF.draft-ietf-dots-rfc8782-bis-04",
        "IETF.draft-wwx-netmod-event-yang-10",
        "IETF.draft-ietf-bess-evpn-yang-07",
        "10.1145-54289.871709",
        "IETF.draft-ietf-idr-bgp-model-10",
        "IETF.draft-ietf-bess-l2vpn-yang-10",
        "IETF.draft-ietf-bess-l3vpn-yang-04",
        "IETF.draft-ietf-ippm-capacity-metric-method-04",
        "IETF.draft-ietf-bess-mvpn-yang-04",
        "IETF.draft-clacla-netmod-model-catalog-03",
        "IETF.draft-ietf-opsawg-l2nm-01",
        "IETF.draft-ietf-opsawg-l3sm-l3nm-05",
        "IETF.draft-ietf-opsawg-vpn-common-03",
        "IETF.draft-www-opsawg-yang-vpn-service-pm-03",
        "IETF.draft-ietf-pim-yang-17",
        "IETF.draft-ietf-rtgwg-qos-model-02",
        "RFC4176",
        "RFC4364",
        "RFC4664",
        "RFC4761",
        "RFC4762",
        "RFC5136",
        "RFC5486",
        "RFC5880",
        "RFC6406",
        "RFC7149",
        "RFC7224",
        "RFC7276",
        "RFC7297",
        "RFC7317",
        "RFC7455",
        "RFC7665",
        "RFC7679",
        "RFC7680",
        "RFC8077",
        "RFC8194",
        "RFC8199",
        "RFC8299",
        "RFC8309",
        "RFC8342",
        "RFC8343",
        "RFC8345",
        "RFC8346",
        "RFC8348",
        "RFC8349",
        "RFC8466",
        "RFC8512",
        "RFC8513",
        "RFC8519",
        "RFC8525",
        "RFC8528",
        "RFC8529",
        "RFC8530",
        "RFC8531",
        "RFC8532",
        "RFC8533",
        "RFC8632",
        "RFC8641",
        "RFC8652",
        "RFC8675",
        "RFC8676",
        "RFC8783",
        "RFC8791",
        "RFC8795",
        "RFC8819",
        "RFC8944",
        "RFC8960",
        "IETF.draft-ietf-rtgwg-policy-model-27",
        "IETF.draft-ietf-pim-igmp-mld-snooping-yang-18",
        "IETF.draft-ietf-spring-sr-yang-29",
        "IETF.draft-ietf-ippm-stamp-yang-06",
        "IETF.draft-ietf-teas-actn-pm-telemetry-autonomics-04",
        "IETF.draft-ietf-teas-yang-path-computation-11",
        "IETF.draft-ietf-teas-yang-rsvp-te-08",
        "IETF.draft-ietf-teas-yang-te-25",
        "IETF.draft-ietf-trill-yang-oam-05",
        "IETF.draft-ietf-ippm-twamp-yang-13",
        "IETF.draft-ogondio-opsawg-uni-topology-01",
        "orphan/RFC8969/h:46179942"
      ],
      "bibliographic$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8969/",
        "updated": "2026-10-20T21:46:55.929Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "normative": [
        "RFC6241",
        "RFC6242",
        "RFC7950",
        "RFC8040",
        "RFC8341",
        "RFC8446"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8969/",
        "updated": "2026-10-20T21:46:55.929Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc8969/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8969/",
      "updated": "2026-10-20T21:46:55.929Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "status": {
      "active": true,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8969/",
        "updated": "2026-10-20T21:46:55.929Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "errataExist": true,
      "errataExist$meta": {
        "confidence": "high",
        "note": "Derived from presence of errata links on RFC/Datatracker pages",
        "originalValue": null,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8969/",
        "updated": "2026-10-20T21:46:55.929Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "errataUrl": [
        "https://www.rfc-editor.org/errata/rfc8969",
        "https://www.rfc-editor.org/errata_search.php?rfc=8969",
        "https://www.rfc-editor.org/rfc/inline-errata/rfc8969.html"
      ],
      "errataUrl$meta": {
        "confidence": "high",
        "note": "Parsed from errata links on RFC/Datatracker pages",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8969/",
        "updated": "2026-10-20T21:46:55.929Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "latestVersion": true,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8969/",
        "updated": "2026-10-20T21:46:55.929Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "statusNote": "Informational",
      "statusNote$meta": {
        "confidence": "high",
        "note": "Mapped from Datatracker doc.json std_level",
        "originalValue": null,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8969/",
        "updated": "2026-10-20T21:46:55.929Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "superseded": false,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8969/",
        "updated": "2026-10-20T21:46:55.929Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      }
    }
  }
}