// SPDX-FileCopyrightText: 2021 Open Networking Foundation
//
// SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0

module security-profile {
  namespace "http://opennetworking.org/aether/security-profile";
  prefix sec;

  organization "Open Networking Foundation.";
  contact "Scott Baker";
  description "To generate JSON from this use command
    pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
    Copied from YangUIComponents project";

  revision "2020-11-30" {
    description "An Aether Security Profile. Contains keys and other security items associated with devices. Configured by the operator.";
    reference "RFC 6087";
  }

  typedef security-profile-id {
        type string {
            length 1..32;
        }
  }

  container security-profile {
    description "The top level container";

    list security-profile {
      key "id";
      description
        "List of security profiles";

      leaf id {
        type security-profile-id;
        description "ID for this security profile.";
      }

      leaf display-name {
        type string {
            length 1..80;
        }
        description "display name to use in GUI or CLI";
      }     

      leaf key {
        type string {
          length 1..32;
        }
        description "Secret key for USIM";
      }

      leaf opc {
        type string {
          length 1..32;
        }
        description "Secret key for Operator";
      }

      leaf sqn {
        type uint32;
        description "sequence number";
      }

      leaf description {
        type string {
          length 1..100;
        }
        description "description of this security profile";
      }      
    }
  } 
}
