Cisco-IOS-XR-lib-keychain-cfg

This module contains a collection of YANG definitions for Cisco IOS-XR lib-keychain package configuration. This module contains...

  • Version: 2019-04-05

    Cisco-IOS-XR-lib-keychain-cfg@2019-04-05


    
      module Cisco-IOS-XR-lib-keychain-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-lib-keychain-cfg";
    
        prefix lib-keychain-cfg;
    
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import cisco-semver {
          prefix semver;
        }
    
        organization "Cisco Systems, Inc.";
    
        contact
          "Cisco Systems, Inc.
         Customer Service
         
         Postal: 170 West Tasman Drive
         San Jose, CA 95134
         
         Tel: +1 800 553-NETS
         
         E-mail: cs-yang@cisco.com";
    
        description
          "This module contains a collection of YANG definitions
         for Cisco IOS-XR lib-keychain package configuration.
         
         This module contains definitions
         for the following management objects:
           keychains: Configure a Key Chain
         
         Copyright (c) 2013-2019 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2018-07-16" {
          description "Server Dead Auth Action";
        }
    
        revision "2018-01-31" {
          description
            "Fixed incorrect plural rendering.";
        }
    
        revision "2017-10-15" {
          description
            "Removed presence statement generated from internal CLI data.";
        }
    
        revision "2017-07-19" {
          description
            "Fixing macsec and non macsec keychain error";
        }
    
        revision "2017-05-01" {
          description
            "Fixing backward compatibility error in module.";
        }
    
        revision "2015-07-30" {
          description "Descriptions updated.";
        }
    
        revision "2015-01-07" {
          description "IOS XR 5.3.1 revision.";
        }
    
        semver:module-version "1.0.0";
    
        typedef Crypto-alg {
          type enumeration {
            enum "alg-aes-128-cmac-96" {
              value 1;
              description "AES 128 CMAC 96";
            }
            enum "alg-hmac-sha1-12" {
              value 2;
              description "HMAC SHA 1 12";
            }
            enum "alg-md5-16" {
              value 3;
              description "MD5 16";
            }
            enum "alg-sha1-20" {
              value 4;
              description "SHA 1 20";
            }
            enum "alg-hmac-md5-16" {
              value 5;
              description "HMAC MD5 16";
            }
            enum "alg-hmac-sha1-20" {
              value 6;
              description "HMAC SHA 1 20";
            }
            enum "alg-hmac-sha1-96" {
              value 9;
              description "HMAC SHA 1 96";
            }
            enum "alg-hmac-sha-256" {
              value 10;
              description "HMAC SHA 256";
            }
          }
          description "Crypto alg";
        }
    
        typedef Macsec-crypto-alg {
          type enumeration {
            enum "aes-128-cmac" {
              value 7;
              description "aes 128 cmac";
            }
            enum "aes-256-cmac" {
              value 8;
              description "aes 256 cmac";
            }
          }
          description "Macsec crypto alg";
        }
    
        typedef Key-chain-month {
          type enumeration {
            enum "jan" {
              value 0;
              description "January";
            }
            enum "feb" {
              value 1;
              description "February";
            }
            enum "mar" {
              value 2;
              description "March";
            }
            enum "apr" {
              value 3;
              description "April";
            }
            enum "may" {
              value 4;
              description "May";
            }
            enum "jun" {
              value 5;
              description "June";
            }
            enum "jul" {
              value 6;
              description "July";
            }
            enum "aug" {
              value 7;
              description "August";
            }
            enum "sep" {
              value 8;
              description "September";
            }
            enum "oct" {
              value 9;
              description "October";
            }
            enum "nov" {
              value 10;
              description "November";
            }
            enum "dec" {
              value 11;
              description "December";
            }
          }
          description "Key chain month";
        }
    
        typedef Key-encryption {
          type enumeration {
            enum "type7" {
              value 0;
              description "Type 7 encryption";
            }
            enum "type6" {
              value 2;
              description "Type 6 encryption";
            }
          }
          description "Key encryption";
        }
    
        container keychains {
          description "Configure a Key Chain";
          list keychain {
            key "chain-name";
            description "Name of the key chain";
            container accept-tolerance {
              description
                "Accept Tolerance in seconds or infinite";
              leaf value {
                type uint32 {
                  range "1..8640000";
                }
                units "second";
                must "not(../infinite)";
                description "Value in seconds";
              }
    
              leaf infinite {
                type boolean;
                must "not(../value)";
                description "Infinite tolerance";
              }
            }  // container accept-tolerance
    
            container macsec-keychain {
              description
                "Name of the key chain for MACSec";
              container macsec-keys {
                description "Configure a Key";
                list macsec-key {
                  key "key-id";
                  description "Key Identifier";
                  container macsec-lifetime {
                    presence
                      "Indicates a macsec-lifetime node is configured.";
                    description
                      "Configure a key Lifetime";
                    leaf start-hour {
                      type uint32 {
                        range "0..23";
                      }
                      mandatory true;
                      description "Start Hour";
                    }
    
                    leaf start-minutes {
                      type uint32 {
                        range "0..59";
                      }
                      units "minute";
                      mandatory true;
                      description
                        "Start Minutes";
                    }
    
                    leaf start-seconds {
                      type uint32 {
                        range "0..59";
                      }
                      units "second";
                      mandatory true;
                      description
                        "Start Seconds";
                    }
    
                    leaf start-date {
                      type uint32 {
                        range "1..31";
                      }
                      mandatory true;
                      description "Start Date";
                    }
    
                    leaf start-month {
                      type Key-chain-month;
                      mandatory true;
                      description "Start Month";
                    }
    
                    leaf start-year {
                      type uint32 {
                        range "1993..2035";
                      }
                      mandatory true;
                      description "Start Year";
                    }
    
                    leaf life-time {
                      type uint32 {
                        range "1..2147483647";
                      }
                      units "second";
                      description
                        "Lifetime duration in seconds";
                    }
    
                    leaf infinite-flag {
                      type boolean;
                      description
                        "Infinite Lifetime flag";
                    }
    
                    leaf end-hour {
                      type uint32 {
                        range "0..23";
                      }
                      description "End Hour";
                    }
    
                    leaf end-minutes {
                      type uint32 {
                        range "0..59";
                      }
                      units "minute";
                      description "End Minutes";
                    }
    
                    leaf end-seconds {
                      type uint32 {
                        range "0..59";
                      }
                      units "second";
                      description "End Seconds";
                    }
    
                    leaf end-date {
                      type uint32 {
                        range "1..31";
                      }
                      description "End Date";
                    }
    
                    leaf end-month {
                      type Key-chain-month;
                      description "End Month";
                    }
    
                    leaf end-year {
                      type uint32 {
                        range "1993..2035";
                      }
                      description "End Year";
                    }
                  }  // container macsec-lifetime
    
                  container macsec-key-string {
                    presence
                      "Indicates a macsec-key-string node is configured.";
                    description
                      "Configure a clear text/encrypted Key string
                     along with cryptographic algorithm";
                    leaf string {
                      type xr:Proprietary-password;
                      mandatory true;
                      description "Key String";
                    }
    
                    leaf cryptographic-algorithm {
                      type Macsec-crypto-alg;
                      mandatory true;
                      description
                        "Cryptographic Algorithm";
                    }
    
                    leaf encryption-type {
                      type Key-encryption;
                      default "type7";
                      description
                        "encryption type used to store key";
                    }
                  }  // container macsec-key-string
    
                  leaf key-id {
                    type xr:Cisco-ios-xr-string {
                      length "2..64";
                    }
                    description
                      "Enter CKN as non-zero hex string of even
                     length, length range: <02-64>, i.e 32 bytes
                     of MACsec CKN";
                  }
                }  // list macsec-key
              }  // container macsec-keys
            }  // container macsec-keychain
    
            container keys {
              description "Configure a Key";
              list key {
                key "key-id";
                description "Key Identifier";
                container key-string {
                  description
                    "Configure a clear text/encrypted Key string ";
                  leaf key-string {
                    type xr:Proprietary-password;
                    description "Key String";
                  }
    
                  leaf encrypt-type {
                    type Key-encryption;
                    default "type7";
                    description
                      "Encryption Type";
                  }
                }  // container key-string
    
                container accept-lifetime {
                  presence
                    "Indicates a accept-lifetime node is configured.";
                  description
                    "Configure a key Acceptance Lifetime";
                  leaf start-hour {
                    type uint32 {
                      range "0..23";
                    }
                    mandatory true;
                    description "Start Hour";
                  }
    
                  leaf start-minutes {
                    type uint32 {
                      range "0..59";
                    }
                    units "minute";
                    mandatory true;
                    description "Start Minutes";
                  }
    
                  leaf start-seconds {
                    type uint32 {
                      range "0..59";
                    }
                    units "second";
                    mandatory true;
                    description "Start Seconds";
                  }
    
                  leaf start-date {
                    type uint32 {
                      range "1..31";
                    }
                    mandatory true;
                    description "Start Date";
                  }
    
                  leaf start-month {
                    type Key-chain-month;
                    mandatory true;
                    description "Start Month";
                  }
    
                  leaf start-year {
                    type uint32 {
                      range "1993..2035";
                    }
                    mandatory true;
                    description "Start Year";
                  }
    
                  leaf life-time {
                    type uint32 {
                      range "1..2147483647";
                    }
                    units "second";
                    description
                      "Lifetime duration in seconds";
                  }
    
                  leaf infinite-flag {
                    type boolean;
                    description
                      "Infinite Lifetime flag";
                  }
    
                  leaf end-hour {
                    type uint32 {
                      range "0..23";
                    }
                    description "End Hour";
                  }
    
                  leaf end-minutes {
                    type uint32 {
                      range "0..59";
                    }
                    units "minute";
                    description "End Minutes";
                  }
    
                  leaf end-seconds {
                    type uint32 {
                      range "0..59";
                    }
                    units "second";
                    description "End Seconds";
                  }
    
                  leaf end-date {
                    type uint32 {
                      range "1..31";
                    }
                    description "End Date";
                  }
    
                  leaf end-month {
                    type Key-chain-month;
                    description "End Month";
                  }
    
                  leaf end-year {
                    type uint32 {
                      range "1993..2035";
                    }
                    description "End Year";
                  }
                }  // container accept-lifetime
    
                container send-lifetime {
                  presence
                    "Indicates a send-lifetime node is configured.";
                  description
                    "Configure a Send Lifetime";
                  leaf start-hour {
                    type uint32 {
                      range "0..23";
                    }
                    mandatory true;
                    description "Start Hour";
                  }
    
                  leaf start-minutes {
                    type uint32 {
                      range "0..59";
                    }
                    units "minute";
                    mandatory true;
                    description "Start Minutes";
                  }
    
                  leaf start-seconds {
                    type uint32 {
                      range "0..59";
                    }
                    units "second";
                    mandatory true;
                    description "Start Seconds";
                  }
    
                  leaf start-date {
                    type uint32 {
                      range "1..31";
                    }
                    mandatory true;
                    description "Start Date";
                  }
    
                  leaf start-month {
                    type Key-chain-month;
                    mandatory true;
                    description "Start Month";
                  }
    
                  leaf start-year {
                    type uint32 {
                      range "1993..2035";
                    }
                    mandatory true;
                    description "Start Year";
                  }
    
                  leaf life-time {
                    type uint32 {
                      range "1..2147483647";
                    }
                    units "second";
                    description
                      "Lifetime duration in seconds";
                  }
    
                  leaf infinite-flag {
                    type boolean;
                    description
                      "Infinite Lifetime flag";
                  }
    
                  leaf end-hour {
                    type uint32 {
                      range "0..23";
                    }
                    description "End Hour";
                  }
    
                  leaf end-minutes {
                    type uint32 {
                      range "0..59";
                    }
                    units "minute";
                    description "End Minutes";
                  }
    
                  leaf end-seconds {
                    type uint32 {
                      range "0..59";
                    }
                    units "second";
                    description "End Seconds";
                  }
    
                  leaf end-date {
                    type uint32 {
                      range "1..31";
                    }
                    description "End Date";
                  }
    
                  leaf end-month {
                    type Key-chain-month;
                    description "End Month";
                  }
    
                  leaf end-year {
                    type uint32 {
                      range "1993..2035";
                    }
                    description "End Year";
                  }
                }  // container send-lifetime
    
                leaf cryptographic-algorithm {
                  type Crypto-alg;
                  description
                    "Configure the cryptographic algorithm";
                }
    
                leaf key-id {
                  type xr:Cisco-ios-xr-string;
                  description
                    "48-bit Key identifier";
                }
              }  // list key
            }  // container keys
    
            leaf chain-name {
              type xr:Cisco-ios-xr-string {
                length "1..32";
              }
              description
                "Name of the key chain";
            }
          }  // list keychain
        }  // container keychains
      }  // module Cisco-IOS-XR-lib-keychain-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.