Aller au contenu principal

Appendix A. Vendor-Specific Subservice Augmentation: \"example-service-assurance-device-acme\" YANG Module (Annexe A. Augmentation de sous-service spécifique au fournisseur : Module YANG \"example-service-assurance-device-acme\")

Appendix A. Vendor-Specific Subservice Augmentation: "example-service-assurance-device-acme" YANG Module (Annexe A. Augmentation de sous-service spécifique au fournisseur : Module YANG "example-service-assurance-device-acme")

A.1. Tree View (A.1. Vue arborescente)

The following tree diagram [RFC8340] provides an overview of the "example-service-assurance-device-acme" module.

Le diagramme arborescent suivant [RFC8340] donne un aperçu du module "example-service-assurance-device-acme".

module: example-service-assurance-device-acme

augment /sain:subservices/sain:subservice/sain:parameter:
+--rw parameters
+--rw device string
+--rw acme-specific-parameter string

A complete tree view of the base module with all augmenting modules presented in this document is available in Appendix B.3.

Une vue arborescente complète du module de base avec tous les modules d'augmentation présentés dans ce document est disponible à l'annexe B.3.

A.2. Concepts (A.2. Concepts)

Under some circumstances, vendor-specific subservice types might be required. As an example of this vendor-specific implementation, this section shows how to augment the "ietf-service-assurance-device" module to add custom support for the device subservice specific to the Acme Corporation. The specific version adds a new parameter named "acme-specific-parameter". It's an implementation choice to either derive a new specific identity from the "subservice-base" identity defined in the "ietf-service-assurance" module or to augment the parameters from the "ietf-service-assurance-device" module; here, we choose to create a new identity.

Dans certaines circonstances, des types de sous-services spécifiques au fournisseur peuvent être nécessaires. À titre d'exemple de cette implémentation spécifique au fournisseur, cette section montre comment augmenter le module "ietf-service-assurance-device" pour ajouter une prise en charge personnalisée du sous-service de dispositif spécifique à Acme Corporation. La version spécifique ajoute un nouveau paramètre nommé "acme-specific-parameter". C'est un choix d'implémentation de dériver une nouvelle identité spécifique de l'identité "subservice-base" définie dans le module "ietf-service-assurance" ou d'augmenter les paramètres du module "ietf-service-assurance-device" ; ici, nous choisissons de créer une nouvelle identité.

A.3. YANG Module (A.3. Module YANG)

module example-service-assurance-device-acme {
yang-version 1.1;
namespace "urn:example:example-service-assurance-device-acme";
prefix example-device-acme;

import ietf-service-assurance {
prefix sain;
reference
"RFC 9418: YANG Modules for Service Assurance";
}
import ietf-service-assurance-device {
prefix sain-device;
reference
"RFC 9418: YANG Modules for Service Assurance";
}

organization
"IETF OPSAWG Working Group";
contact
"WG Web: <https://datatracker.ietf.org/wg/opsawg/>
WG List: <mailto:[email protected]>
Author: Benoit Claise <mailto:[email protected]>
Author: Jean Quilbeuf <mailto:[email protected]>";
description
"This example module extends the ietf-service-assurance-device
module to add specific support for devices of the Acme
Corporation. ";

revision 2023-07-11 {
description
"Initial revision.";
reference
"RFC 9418: YANG Modules for Service Assurance";
}

identity device-acme-type {
base sain-device:device-type;
description
"Network device is healthy.";
}

augment "/sain:subservices/sain:subservice/sain:parameter" {
when "derived-from-or-self(sain:type, 'device-acme-type')";
description
"Augments the parameter choice from the ietf-service-assurance
module with a case specific to the device-acme subservice.";
container parameters {
description
"Parameters for the device-acme subservice type.";
leaf device {
type string;
mandatory true;
description
"The device to monitor.";
}
leaf acme-specific-parameter {
type string;
mandatory true;
description
"The Acme-Corporation-specific parameter.";
}
}
}
}