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: 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.
          - name: GroupNameAttribute
            type: string
            description: >
                Specifies the attribute name that contains the name
                of the Group in the LDAP server.
          - name: UsernameAttribute
            type: string
            description: >
                Specifies the attribute name that contains
                the username in the LDAP server.
      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
          - xyz.openbmc_project.Common.Error.NoCACertificate

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
