DirectoryConfig
in package
implements
JsonSerializable
A tenant's directory configuration, as stored and as read back. Carries no secret: see the module documentation.
Table of Contents
Interfaces
- JsonSerializable
Properties
- $baseDn : string
- $bindDn : string
- $createdAt : string
- $enabled : bool
- $groupBaseDn : string|null
- $groupFilter : string|null
- $groupMappings : array<string|int, mixed>
- $groupMemberAttribute : string
- $groupNestingDepth : int
- $id : string
- $jitProvisioning : bool
- $kind : DirectoryKind
- $startTls : bool
- $syncIntervalSecs : int
- $tenantId : string
- $trustAnchorsPem : array<string|int, mixed>
- $updatedAt : string
- $url : string
- $userAttributeMap : UserAttributeMap
- $userFilter : string
Methods
- __construct() : mixed
- Constructs a DirectoryConfig.
- fromArray() : self
- Rebuilds a DirectoryConfig from one decoded JSON object.
- jsonSerialize() : array<string, mixed>
- Renders this object for `json_encode()`.
- toArray() : array<string, mixed>
- Renders this object back to its wire form.
- unknownEnumValue() : string|null
- The string the server sent for an open-enum member this SDK has no name for, or `null`.
Properties
$baseDn read-only
public
string
$baseDn
$bindDn read-only
public
string
$bindDn
$createdAt read-only
public
string
$createdAt
$enabled read-only
public
bool
$enabled
$groupBaseDn read-only
public
string|null
$groupBaseDn
= null
$groupFilter read-only
public
string|null
$groupFilter
= null
$groupMappings read-only
public
array<string|int, mixed>
$groupMappings
$groupMemberAttribute read-only
public
string
$groupMemberAttribute
$groupNestingDepth read-only
public
int
$groupNestingDepth
$id read-only
public
string
$id
$jitProvisioning read-only
public
bool
$jitProvisioning
$kind read-only
public
DirectoryKind
$kind
$startTls read-only
public
bool
$startTls
$syncIntervalSecs read-only
public
int
$syncIntervalSecs
$tenantId read-only
public
string
$tenantId
$trustAnchorsPem read-only
public
array<string|int, mixed>
$trustAnchorsPem
$updatedAt read-only
public
string
$updatedAt
$url read-only
public
string
$url
$userAttributeMap read-only
public
UserAttributeMap
$userAttributeMap
$userFilter read-only
public
string
$userFilter
Methods
__construct()
Constructs a DirectoryConfig.
public
__construct(string $baseDn, string $bindDn, string $createdAt, bool $enabled, array<int, GroupMapping> $groupMappings, string $groupMemberAttribute, int $groupNestingDepth, string $id, bool $jitProvisioning, DirectoryKind $kind, bool $startTls, int $syncIntervalSecs, string $tenantId, array<int, string> $trustAnchorsPem, string $updatedAt, string $url, UserAttributeMap $userAttributeMap, string $userFilter[, string|null $groupBaseDn = null ][, string|null $groupFilter = null ]) : mixed
Parameters
- $baseDn : string
-
Where users are searched for.
- $bindDn : string
-
The service account AXIAM binds as to search. It should hold read-only rights: AXIAM never writes to a directory.
- $createdAt : string
-
When the row was created.
- $enabled : bool
-
Whether the directory is used for sign-in and sync.
- $groupMappings : array<int, GroupMapping>
-
The group-mapping table (D-30): which directory groups put a user into which AXIAM groups. Empty means no directory group maps to anything, and a sign-in then removes every directory-sourced membership the user held.
- $groupMemberAttribute : string
-
memberOf(user-side, AD) ormember(group-side, OpenLDAP). - $groupNestingDepth : int
-
How many levels of nested groups are followed,
0..=10. - $id : string
-
Row identifier.
- $jitProvisioning : bool
-
Provision an AXIAM user on first successful directory sign-in.
- $kind : DirectoryKind
-
The kind of directory, which selects defaults.
- $startTls : bool
-
Upgrade an
ldap://connection with StartTLS before any bind. - $syncIntervalSecs : int
-
Seconds between incremental sync runs.
- $tenantId : string
-
The owning tenant. At most one configuration exists per tenant.
- $trustAnchorsPem : array<int, string>
-
PEM CA certificates that anchor trust in the directory's server certificate. Empty means the platform roots used by the rest of the workspace's outbound TLS. An organisation CA's PEM can be pasted here.
- $updatedAt : string
-
When the row was last written.
- $url : string
-
ldaps://host[:port]orldap://host[:port]together with [Self::start_tls]. A plaintext URL is refused at configuration time. - $userAttributeMap : UserAttributeMap
-
Which attribute feeds which user field.
- $userFilter : string
-
The user-lookup filter template. It contains exactly one
{username}placeholder, which the bind path replaces with the RFC 4515-escaped login name; the template itself is never formatted with raw input. - $groupBaseDn : string|null = null
-
Where groups are searched for (reverse-
memberlookups, group sync). (optional) - $groupFilter : string|null = null
-
Restricts which entries under [
Self::group_base_dn] are groups. (optional)
fromArray()
Rebuilds a DirectoryConfig from one decoded JSON object.
public
static fromArray(array<string, mixed> $data) : self
Parameters
- $data : array<string, mixed>
-
The raw wire object.
Return values
selfjsonSerialize()
Renders this object for `json_encode()`.
public
jsonSerialize() : array<string, mixed>
Any Sensitive it carries stays WRAPPED here, so a log line or a
json_encode($model) in application code prints [SENSITIVE]. The one place a secret
is revealed is ManagementTransport, on the way to the wire
and nowhere else (§27.5).
Rendering for a log line never fails: an unknown union arm renders its discriminator and
an unrecognised enum value its empty Unknown spelling here, and only self::toArray() -- the request path -- refuses to send it (CONTRACT.md §31.2, §34.2
P12.2).
Return values
array<string, mixed>toArray()
Renders this object back to its wire form.
public
toArray() : array<string, mixed>
§27.4 rule 5: a null property is OMITTED, not emitted as null. On a sparse update those two say opposite things — "leave this alone" versus "set this to nothing" — and only omission means the first.
Return values
array<string, mixed>unknownEnumValue()
The string the server sent for an open-enum member this SDK has no name for, or `null`.
public
unknownEnumValue(string $wire) : string|null
Only a model decoded by self::fromArray() knows it, and only for a member that
decoded to Unknown (CONTRACT.md §27.6.2 item 4, §34.8 (c)): it lets a refusal name the
value. It is for messages -- it is never rendered by self::toArray() or self::jsonSerialize() and so is never sent.
Parameters
- $wire : string
-
The member's wire name.