Resource
in package
implements
JsonSerializable
The `Resource` schema from the server's OpenAPI document.
Table of Contents
Interfaces
- JsonSerializable
Properties
- $createdAt : string
- $id : string
- $metadata : mixed
- $name : string
- $parentId : string|null
- $resourceType : string
- $tenantId : string
- $umaRegisteredBy : string|null
- $updatedAt : string
Methods
- __construct() : mixed
- Constructs a Resource.
- fromArray() : self
- Rebuilds a Resource 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.
Properties
$createdAt read-only
public
string
$createdAt
$id read-only
public
string
$id
$metadata read-only
public
mixed
$metadata
$name read-only
public
string
$name
$parentId read-only
public
string|null
$parentId
= null
$resourceType read-only
public
string
$resourceType
$tenantId read-only
public
string
$tenantId
$umaRegisteredBy read-only
public
string|null
$umaRegisteredBy
= null
$updatedAt read-only
public
string
$updatedAt
Methods
__construct()
Constructs a Resource.
public
__construct(string $createdAt, string $id, mixed $metadata, string $name, string $resourceType, string $tenantId, string $updatedAt[, string|null $parentId = null ][, string|null $umaRegisteredBy = null ]) : mixed
Parameters
- $createdAt : string
-
the server's
created_atfield - $id : string
-
the server's
idfield - $metadata : mixed
-
the server's
metadatafield - $name : string
-
the server's
namefield - $resourceType : string
-
The type of resource (e.g.,
project,service,endpoint). - $tenantId : string
-
the server's
tenant_idfield - $updatedAt : string
-
the server's
updated_atfield - $parentId : string|null = null
-
Parent resource ID for hierarchical organization.
Nonefor root resources. (optional) - $umaRegisteredBy : string|null = null
-
The
client_idthat registered this resource through the UMA Protection API (X2), orNonefor a resource created any other way. Read-only from every ordinary path: [UpdateResource] cannot set it and [CreateResource] cannot either, so the only writer is the resource-registration handler. That is deliberate — the field backs a provenance badge in the admin UI, and a provenance marker anyone can write is decoration that reads like evidence. (optional)
fromArray()
Rebuilds a Resource 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).
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.