Add an Interface to configure LDAP name service daemon
It defines interfaces to create and to update LDAP config file.
It defines two interfaces - one is to create a config file and
the another one is to allow updates to happen to individual
properties.
Change-Id: I2f8182ad6d6d6945650d6ff0865c40106973fdec
Signed-off-by: Nagaraju Goruganti <ngorugan@in.ibm.com>
diff --git a/xyz/openbmc_project/User/Ldap/Config.interface.yaml b/xyz/openbmc_project/User/Ldap/Config.interface.yaml
new file mode 100644
index 0000000..1f921dd
--- /dev/null
+++ b/xyz/openbmc_project/User/Ldap/Config.interface.yaml
@@ -0,0 +1,57 @@
+description: >
+ Implement to update LDAP mandatory properties.
+
+properties:
+ - name: SecureLDAP
+ type: boolean
+ description: >
+ Specifies whether to use SSL or not.
+ default: false
+ - name: LDAPServerURI
+ type: string
+ description: >
+ Specifies the LDAP URI of the server to connect to.
+ - name: LDAPBindDN
+ type: string
+ description: >
+ Specifies the distinguished name with which to bind to the directory
+ server for lookups.
+ - name: LDAPBaseDN
+ type: string
+ description: >
+ Specifies the base distinguished name to use as search base.
+ - name: LDAPBINDDNpassword
+ type: string
+ description: >
+ Specifies the clear text credentials with which to bind. This option
+ is only applicable when used with LDAPBindDN.
+ - name: LDAPSearchScope
+ type: enum[self.SearchScope]
+ description: >
+ Specifies the search scope:subtree, one level or base object.
+ default: 0
+ - name: LDAPType
+ type: enum[self.Type]
+ description: >
+ Specifies the the configured server is ActiveDirectory(AD) or
+ OpenLdap. It's just an indication for the LDAP stack running on
+ the BMC, in case the app is implemented in such a way that it has
+ to react differently for AD vs openldap.
+
+enumerations:
+ - name: SearchScope
+ description: >
+ Possible base scopes.
+ values:
+ - name: sub
+ - name: one
+ - name: base
+
+ - name: Type
+ description: >
+ Possible LDAP Types.
+ values:
+ - name: ActiveDirectory
+ - name: OpenLdap
+
+# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
diff --git a/xyz/openbmc_project/User/Ldap/Create.interface.yaml b/xyz/openbmc_project/User/Ldap/Create.interface.yaml
new file mode 100644
index 0000000..24f5d28
--- /dev/null
+++ b/xyz/openbmc_project/User/Ldap/Create.interface.yaml
@@ -0,0 +1,72 @@
+description: >
+ Implement to create LDAP name service daemon configuration file.
+
+methods:
+ - name: CreateConfig
+ description: >
+ This method always creates a new config file as well as a D-Bus
+ object to represent the config, it will destroy an existing one,
+ if found. In other words, this is not an update API. Individual
+ properties can be updated as per the
+ xyz/openbmc_project/User/Ldap/Config.interface.yaml.
+ parameters:
+ - name: SecureLDAP
+ type: boolean
+ description: >
+ Specifies whether to use SSL or not.
+ - name: LDAPServerURI
+ type: string
+ description: >
+ Specifies the LDAP URI of the server to connect to.
+ - name: LDAPBindDN
+ type: string
+ description: >
+ Specifies the distinguished name with which to bind to the
+ directory server for lookups.
+ - name: LDAPBaseDN
+ type: string
+ description: >
+ Specifies the base distinguished name to use as search base.
+ - name: LDAPBINDDNpassword
+ type: string
+ description: >
+ Specifies the clear text credentials with which to bind. This
+ option is only applicable when used with LDAPBindDN.
+ - name: LDAPSearchScope
+ type: enum[self.SearchScope]
+ description: >
+ Specifies the search scope:subtree, one level or base object.
+ - name: LDAPType
+ type: enum[self.Type]
+ description: >
+ Specifies the the configured server is ActiveDirectory(AD) or
+ OpenLdap. It's just an indication for the LDAP stack running on
+ the BMC, in case the app is implemented in such a way that it has
+ to react differently for AD vs openldap.
+ returns:
+ - name: path
+ type: string
+ description: >
+ The object path of the D-Bus object representing the config.
+
+ errors:
+ - xyz.openbmc_project.Common.Error.InternalFailure
+ - xyz.openbmc_project.Common.Error.InvalidArgument
+
+enumerations:
+ - name: SearchScope
+ description: >
+ Possible base scopes.
+ values:
+ - name: sub
+ - name: one
+ - name: base
+
+ - name: Type
+ description: >
+ Possible LDAP Types.
+ values:
+ - name: ActiveDirectory
+ - name: OpenLdap
+
+# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4