SetDirectoryConfig
in package
implements
JsonSerializable
`PUT /api/v1/tenants/{tenant_id}/directory` — a **replacement**. Every `DirectoryConfig` member except `id`, `tenant_id` and the two timestamps, plus the write-only `bind_secret`.
An omitted optional member is reset to its default, not kept.
This is a REPLACEMENT body (§27.4 rule 5): what it omits is not preserved. The required
members are constructor parameters, so omitting one is a constructor error; an optional
member left unset is omitted from the wire and takes its default server-side. Left unset,
the write-only secret (bind_secret) is not reset but kept -- see the operation's
documentation for when a write must carry it.
Table of Contents
Interfaces
- JsonSerializable
Properties
- $baseDn : string
- $bindDn : string
- $bindSecret : Sensitive|null
- $enabled : bool
- $groupBaseDn : string|null
- $groupFilter : string|null
- $groupMappings : array<string|int, mixed>|null
- $groupMemberAttribute : string|null
- $groupNestingDepth : int|null
- $jitProvisioning : bool|null
- $kind : DirectoryKind
- $startTls : bool
- $syncIntervalSecs : int|null
- $trustAnchorsPem : array<string|int, mixed>|null
- $url : string
- $userAttributeMap : UserAttributeMap|null
- $userFilter : string
Methods
- __construct() : mixed
- Constructs a SetDirectoryConfig.
- fromArray() : self
- Rebuilds a SetDirectoryConfig 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
$bindSecret read-only
public
Sensitive|null
$bindSecret
= null
$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>|null
$groupMappings
= null
$groupMemberAttribute read-only
public
string|null
$groupMemberAttribute
= null
$groupNestingDepth read-only
public
int|null
$groupNestingDepth
= null
$jitProvisioning read-only
public
bool|null
$jitProvisioning
= null
$kind read-only
public
DirectoryKind
$kind
$startTls read-only
public
bool
$startTls
$syncIntervalSecs read-only
public
int|null
$syncIntervalSecs
= null
$trustAnchorsPem read-only
public
array<string|int, mixed>|null
$trustAnchorsPem
= null
$url read-only
public
string
$url
$userAttributeMap read-only
public
UserAttributeMap|null
$userAttributeMap
= null
$userFilter read-only
public
string
$userFilter
Methods
__construct()
Constructs a SetDirectoryConfig.
public
__construct(string $baseDn, string $bindDn, bool $enabled, DirectoryKind $kind, bool $startTls, string $url, string $userFilter[, Sensitive|null $bindSecret = null ][, string|null $groupBaseDn = null ][, string|null $groupFilter = null ][, array<int, GroupMapping>|null $groupMappings = null ][, string|null $groupMemberAttribute = null ][, int|null $groupNestingDepth = null ][, bool|null $jitProvisioning = null ][, int|null $syncIntervalSecs = null ][, array<int, string>|null $trustAnchorsPem = null ][, UserAttributeMap|null $userAttributeMap = null ]) : mixed
Parameters
- $baseDn : string
-
Where users are searched for.
- $bindDn : string
-
The service account the search runs as.
- $enabled : bool
-
A disabled directory serves no sign-in and is not synced.
- $kind : DirectoryKind
-
Chooses defaults only.
- $startTls : bool
-
Upgrade an
ldap://connection with StartTLS before any bind. - $url : string
-
ldaps://host[:port], orldap://host[:port]withstart_tls. - $userFilter : string
-
One
{username}placeholder in value position. - $bindSecret : Sensitive|null = null
-
The service account's password: write-only*, 1 to 4096 octets. Required when the tenant has no configuration yet; on a replacement, absent means keep the stored secret — unless the write moves the connection (
url,start_tls,bind_dnortrust_anchors_pem), which then requires it (400, P23W2-01). (optional) - $groupBaseDn : string|null = null
-
Defaults to null. (optional)
- $groupFilter : string|null = null
-
Defaults to null. (optional)
- $groupMappings : array<int, GroupMapping>|null = null
-
At most 500; every
group_ida group of the tenant. Default empty. (optional) - $groupMemberAttribute : string|null = null
-
Defaults by
kind. (optional) - $groupNestingDepth : int|null = null
-
0..=10, default 5. (optional) - $jitProvisioning : bool|null = null
-
Default false. (optional)
- $syncIntervalSecs : int|null = null
-
300..=86400, default 3600. (optional) - $trustAnchorsPem : array<int, string>|null = null
-
At most 16 CA certificates in PEM. Default empty (the public roots). (optional)
- $userAttributeMap : UserAttributeMap|null = null
-
the server's
user_attribute_mapfield (optional)
fromArray()
Rebuilds a SetDirectoryConfig 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.