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
