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