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 object
8          to represent the config, it will destroy an existing one, if found. In
9          other words, this is not an update API. Individual properties can be
10          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
41                has to react differently for AD vs openldap.
42          - name: GroupNameAttribute
43            type: string
44            description: >
45                Specifies the attribute name that contains the name of the Group
46                in the LDAP server.
47          - name: UsernameAttribute
48            type: string
49            description: >
50                Specifies the attribute name that contains the username in the
51                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