commit 66dbf97d7e155cacc82987fa16c91ca5eada4df6 Author: Brett Bender Date: Tue Nov 5 02:01:34 2024 -0600 chore: Initial commit (SCHEMA) diff --git a/data/mntner/NX3-MNT b/data/mntner/NX3-MNT new file mode 100644 index 0000000..9a7e709 --- /dev/null +++ b/data/mntner/NX3-MNT @@ -0,0 +1,4 @@ +mntner: NX3-MNT +descr: mntner for owning objects in the name of whole nx3. +mnt-by: NX3-MNT +source: NX3 \ No newline at end of file diff --git a/data/schema/AS-BLOCK-SCHEMA b/data/schema/AS-BLOCK-SCHEMA new file mode 100644 index 0000000..2147b21 --- /dev/null +++ b/data/schema/AS-BLOCK-SCHEMA @@ -0,0 +1,13 @@ +schema: AS-BLOCK-SCHEMA +ref: nx3.as-block +dir-name: as-block +key: as-block required single primary schema +key: descr optional single +key: policy required single > {open|ask|closed} +key: mnt-by required multiple lookup=nx3.mntner +key: admin-c optional multiple lookup=nx3.person,nx3.role +key: tech-c optional multiple lookup=nx3.person,nx3.role +key: remarks optional multiple +key: source required single lookup=nx3.registry +mnt-by: NX3-MNT +source: NX3 \ No newline at end of file diff --git a/data/schema/AS-SET-SCHEMA b/data/schema/AS-SET-SCHEMA new file mode 100644 index 0000000..99777b3 --- /dev/null +++ b/data/schema/AS-SET-SCHEMA @@ -0,0 +1,14 @@ +schema: AS-SET-SCHEMA +ref: nx3.as-set +dir-name: as-set +key: as-set required single primary schema +key: descr optional multiple +key: mnt-by required multiple lookup=nx3.mntner +key: members optional multiple lookup=nx3.aut-num,nx3.as-set +key: mbrs-by-ref optional multiple lookup=nx3.mntner +key: admin-c optional multiple lookup=nx3.person,nx3.role +key: tech-c optional multiple lookup=nx3.person,nx3.role +key: remarks optional multiple +key: source required single lookup=nx3.registry +mnt-by: NX3-MNT +source: NX3 \ No newline at end of file diff --git a/data/schema/AUT-NUM-SCHEMA b/data/schema/AUT-NUM-SCHEMA new file mode 100644 index 0000000..8dc5061 --- /dev/null +++ b/data/schema/AUT-NUM-SCHEMA @@ -0,0 +1,24 @@ +schema: AUT-NUM-SCHEMA +ref: nx3.aut-num +dir-name: aut-num +key: aut-num required single primary schema +key: as-name required single +key: descr optional single +key: mnt-by required multiple lookup=nx3.mntner +key: member-of optional multiple lookup=nx3.as-set,nx3.route-set +key: admin-c optional multiple lookup=nx3.person,nx3.role +key: tech-c optional multiple lookup=nx3.person,nx3.role +key: org optional single lookup=nx3.organisation +key: import deprecate multiple +key: export deprecate multiple +key: default deprecate multiple +key: mp-peer deprecate multiple +key: mp-group deprecate multiple +key: mp-import optional multiple +key: mp-export optional multiple +key: mp-default optional multiple +key: geo-loc optional multiple > [lat-c] [long-c] [name] +key: remarks optional multiple +key: source required single lookup=nx3.registry +mnt-by: NX3-MNT +source: NX3 \ No newline at end of file diff --git a/data/schema/DNS-SCHEMA b/data/schema/DNS-SCHEMA new file mode 100644 index 0000000..22ded66 --- /dev/null +++ b/data/schema/DNS-SCHEMA @@ -0,0 +1,16 @@ +schema: DNS-SCHEMA +ref: nx3.domain +dir-name: dns +key: domain required single primary schema +key: nserver required multiple > [domain-name] [ip-addr] +key: descr optional single +key: mnt-by required multiple lookup=nx3.mntner +key: admin-c optional multiple lookup=nx3.person,nx3.role +key: tech-c optional multiple lookup=nx3.person,nx3.role +key: org optional multiple lookup=nx3.organisation +key: country optional single +key: ds-rdata optional multiple +key: remarks optional multiple +key: source required single lookup=nx3.registry +mnt-by: NX3-MNT +source: NX3 \ No newline at end of file diff --git a/data/schema/INET6NUM-SCHEMA b/data/schema/INET6NUM-SCHEMA new file mode 100644 index 0000000..0f586b9 --- /dev/null +++ b/data/schema/INET6NUM-SCHEMA @@ -0,0 +1,24 @@ +schema: INET6NUM-SCHEMA +ref: nx3.inet6num +dir-name: inet6num +key: inet6num required single schema +key: cidr required single primary +key: netname required single +key: nserver optional multiple > [domain-name] +key: country optional multiple +key: descr optional single +key: status optional single > {ALLOCATED|ASSIGNED} {PI|PA|} +key: policy optional single > {open|closed|ask|reserved} +key: admin-c optional multiple lookup=nx3.person,nx3.role +key: tech-c optional multiple lookup=nx3.person,nx3.role +key: zone-c optional multiple lookup=nx3.person,nx3.role +key: ds-rdata optional multiple +key: mnt-by optional multiple lookup=nx3.mntner +key: mnt-lower optional multiple lookup=nx3.mntner +key: mnt-routes optional multiple lookup=nx3.mntner +key: org optional single lookup=nx3.organisation +key: remarks optional multiple +key: source required single lookup=nx3.registry +network-owner: inet6num +mnt-by: NX3-MNT +source: NX3 \ No newline at end of file diff --git a/data/schema/INETNUM-SCHEMA b/data/schema/INETNUM-SCHEMA new file mode 100644 index 0000000..1b63940 --- /dev/null +++ b/data/schema/INETNUM-SCHEMA @@ -0,0 +1,25 @@ +schema: INETNUM-SCHEMA +ref: nx3.inetnum +dir-name: inetnum +key: inetnum required single schema +key: cidr required single primary +key: netname required single +key: nserver optional multiple > [domain-name] +key: country optional multiple +key: descr optional single +key: status optional single > {ALLOCATED|ASSIGNED} {PI|PA|} +key: policy optional single > {open|closed|ask|reserved} +key: admin-c optional multiple lookup=nx3.person,nx3.role +key: tech-c optional multiple lookup=nx3.person,nx3.role +key: zone-c optional multiple lookup=nx3.person,nx3.role +key: ds-rdata optional multiple +key: mnt-by optional multiple lookup=nx3.mntner +key: mnt-lower optional multiple lookup=nx3.mntner +key: mnt-routes optional multiple lookup=nx3.mntner +key: org optional single lookup=nx3.organisation +key: remarks optional multiple +key: source required single lookup=nx3.registry +network-owner: inet6num +network-owner: inetnum +mnt-by: NX3-MNT +source: NX3 \ No newline at end of file diff --git a/data/schema/KEY-CERT-SCHEMA b/data/schema/KEY-CERT-SCHEMA new file mode 100644 index 0000000..93fcf12 --- /dev/null +++ b/data/schema/KEY-CERT-SCHEMA @@ -0,0 +1,16 @@ +schema: KEY-CERT-SCHEMA +ref: nx3.key-cert +dir-name: key-cert +key: key-cert required single primary schema +key: method required single > {PGP|X509|MTN} +key: owner required multiple +key: fingerpr required single +key: certif required multiple +key: org optional multiple lookup=nx3.organisation +key: remarks optional multiple +key: admin-c optional multiple lookup=nx3.person,nx3.role +key: tech-c optional multiple lookup=nx3.person,nx3.role +key: mnt-by required multiple lookup=nx3.mntner +key: source required single lookup=nx3.registry +mnt-by: NX3-MNT +source: NX3 \ No newline at end of file diff --git a/data/schema/MNTNER-SCHEMA b/data/schema/MNTNER-SCHEMA new file mode 100644 index 0000000..e7dd5de --- /dev/null +++ b/data/schema/MNTNER-SCHEMA @@ -0,0 +1,15 @@ +schema: MNTNER-SCHEMA +ref: nx3.mntner +dir-name: mntner +key: mntner required single primary schema +key: descr optional single +key: mnt-by required multiple lookup=nx3.mntner +key: admin-c optional multiple lookup=nx3.person,nx3.role +key: tech-c optional multiple lookup=nx3.person,nx3.role +key: auth optional multiple > [method] [value]... +key: org optional multiple lookup=nx3.organisation +key: abuse-mailbox optional single +key: remarks optional multiple +key: source required single lookup=nx3.registry +mnt-by: NX3-MNT +source: NX3 \ No newline at end of file diff --git a/data/schema/ORGANISATION-SCHEMA b/data/schema/ORGANISATION-SCHEMA new file mode 100644 index 0000000..0774963 --- /dev/null +++ b/data/schema/ORGANISATION-SCHEMA @@ -0,0 +1,23 @@ +schema: ORGANISATION-SCHEMA +ref: nx3.organisation +dir-name: organisation +key: organisation required single primary schema +key: org-name required single +key: descr optional single +key: admin-c optional multiple lookup=nx3.person,nx3.role +key: tech-c optional multiple lookup=nx3.person,nx3.role +key: abuse-c optional multiple lookup=nx3.person,nx3.role +key: mnt-by required multiple lookup=nx3.mntner +key: mnt-ref optional multiple lookup=nx3.mntner +key: phone optional multiple +key: fax-no optional multiple +key: www optional multiple +key: abuse-mailbox optional multiple +key: e-mail optional multiple +key: geoloc optional multiple +key: language optional multiple +key: remarks optional multiple +key: address optional multiple +key: source required single lookup=nx3.registry +mnt-by: NX3-MNT +source: NX3 \ No newline at end of file diff --git a/data/schema/PERSON-SCHEMA b/data/schema/PERSON-SCHEMA new file mode 100644 index 0000000..ebccc70 --- /dev/null +++ b/data/schema/PERSON-SCHEMA @@ -0,0 +1,20 @@ +schema: PERSON-SCHEMA +ref: nx3.person +dir-name: person +key: person required single schema +key: nic-hdl required single primary +key: mnt-by required multiple lookup=nx3.mntner +key: org optional multiple lookup=nx3.organisation +key: nick optional multiple +key: pgp-fingerprint optional multiple +key: www optional multiple +key: e-mail optional multiple +key: contact optional multiple +key: abuse-mailbox optional multiple +key: phone optional multiple +key: fax-no optional multiple +key: address optional multiple +key: remarks optional multiple +key: source required single lookup=nx3.registry +mnt-by: NX3-MNT +source: NX3 \ No newline at end of file diff --git a/data/schema/REGISTRY-SCHEMA b/data/schema/REGISTRY-SCHEMA new file mode 100644 index 0000000..867b20d --- /dev/null +++ b/data/schema/REGISTRY-SCHEMA @@ -0,0 +1,12 @@ +schema: REGISTRY-SCHEMA +ref: nx3.registry +dir-name: registry +key: registry required single primary schema +key: url required multiple +key: descr optional multiple +key: mnt-by required multiple lookup=nx3.mntner +key: admin-c optional multiple lookup=nx3.person,nx3.role +key: tech-c optional multiple lookup=nx3.person,nx3.role +key: source required single lookup=nx3.registry +mnt-by: NX3-MNT +source: NX3 \ No newline at end of file diff --git a/data/schema/ROLE-SCHEMA b/data/schema/ROLE-SCHEMA new file mode 100644 index 0000000..c91fedc --- /dev/null +++ b/data/schema/ROLE-SCHEMA @@ -0,0 +1,16 @@ +schema: ROLE-SCHEMA +ref: nx3.role +dir-name: role +key: role required single schema +key: nic-hdl required single primary +key: mnt-by required multiple lookup=nx3.mntner +key: org optional multiple lookup=nx3.organisation +key: admin-c optional multiple lookup=nx3.person +key: tech-c optional multiple lookup=nx3.person +key: abuse-c optional multiple lookup=nx3.person +key: abuse-mailbox optional multiple +key: descr optional single +key: remarks optional multiple +key: source required single lookup=nx3.registry +mnt-by: NX3-MNT +source: NX3 \ No newline at end of file diff --git a/data/schema/ROUTE-SCHEMA b/data/schema/ROUTE-SCHEMA new file mode 100644 index 0000000..b33a219 --- /dev/null +++ b/data/schema/ROUTE-SCHEMA @@ -0,0 +1,17 @@ +schema: ROUTE-SCHEMA +ref: nx3.route +dir-name: route +key: route required single primary schema +key: mnt-by required multiple lookup=nx3.mntner +key: origin required multiple lookup=nx3.aut-num +key: member-of optional multiple lookup=nx3.route-set +key: admin-c optional multiple lookup=nx3.person,nx3.role +key: tech-c optional multiple lookup=nx3.person,nx3.role +key: descr optional multiple +key: remarks optional multiple +key: source required single lookup=nx3.registry +key: pingable optional multiple +key: max-length optional single +network-owner: inetnum +mnt-by: NX3-MNT +source: NX3 \ No newline at end of file diff --git a/data/schema/ROUTE-SET-SCHEMA b/data/schema/ROUTE-SET-SCHEMA new file mode 100644 index 0000000..83809ae --- /dev/null +++ b/data/schema/ROUTE-SET-SCHEMA @@ -0,0 +1,15 @@ +schema: ROUTE-SET-SCHEMA +ref: nx3.route-set +dir-name: route-set +key: route-set required single primary schema +key: descr optional multiple +key: mnt-by required multiple lookup=nx3.mntner +key: members deprecate multiple +key: mp-members optional multiple +key: mbrs-by-ref optional multiple lookup=nx3.mntner +key: admin-c optional multiple lookup=nx3.person,nx3.role +key: tech-c optional multiple lookup=nx3.person,nx3.role +key: remarks optional multiple +key: source required single lookup=nx3.registry +mnt-by: NX3-MNT +source: NX3 \ No newline at end of file diff --git a/data/schema/ROUTE6-SCHEMA b/data/schema/ROUTE6-SCHEMA new file mode 100644 index 0000000..3171452 --- /dev/null +++ b/data/schema/ROUTE6-SCHEMA @@ -0,0 +1,17 @@ +schema: ROUTE6-SCHEMA +ref: nx3.route6 +dir-name: route6 +key: route6 required single primary schema +key: mnt-by required multiple lookup=nx3.mntner +key: origin required multiple lookup=nx3.aut-num +key: member-of optional multiple lookup=nx3.route-set +key: admin-c optional multiple lookup=nx3.person,nx3.role +key: tech-c optional multiple lookup=nx3.person,nx3.role +key: descr optional multiple +key: remarks optional multiple +key: source required single lookup=nx3.registry +key: pingable optional multiple +key: max-length optional single +network-owner: inet6num +mnt-by: NX3-MNT +source: NX3 \ No newline at end of file diff --git a/data/schema/SCHEMA-SCHEMA b/data/schema/SCHEMA-SCHEMA new file mode 100644 index 0000000..589a4ff --- /dev/null +++ b/data/schema/SCHEMA-SCHEMA @@ -0,0 +1,61 @@ +schema: SCHEMA-SCHEMA +ref: nx3.schema +dir-name: schema +primary-key: inetnum cidr +primary-key: inet6num cidr +primary-key: role nic-hdl +primary-key: person nic-hdl +owners: mntner +key: schema required single primary schema > [name] +key: ref required single > [schema] +key: primary-key optional multiple > [schema] [key] +key: dir-name required single +key: owners optional single > [schema] +key: mnt-by required multiple lookup=nx3.mntner > [mntner] +key: remarks optional multiple > [text]... +key: source required single lookup=nx3.registry +key: network-owner optional multiple > [parent-schema] +key: key required multiple > [key-name] + {required|optional|recommend|deprecate} + {single|multiple} {primary|} {schema|} + lookup=str '>' [spec]... +mnt-by: NX3-MNT +source: NX3 +remarks: # option descriptions + Attribute names must match /[a-zA-Z]([a-zA-Z0-9_\-]*[a-zA-Z0-9])?/. ++ + required + : object required to have at least one + optional + : object not required to have at least one ++ + single + : only one of this type allowed + multiple + : more than one of this type allowed ++ + primary + : use field as lookup key for lookup + * only one allowed per schema + * does not allow newlines ++ + schema + : use field name as the name of the schema + * only one allowed per schema + * does not allow newlines ++ + lookup + : schema match to use for related record ++ + \> option specs + : defines the option specifications for the key. + * must come last in option list ++ + [label] string value. A positional string argument required. + Text inside brackets represent a label for the string and must match the same rules as attribute names. + If follwed by '...' values are gathered as an array. ++ + {enum1|enum2|} enumeration. One option in pipe('|') deliniation is allowed. + If there is a trailing pipe it means the enum is optional. Enum values must match the same rules as attribute names. ++ + 'literal' Literal value. literal text value which must not contain any whitespace or single quotes. \ No newline at end of file