Class AdminKeyResponse
java.lang.Object
co.ankatech.keymanagement.client.keymanagement.model.AdminKeyResponse
@Generated(value="org.openapitools.codegen.languages.JavaClientCodegen",
comments="Generator version: 7.23.0")
public class AdminKeyResponse
extends Object
Operational metadata for a tenant-scoped cryptographic key. The key list returns every key the tenant still holds, in any lifecycle state; its Deleted view (status=deleted_logical) returns the destroyed keys, read-only. A Deleted-view row is identified by uuid, the key identity (its kid is never given to another key) and is built from the key identity alone: it carries kid, uuid, tenantId, status, an empty protectionStopReasons, displayName, description, the revocation cause and reason, revokedAt, archivedAt, deletedAt, the record timestamps and updatedBy, and no algorithm, key type, key material, origin, exportable, usage, expiry, authorizationReferences or conformance member. Version counters and composite components are not exposed.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumComposite-key mode.static classstatic enumShape of the key (SIMPLE or COMPOSITE).static enumHow the key entered the platform (GENERATED or IMPORTED).static enumThe status the key held immediately before being suspended.static enumCurrent lifecycle state. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final String -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddKeyOpsItem(String keyOpsItem) addProtectionStopReasonsItem(ProtectionStopReason protectionStopReasonsItem) archivedAt(OffsetDateTime archivedAt) authorizationReferences(KeyAuthorizationReferences authorizationReferences) availableActions(Map<String, ActionAvailability> availableActions) compositeMode(AdminKeyResponse.CompositeModeEnum compositeMode) conforming(Boolean conforming) createdAt(OffsetDateTime createdAt) deletedAt(OffsetDateTime deletedAt) description(String description) destructionEligibleFrom(OffsetDateTime destructionEligibleFrom) destructionEligibleFromBy(String destructionEligibleFromBy) displayName(String displayName) booleanexpiresAt(OffsetDateTime expiresAt) exportable(Boolean exportable) static AdminKeyResponseCreate an instance of AdminKeyResponse given an JSON stringgetAlg()Algorithm identifier.UTC timestamp at which the key was archived.How many authorizations in THIS tenant reference this key, by kind: internal crypto use cases, cryptographic exchanges and standalone capability grants, with their total.Per-action capability map computed server-side from the key's lifecycle state, destruction-eligibility timestamp, and the caller's granted authorities.Composite-key mode.The wire value ofcompositeMode: what the server sent, verbatim.Whether this key's algorithm is still permitted by the tenant's effective algorithm policy. true = conforming; false = non-conforming (rotate to a permitted algorithm); ABSENT (null) when there is no conformance basis — the tenant declared no explicit algorithm-policy template, the key's algorithm is unresolvable, or the key is not live (a REVOKED, ARCHIVED, PENDING_DESTRUCTION or Deleted-view row).UTC timestamp at which the metadata row was first persisted.UTC timestamp at which the key was destroyed.Free-text description of the key's purpose (max 1000 chars).Earliest UTC timestamp at which DELETE will be accepted.Identity of the administrator who scheduled the destruction.Human-friendly display name shown in the admin console (max 255 chars).Hard expiration UTC timestamp of the current material.Whether the public key material can be exported via migration endpoints.Whether a still-permitted rotation target exists for this key — i.e. rotating it could reach a conforming algorithm.getKdf()Key Derivation Function for composite KEM keys.UTC timestamp at which the key material was generated.Permitted key operations (encrypt, decrypt, sign, verify, wrapKey, unwrapKey).Shape of the key (SIMPLE or COMPOSITE).The wire value ofkeyType: what the server sent, verbatim.getKid()Unique key identifier within the tenant keystore.getKty()Key type discriminator.Most recent UTC timestamp at which the key was used.Protection budget of the current material: once usageCount reaches it the key is expired (protectionStopReasons USAGE_LIMIT_REACHED) and stops encrypting and signing until it is rotated.Always absent.Instant the key is next due for automatic rotation: the nextDueAt the key's rotation schedule read (getKeyRotationSchedule) answers at the same moment.How the key entered the platform (GENERATED or IMPORTED).The wire value oforigin: what the server sent, verbatim.The status the key held immediately before being suspended.The wire value ofpreSuspensionStatus: what the server sent, verbatim.Always absent.Why the key can no longer encrypt or sign, derived on each read from its current material: EXPIRY_REACHED when expiresAt has passed, USAGE_LIMIT_REACHED when usageCount has reached maxUsageLimit, both in that order when both hold.The wire values ofprotectionStopReasons, in order: what the server sent, verbatim.Whether the key has operational restrictions (e.g. imported with an expired certificate).Typed reason for revocation.The wire value ofrevocationCause: what the server sent, verbatim.Free-text description of the revocation (max 1000 chars).UTC timestamp at which the key was revoked.NIST security category of the key's algorithm (1, 3 or 5), derived from the platform algorithm catalog.Soft expiration UTC timestamp (warning threshold).Soft usage limit (warning threshold).Current lifecycle state.The wire value ofstatus: what the server sent, verbatim.UTC timestamp at which the key was suspended.Identity (typically an email) of the administrator who suspended the key.Free-text reason captured at suspension (max 1000 chars).Owning tenant identifier extracted from the path.UTC timestamp of the last modification to the metadata row.Identity of the last administrator to modify the record.Protection operations (encrypt and sign legs) counted against the key's current material; decrypt and verify are not counted.getUuid()The key identity (key_aliases.id).hasAdmissibleTarget(Boolean hasAdmissibleTarget) inthashCode()keyCreatedAt(OffsetDateTime keyCreatedAt) keyType(AdminKeyResponse.KeyTypeEnum keyType) lastUsedAt(OffsetDateTime lastUsedAt) maxUsageLimit(Integer maxUsageLimit) nextRotationAt(OffsetDateTime nextRotationAt) origin(AdminKeyResponse.OriginEnum origin) preSuspensionStatus(AdminKeyResponse.PreSuspensionStatusEnum preSuspensionStatus) previousKid(String previousKid) protectionStopReasons(List<ProtectionStopReason> protectionStopReasons) putAvailableActionsItem(String key, ActionAvailability availableActionsItem) restricted(Boolean restricted) revocationCause(KeyLifecycleCause revocationCause) revocationReason(String revocationReason) revokedAt(OffsetDateTime revokedAt) securityLevel(Integer securityLevel) voidvoidsetArchivedAt(OffsetDateTime archivedAt) voidsetAuthorizationReferences(KeyAuthorizationReferences authorizationReferences) voidsetAvailableActions(Map<String, ActionAvailability> availableActions) voidsetCompositeMode(AdminKeyResponse.CompositeModeEnum compositeMode) voidsetConforming(Boolean conforming) voidsetCreatedAt(OffsetDateTime createdAt) voidsetDeletedAt(OffsetDateTime deletedAt) voidsetDescription(String description) voidsetDestructionEligibleFrom(OffsetDateTime destructionEligibleFrom) voidsetDestructionEligibleFromBy(String destructionEligibleFromBy) voidsetDisplayName(String displayName) voidsetExpiresAt(OffsetDateTime expiresAt) voidsetExportable(Boolean exportable) voidsetHasAdmissibleTarget(Boolean hasAdmissibleTarget) voidvoidsetKeyCreatedAt(OffsetDateTime keyCreatedAt) voidvoidsetKeyType(AdminKeyResponse.KeyTypeEnum keyType) voidvoidvoidsetLastUsedAt(OffsetDateTime lastUsedAt) voidsetMaxUsageLimit(Integer maxUsageLimit) voidsetNextKid(String nextKid) voidsetNextRotationAt(OffsetDateTime nextRotationAt) voidsetOrigin(AdminKeyResponse.OriginEnum origin) voidsetPreSuspensionStatus(AdminKeyResponse.PreSuspensionStatusEnum preSuspensionStatus) voidsetPreviousKid(String previousKid) voidsetProtectionStopReasons(List<ProtectionStopReason> protectionStopReasons) voidsetRestricted(Boolean restricted) voidsetRevocationCause(KeyLifecycleCause revocationCause) voidsetRevocationReason(String revocationReason) voidsetRevokedAt(OffsetDateTime revokedAt) voidsetSecurityLevel(Integer securityLevel) voidsetSoftLimitExpiration(OffsetDateTime softLimitExpiration) voidsetSoftUsageLimit(Integer softUsageLimit) voidsetStatus(AdminKeyResponse.StatusEnum status) voidsetSuspendedAt(OffsetDateTime suspendedAt) voidsetSuspendedBy(String suspendedBy) voidsetSuspendedReason(String suspendedReason) voidsetTenantId(UUID tenantId) voidsetUpdatedAt(OffsetDateTime updatedAt) voidsetUpdatedBy(String updatedBy) voidsetUsageCount(Integer usageCount) voidsoftLimitExpiration(OffsetDateTime softLimitExpiration) softUsageLimit(Integer softUsageLimit) status(AdminKeyResponse.StatusEnum status) suspendedAt(OffsetDateTime suspendedAt) suspendedBy(String suspendedBy) suspendedReason(String suspendedReason) toJson()Convert an instance of AdminKeyResponse to an JSON stringtoString()updatedAt(OffsetDateTime updatedAt) usageCount(Integer usageCount) static voidvalidateJsonElement(com.google.gson.JsonElement jsonElement) Validates the JSON Element and throws an exception if issues foundstatic voidvalidateJsonElementAsCandidate(com.google.gson.JsonElement jsonElement) Validates the JSON Element as a candidate of a oneOf schema: the checks ofvalidateJsonElement(JsonElement), and the element carries no member this model does not declare.
-
Field Details
-
SERIALIZED_NAME_ALG
- See Also:
-
SERIALIZED_NAME_ARCHIVED_AT
- See Also:
-
SERIALIZED_NAME_AUTHORIZATION_REFERENCES
- See Also:
-
SERIALIZED_NAME_AVAILABLE_ACTIONS
- See Also:
-
SERIALIZED_NAME_COMPOSITE_MODE
- See Also:
-
SERIALIZED_NAME_CONFORMING
- See Also:
-
SERIALIZED_NAME_CREATED_AT
- See Also:
-
SERIALIZED_NAME_DELETED_AT
- See Also:
-
SERIALIZED_NAME_DESCRIPTION
- See Also:
-
SERIALIZED_NAME_DESTRUCTION_ELIGIBLE_FROM
- See Also:
-
SERIALIZED_NAME_DESTRUCTION_ELIGIBLE_FROM_BY
- See Also:
-
SERIALIZED_NAME_DISPLAY_NAME
- See Also:
-
SERIALIZED_NAME_EXPIRES_AT
- See Also:
-
SERIALIZED_NAME_EXPORTABLE
- See Also:
-
SERIALIZED_NAME_HAS_ADMISSIBLE_TARGET
- See Also:
-
SERIALIZED_NAME_KDF
- See Also:
-
SERIALIZED_NAME_KEY_CREATED_AT
- See Also:
-
SERIALIZED_NAME_KEY_OPS
- See Also:
-
SERIALIZED_NAME_KEY_TYPE
- See Also:
-
SERIALIZED_NAME_KID
- See Also:
-
SERIALIZED_NAME_KTY
- See Also:
-
SERIALIZED_NAME_LAST_USED_AT
- See Also:
-
SERIALIZED_NAME_MAX_USAGE_LIMIT
- See Also:
-
SERIALIZED_NAME_NEXT_KID
- See Also:
-
SERIALIZED_NAME_NEXT_ROTATION_AT
- See Also:
-
SERIALIZED_NAME_ORIGIN
- See Also:
-
SERIALIZED_NAME_PRE_SUSPENSION_STATUS
- See Also:
-
SERIALIZED_NAME_PREVIOUS_KID
- See Also:
-
SERIALIZED_NAME_PROTECTION_STOP_REASONS
- See Also:
-
SERIALIZED_NAME_RESTRICTED
- See Also:
-
SERIALIZED_NAME_REVOCATION_CAUSE
- See Also:
-
SERIALIZED_NAME_REVOCATION_REASON
- See Also:
-
SERIALIZED_NAME_REVOKED_AT
- See Also:
-
SERIALIZED_NAME_SECURITY_LEVEL
- See Also:
-
SERIALIZED_NAME_SOFT_LIMIT_EXPIRATION
- See Also:
-
SERIALIZED_NAME_SOFT_USAGE_LIMIT
- See Also:
-
SERIALIZED_NAME_STATUS
- See Also:
-
SERIALIZED_NAME_SUSPENDED_AT
- See Also:
-
SERIALIZED_NAME_SUSPENDED_BY
- See Also:
-
SERIALIZED_NAME_SUSPENDED_REASON
- See Also:
-
SERIALIZED_NAME_TENANT_ID
- See Also:
-
SERIALIZED_NAME_UPDATED_AT
- See Also:
-
SERIALIZED_NAME_UPDATED_BY
- See Also:
-
SERIALIZED_NAME_USAGE_COUNT
- See Also:
-
SERIALIZED_NAME_UUID
- See Also:
-
openapiFields
-
openapiRequiredFields
-
-
Constructor Details
-
AdminKeyResponse
public AdminKeyResponse()
-
-
Method Details
-
getCompositeModeAsString
The wire value ofcompositeMode: what the server sent, verbatim.- For a value this release declares, the same wire value the enum names.
- For a value it does not declare (one a later server added), the server's wire value verbatim,
while
getCompositeMode()readsUNKNOWN_DEFAULT_OPEN_API; writing this model sends that wire value back, never the sentinel. - For an absent member,
null.
- Returns:
- the wire value, or
nullwhen the member is absent
-
getKeyTypeAsString
The wire value ofkeyType: what the server sent, verbatim.- For a value this release declares, the same wire value the enum names.
- For a value it does not declare (one a later server added), the server's wire value verbatim,
while
getKeyType()readsUNKNOWN_DEFAULT_OPEN_API; writing this model sends that wire value back, never the sentinel. - For an absent member,
null.
- Returns:
- the wire value, or
nullwhen the member is absent
-
getOriginAsString
The wire value oforigin: what the server sent, verbatim.- For a value this release declares, the same wire value the enum names.
- For a value it does not declare (one a later server added), the server's wire value verbatim,
while
getOrigin()readsUNKNOWN_DEFAULT_OPEN_API; writing this model sends that wire value back, never the sentinel. - For an absent member,
null.
- Returns:
- the wire value, or
nullwhen the member is absent
-
getPreSuspensionStatusAsString
The wire value ofpreSuspensionStatus: what the server sent, verbatim.- For a value this release declares, the same wire value the enum names.
- For a value it does not declare (one a later server added), the server's wire value verbatim,
while
getPreSuspensionStatus()readsUNKNOWN_DEFAULT_OPEN_API; writing this model sends that wire value back, never the sentinel. - For an absent member,
null.
- Returns:
- the wire value, or
nullwhen the member is absent
-
getProtectionStopReasonsAsString
The wire values ofprotectionStopReasons, in order: what the server sent, verbatim.- For a value this release declares, the same wire value the enum names.
- For a value it does not declare (one a later server added), the server's wire value verbatim,
while the matching element of
getProtectionStopReasons()readsUNKNOWN_DEFAULT_OPEN_API; writing this model sends that wire value back, never the sentinel. - For an absent member,
null.
- Returns:
- the wire values, or
nullwhen the member is absent
-
getRevocationCauseAsString
The wire value ofrevocationCause: what the server sent, verbatim.- For a value this release declares, the same wire value the enum names.
- For a value it does not declare (one a later server added), the server's wire value verbatim,
while
getRevocationCause()readsUNKNOWN_DEFAULT_OPEN_API; writing this model sends that wire value back, never the sentinel. - For an absent member,
null.
- Returns:
- the wire value, or
nullwhen the member is absent
-
getStatusAsString
The wire value ofstatus: what the server sent, verbatim.- For a value this release declares, the same wire value the enum names.
- For a value it does not declare (one a later server added), the server's wire value verbatim,
while
getStatus()readsUNKNOWN_DEFAULT_OPEN_API; writing this model sends that wire value back, never the sentinel. - For an absent member,
null.
- Returns:
- the wire value, or
nullwhen the member is absent
-
alg
-
getAlg
Algorithm identifier. Simple keys: single algorithm. Composite keys: combined algorithms separated by '+'. Present on every key that holds material; absent on a Deleted-view row (status=deleted_logical).- Returns:
- alg
-
setAlg
-
archivedAt
-
getArchivedAt
UTC timestamp at which the key was archived. Present once the key has been archived: on ARCHIVED and PENDING_DESTRUCTION keys, and on a Deleted-view row of a key destroyed after archiving. Absent on a key never archived. Archiving keeps revocationCause.- Returns:
- archivedAt
-
setArchivedAt
-
authorizationReferences
public AdminKeyResponse authorizationReferences(@Nullable KeyAuthorizationReferences authorizationReferences) -
getAuthorizationReferences
How many authorizations in THIS tenant reference this key, by kind: internal crypto use cases, cryptographic exchanges and standalone capability grants, with their total. Present on the tenant-plane reads GET /keys/{kid} and GET /keys (absent on a Deleted-view row, status=deleted_logical: its kid may belong to a live key, whose references are not the tombstone's), where a total of 0 means nothing references the key — a normal state, not a defect: a key outlives the authorizations that point at it. A same-named kid in another tenant contributes nothing. ABSENT on the Core→Admin S2S key read, which does not compute it: that caller is a key-material lookup with no operator behind it, and zeros there would claim 'nothing references this key' where the truth is 'not computed'. The object is a READING: no key command is gated on it, so a referenced key can still be rotated, revoked, archived and destroyed.- Returns:
- authorizationReferences
-
setAuthorizationReferences
public void setAuthorizationReferences(@Nullable KeyAuthorizationReferences authorizationReferences) -
availableActions
-
putAvailableActionsItem
public AdminKeyResponse putAvailableActionsItem(String key, ActionAvailability availableActionsItem) -
getAvailableActions
Per-action capability map computed server-side from the key's lifecycle state, destruction-eligibility timestamp, and the caller's granted authorities. Mirrors the AWS KMS / Azure Key Vault / GCP Cloud KMS 'available operations' pattern. Frontends consume these flags to enable / disable lifecycle action buttons and to surface the 'reason' string in disabled-button tooltips. The backend @PreAuthorize annotations remain the authoritative authorization layer; flags are a UX hint. On GET /{kid} all 8 flags are present; on GET / a 7-flag subset (canRevoke, canArchive, canMarkForDestruction, canCancelDestruction, canRotate, canSuspend, canReactivate: every flag but canPatch) is returned. On a Deleted-view row (status=deleted_logical) every flag is allowed=false: a caller lacking the flag's scope reads 'Insufficient privileges', any other caller 'Key is in terminal state DELETED_LOGICAL'.- Returns:
- availableActions
-
setAvailableActions
-
compositeMode
-
getCompositeMode
Composite-key mode. Only populated when keyType=COMPOSITE. Null for simple keys.- Returns:
- compositeMode
-
setCompositeMode
-
conforming
-
getConforming
Whether this key's algorithm is still permitted by the tenant's effective algorithm policy. true = conforming; false = non-conforming (rotate to a permitted algorithm); ABSENT (null) when there is no conformance basis — the tenant declared no explicit algorithm-policy template, the key's algorithm is unresolvable, or the key is not live (a REVOKED, ARCHIVED, PENDING_DESTRUCTION or Deleted-view row). Computed by the SAME evaluator as the posture conformance pillar (single source).- Returns:
- conforming
-
setConforming
-
createdAt
-
getCreatedAt
UTC timestamp at which the metadata row was first persisted.- Returns:
- createdAt
-
setCreatedAt
-
deletedAt
-
getDeletedAt
UTC timestamp at which the key was destroyed. Present only on a Deleted-view row (status=deleted_logical), which the list returns only when that status is requested. Absent on every key the tenant still holds.- Returns:
- deletedAt
-
setDeletedAt
-
description
-
getDescription
Free-text description of the key's purpose (max 1000 chars).- Returns:
- description
-
setDescription
-
destructionEligibleFrom
-
getDestructionEligibleFrom
Earliest UTC timestamp at which DELETE will be accepted. Null unless status=PENDING_DESTRUCTION.- Returns:
- destructionEligibleFrom
-
setDestructionEligibleFrom
-
destructionEligibleFromBy
-
getDestructionEligibleFromBy
Identity of the administrator who scheduled the destruction. Shown to a caller seated in the platform tenant; any other caller (an impersonation session and core-api relaying a tenant caller's read included) receives it only when it names a member of the caller's own tenant, and otherwise receives it withheld (absent or null): a platform operator's principal, a service or system principal, and a value that names neither a live member nor one of the tenant's own Cryptographic Actors.- Returns:
- destructionEligibleFromBy
-
setDestructionEligibleFromBy
-
displayName
-
getDisplayName
Human-friendly display name shown in the admin console (max 255 chars).- Returns:
- displayName
-
setDisplayName
-
expiresAt
-
getExpiresAt
Hard expiration UTC timestamp of the current material. Once it has passed the key is expired (protectionStopReasons EXPIRY_REACHED) and stops encrypting and signing until it is rotated. Null for keys without an expiration.- Returns:
- expiresAt
-
setExpiresAt
-
exportable
-
getExportable
Whether the public key material can be exported via migration endpoints. Present on every row except a Deleted-view row (status=deleted_logical), whose material is destroyed.- Returns:
- exportable
-
setExportable
-
hasAdmissibleTarget
-
getHasAdmissibleTarget
Whether a still-permitted rotation target exists for this key — i.e. rotating it could reach a conforming algorithm. ABSENT (null) when there is no conformance basis (see 'conforming'). Page-scoped: computed only for the returned page.- Returns:
- hasAdmissibleTarget
-
setHasAdmissibleTarget
-
kdf
-
getKdf
Key Derivation Function for composite KEM keys. Derived from the key's combination policy. Null for simple keys.- Returns:
- kdf
-
setKdf
-
keyCreatedAt
-
getKeyCreatedAt
UTC timestamp at which the key material was generated. Absent on a Deleted-view row (status=deleted_logical).- Returns:
- keyCreatedAt
-
setKeyCreatedAt
-
keyOps
-
addKeyOpsItem
-
getKeyOps
Permitted key operations (encrypt, decrypt, sign, verify, wrapKey, unwrapKey). Absent on a Deleted-view row (status=deleted_logical).- Returns:
- keyOps
-
setKeyOps
-
keyType
-
getKeyType
Shape of the key (SIMPLE or COMPOSITE). Present on every key that holds material; absent on a Deleted-view row (status=deleted_logical), which never reports a shape it can no longer read.- Returns:
- keyType
-
setKeyType
-
kid
-
getKid
Unique key identifier within the tenant keystore.- Returns:
- kid
-
setKid
-
kty
-
getKty
Key type discriminator. Simple keys: oct, RSA, EC, OKP, ML-KEM, ML-DSA, FALCON, SLH-DSA, SM2, HQC. Every composite key publishes the single coarse token COMPOSITE; how it is constructed is published separately as compositeMode. Present on every key that holds material; absent on a Deleted-view row (status=deleted_logical), whose material is destroyed.- Returns:
- kty
-
setKty
-
lastUsedAt
-
getLastUsedAt
Most recent UTC timestamp at which the key was used. Null for keys that have not been used.- Returns:
- lastUsedAt
-
setLastUsedAt
-
maxUsageLimit
-
getMaxUsageLimit
Protection budget of the current material: once usageCount reaches it the key is expired (protectionStopReasons USAGE_LIMIT_REACHED) and stops encrypting and signing until it is rotated. Null means unlimited.- Returns:
- maxUsageLimit
-
setMaxUsageLimit
-
nextKid
-
getNextKid
Always absent. The Stable-KID model advances the material version under a fixed kid and never mints a successor kid; the field is retained for wire-shape parity with the cryptographic service.- Returns:
- nextKid
-
setNextKid
-
nextRotationAt
-
getNextRotationAt
Instant the key is next due for automatic rotation: the nextDueAt the key's rotation schedule read (getKeyRotationSchedule) answers at the same moment. Present only when that schedule's state is SCHEDULED, and it may lie in the past, when the key is overdue. Absent for a key whose automatic rotation is disabled, has no cadence or cannot be rotated, and absent for every key when the caller does not hold admin.keys.rotation-schedule.read.- Returns:
- nextRotationAt
-
setNextRotationAt
-
origin
-
getOrigin
How the key entered the platform (GENERATED or IMPORTED). Present on every row except a Deleted-view row (status=deleted_logical), whose material is destroyed.- Returns:
- origin
-
setOrigin
-
preSuspensionStatus
public AdminKeyResponse preSuspensionStatus(@Nullable AdminKeyResponse.PreSuspensionStatusEnum preSuspensionStatus) -
getPreSuspensionStatus
The status the key held immediately before being suspended. Used to restore the previous state on reactivate.- Returns:
- preSuspensionStatus
-
setPreSuspensionStatus
public void setPreSuspensionStatus(@Nullable AdminKeyResponse.PreSuspensionStatusEnum preSuspensionStatus) -
previousKid
-
getPreviousKid
Always absent. The Stable-KID model advances the material version under a fixed kid — there is no predecessor-kid chain; the field is retained for wire-shape parity with the cryptographic service.- Returns:
- previousKid
-
setPreviousKid
-
protectionStopReasons
public AdminKeyResponse protectionStopReasons(@Nonnull List<ProtectionStopReason> protectionStopReasons) -
addProtectionStopReasonsItem
public AdminKeyResponse addProtectionStopReasonsItem(ProtectionStopReason protectionStopReasonsItem) -
getProtectionStopReasons
Why the key can no longer encrypt or sign, derived on each read from its current material: EXPIRY_REACHED when expiresAt has passed, USAGE_LIMIT_REACHED when usageCount has reached maxUsageLimit, both in that order when both hold. Non-empty exactly when status is expired; empty for every other status, a Deleted-view row included. Rotating the key replaces the material and empties it.- Returns:
- protectionStopReasons
-
setProtectionStopReasons
-
restricted
-
getRestricted
Whether the key has operational restrictions (e.g. imported with an expired certificate).- Returns:
- restricted
-
setRestricted
-
revocationCause
-
getRevocationCause
Typed reason for revocation. Null unless the key has been revoked.- Returns:
- revocationCause
-
setRevocationCause
-
revocationReason
-
getRevocationReason
Free-text description of the revocation (max 1000 chars).- Returns:
- revocationReason
-
setRevocationReason
-
revokedAt
-
getRevokedAt
UTC timestamp at which the key was revoked. Present once the key has been revoked: on REVOKED, ARCHIVED and PENDING_DESTRUCTION keys, and on a Deleted-view row (status=deleted_logical) of a key destroyed after revocation. Absent on a key never revoked.- Returns:
- revokedAt
-
setRevokedAt
-
securityLevel
-
getSecurityLevel
NIST security category of the key's algorithm (1, 3 or 5), derived from the platform algorithm catalog. Composite keys report the minimum of both components (defense-in-depth). Absent when the algorithm is not present in the catalog.- Returns:
- securityLevel
-
setSecurityLevel
-
softLimitExpiration
-
getSoftLimitExpiration
Soft expiration UTC timestamp (warning threshold). Null for keys without a soft expiration.- Returns:
- softLimitExpiration
-
setSoftLimitExpiration
-
softUsageLimit
-
getSoftUsageLimit
Soft usage limit (warning threshold). Null means no warning threshold set.- Returns:
- softUsageLimit
-
setSoftUsageLimit
-
status
-
getStatus
Current lifecycle state. Transitions are enforced by the administration API endpoints. expired is derived on each read, never stored: the key's current material has reached its expiresAt or used up its maxUsageLimit (protectionStopReasons says which). An expired key no longer encrypts or signs, still decrypts and verifies what it already protected, and is rotated to restore protection.- Returns:
- status
-
setStatus
-
suspendedAt
-
getSuspendedAt
UTC timestamp at which the key was suspended. Null unless status=SUSPENDED.- Returns:
- suspendedAt
-
setSuspendedAt
-
suspendedBy
-
getSuspendedBy
Identity (typically an email) of the administrator who suspended the key. Shown to a caller seated in the platform tenant; any other caller (an impersonation session and core-api relaying a tenant caller's read included) receives it only when it names a member of the caller's own tenant, and otherwise receives it withheld (absent or null): a platform operator's principal, a service or system principal, and a value that names neither a live member nor one of the tenant's own Cryptographic Actors.- Returns:
- suspendedBy
-
setSuspendedBy
-
suspendedReason
-
getSuspendedReason
Free-text reason captured at suspension (max 1000 chars).- Returns:
- suspendedReason
-
setSuspendedReason
-
tenantId
-
getTenantId
Owning tenant identifier extracted from the path. Always matches the authenticated tenant unless a platform-admin bypass is in effect.- Returns:
- tenantId
-
setTenantId
-
updatedAt
-
getUpdatedAt
UTC timestamp of the last modification to the metadata row.- Returns:
- updatedAt
-
setUpdatedAt
-
updatedBy
-
getUpdatedBy
Identity of the last administrator to modify the record. Shown to a caller seated in the platform tenant; any other caller (an impersonation session and core-api relaying a tenant caller's read included) receives it only when it names a member of the caller's own tenant, and otherwise receives it withheld (absent or null): a platform operator's principal, a service or system principal, and a value that names neither a live member nor one of the tenant's own Cryptographic Actors.- Returns:
- updatedBy
-
setUpdatedBy
-
usageCount
-
getUsageCount
Protection operations (encrypt and sign legs) counted against the key's current material; decrypt and verify are not counted. Absent on a Deleted-view row (status=deleted_logical).- Returns:
- usageCount
-
setUsageCount
-
uuid
-
getUuid
The key identity (key_aliases.id). Stable across rotations of the same kid, and never reused, like the kid itself: a destroyed key's kid is never given to another key. It is the value a use-case asset records as keyIdentity, and the audit trail as the key identity of every operation the key performed.- Returns:
- uuid
-
setUuid
-
equals
-
hashCode
public int hashCode() -
toString
-
validateJsonElement
Validates the JSON Element and throws an exception if issues found- Parameters:
jsonElement- JSON Element- Throws:
IOException- if the JSON Element is invalid with respect to AdminKeyResponse
-
validateJsonElementAsCandidate
public static void validateJsonElementAsCandidate(com.google.gson.JsonElement jsonElement) throws IOException Validates the JSON Element as a candidate of a oneOf schema: the checks ofvalidateJsonElement(JsonElement), and the element carries no member this model does not declare. A oneOf schema without a discriminator tells its candidates apart by their member sets, so a candidate is matched on its closed member set.- Parameters:
jsonElement- JSON Element- Throws:
IOException- if the JSON Element is not a AdminKeyResponse
-
fromJson
Create an instance of AdminKeyResponse given an JSON string- Parameters:
jsonString- JSON string- Returns:
- An instance of AdminKeyResponse
- Throws:
IOException- if the JSON string is invalid with respect to AdminKeyResponse
-
toJson
Convert an instance of AdminKeyResponse to an JSON string- Returns:
- JSON string
-