2 * Copyright (c) 2022 PANTHEON.tech, s.r.o. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.yangtools.rfc8819.model.api;
10 import org.eclipse.jdt.annotation.NonNullByDefault;
13 * IETF YANG Module Tags Registry, as defined in
14 * <a href="https://datatracker.ietf.org/doc/html/rfc8819#section-7.2">RFC8819</a> section 7.2, table 2.
17 * This registry allocates tags that have the registered prefix "ietf:".
18 * New values should be well considered and not achievable through a
19 * combination of already existing IETF tags. IANA assigned tags must
20 * conform to Net-Unicode as defined in
21 * <a href="https://datatracker.ietf.org/doc/html/rfc5198">RFC5198</a>, and they shall not
25 public final class IetfTags {
27 * {@code ietf:network-element-class} {@link IetfTags}.
29 * Network element as defined in <a href="https://datatracker.ietf.org/doc/html/rfc8199">RFC8199</a>.
32 public static final Tag NETWORK_ELEMENT_CLASS = new Tag("ietf:network-element-class").intern();
34 * {@code ietf:network-service-class} {@link IetfTags}
36 * Network element as defined in <a href="https://datatracker.ietf.org/doc/html/rfc8199">RFC8199</a>.
39 public static final Tag NETWORK_SERVICE_CLASS = new Tag("ietf:network-service-class").intern();
41 * {@code ietf:sdo-defined-class} {@link IetfTags}
43 * Module is defined by a standards organization.
46 public static final Tag SDO_DEFINED_CLASS = new Tag("ietf:sdo-defined-class").intern();
48 * {@code ietf:vendor-defined-class} {@link IetfTags}
50 * Module is defined by a vendor.
53 public static final Tag VENDOR_DEFINED_CLASS = new Tag("ietf:vendor-defined-class").intern();
55 * {@code ietf:user-defined-class} {@link IetfTags}
57 * Module is defined by the user.
60 public static final Tag USER_DEFINED_CLASS = new Tag("ietf:user-defined-class").intern();
62 * {@code ietf:hardware} {@link IetfTags}
64 * Relates to hardware (e.g., inventory).
67 public static final Tag HARDWARE = new Tag("ietf:hardware").intern();
69 * {@code ietf:software} {@link IetfTags}
71 * Relates to software (e.g., installed OS).
74 public static final Tag SOFTWARE = new Tag("ietf:software").intern();
76 * {@code ietf:protocol} {@link IetfTags}
78 * Represents a protocol (often combined with another tag to refine).
81 public static final Tag PROTOCOL = new Tag("ietf:protocol").intern();
83 * {@code ietf:qos} {@link IetfTags}
85 * Relates to quality of service.
88 public static final Tag QOS = new Tag("ietf:qos").intern();
90 * {@code ietf:network-service-app} {@link IetfTags}
92 * Relates to a network service application (e.g., an NTP server, DNS server, DHCP server, etc.).
95 public static final Tag NETWORK_SERVICE_APP = new Tag("ietf:network-service-app").intern();
97 * {@code ietf:system-management} {@link IetfTags}
99 * Relates to system management (e.g., a system management protocol such as syslog, TACAC+, SNMP, NETCONF, etc.).
102 public static final Tag SYSTEM_MANAGEMENT = new Tag("ietf:system-management").intern();
104 * {@code ietf:oam} {@link IetfTags}
106 * Relates to Operations, Administration, and Maintenance (e.g., BFD).
109 public static final Tag OAM = new Tag("ietf:oam").intern();
111 * {@code ietf:routing} {@link IetfTags}
113 * Relates to routing.
116 public static final Tag ROUTING = new Tag("ietf:routing").intern();
118 * {@code ietf:security} {@link IetfTags}
120 * Relates to security.
123 public static final Tag SECURITY = new Tag("ietf:security").intern();
125 * {@code ietf:signaling} {@link IetfTags}
127 * Relates to control-plane signaling.
130 public static final Tag SIGNALING = new Tag("ietf:signaling").intern();
132 * {@code ietf:link-management} {@link IetfTags}
134 * Relates to link management.
137 public static final Tag LINK_MANAGEMENT = new Tag("ietf:link-management").intern();