1description: >
2    Implement to create LDAP name service daemon configuration file.
3
4methods:
5    - name: CreateConfig
6      description: >
7          This method always creates a new config file as well as a D-Bus
8          object to represent the config, it will destroy an existing one,
9          if found. In other words, this is not an update API. Individual
10          properties can be updated as per the
11          xyz/openbmc_project/User/Ldap/Config.interface.yaml.
12      parameters:
13        - name: LDAPServerURI
14          type: string
15          description: >
16              Specifies the LDAP URI of the server to connect to.
17        - name: LDAPBindDN
18          type: string
19          description: >
20              Specifies the distinguished name with which to bind to the
21              directory server for lookups.
22        - name: LDAPBaseDN
23          type: string
24          description: >
25              Specifies the base distinguished name to use as search base.
26        - name: LDAPBINDDNpassword
27          type: string
28          description: >
29              Specifies the clear text credentials with which to bind. This
30              option is only applicable when used with LDAPBindDN.
31        - name: LDAPSearchScope
32          type: enum[self.SearchScope]
33          description: >
34              Specifies the search scope:subtree, one level or base object.
35        - name: LDAPType
36          type: enum[self.Type]
37          description: >
38              Specifies the the configured server is ActiveDirectory(AD) or
39              OpenLdap. It's just an indication for the LDAP stack running on
40              the BMC, in case the app is implemented in such a way that it has
41              to react differently for AD vs openldap.
42        - name: GroupNameAttribute
43          type: string
44          description: >
45              Specifies the attribute name that contains the name
46              of the Group in the LDAP server.
47        - name: UsernameAttribute
48          type: string
49          description: >
50              Specifies the attribute name that contains
51              the username in the LDAP server.
52      returns:
53        - name: path
54          type: string
55          description: >
56              The object path of the D-Bus object representing the config.
57
58      errors:
59        - xyz.openbmc_project.Common.Error.InternalFailure
60        - xyz.openbmc_project.Common.Error.InvalidArgument
61        - xyz.openbmc_project.Common.Error.NoCACertificate
62
63enumerations:
64    - name: SearchScope
65      description: >
66          Possible base scopes.
67      values:
68        - name: sub
69        - name: one
70        - name: base
71
72    - name: Type
73      description: >
74          Possible LDAP Types.
75      values:
76        - name: ActiveDirectory
77        - name: OpenLdap
78