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