/* Copyright (c) 2015 Inocybe Technology All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL */ module aaa-cert { yang-version 1; namespace "urn:opendaylight:yang:aaa:cert"; prefix aaa-cert; import config { prefix config; revision-date 2013-04-05; } import opendaylight-md-sal-binding { prefix md-sal-binding; revision-date 2013-10-28; } import openflow-switch-connection-provider { prefix openflow-switch-connection-provider; revision-date 2014-03-28; } description "Service definition for aaa certificate"; contact "melserngawy@inocybe.com"; revision "2015-11-26" { description "Initial revision."; } identity aaa-cert { base config:module-type; config:java-name-prefix AaaCertProvider; } augment "/config:modules/config:module/config:configuration" { case aaa-cert { when "/config:modules/config:module/config:type = 'aaa-cert'"; container broker { uses config:service-ref { refine type { mandatory true; config:required-identity md-sal-binding:binding-broker-osgi-registry; } } } list openflow-switch-connection { uses config:service-ref { refine type { mandatory true; config:required-identity openflow-switch-connection-provider:openflow-switch-connection-provider; } } } leaf useConfig { description "Use the configuration data to create the keystores"; type boolean; default false; } container ctlKeystore { leaf name { description "keystore name default is ctl"; type string; } leaf alias { description "key alias"; type string; } leaf storePassword { description "keystore password"; type string; } leaf dname { description "X.500 Distinguished Names should be in the following formate CN=commonName OU=organizationUnit O=organizationName L=localityName S=stateName C=country"; type string; } leaf validity { description "validity"; type int32; } } container trustKeystore { leaf name { description "keystore name default is truststore"; type string; } leaf alias { description "key alias"; type string; } leaf storePassword { description "keystore password"; type string; } leaf certFile { description "path to CA certificate pem file"; type string; } } } } }