jubilant.secrettypes

Dataclasses that contain parsed output from juju secrets.

class jubilant.secrettypes.Access(target: str, scope: str, role: str)

Bases: object

Represents access to a secret.

role: str
scope: str
target: str
class jubilant.secrettypes.RevealedSecret(
uri: SecretURI,
revision: int,
owner: str,
created: datetime,
updated: datetime,
expires: str | None,
rotation: str | None,
rotates: datetime | None,
name: str | None,
label: str | None,
description: str | None,
access: list[Access] | None,
revisions: list[Revision] | None,
checksum: str,
content: dict[str, str],
)

Bases: Secret

Represents a secret that was revealed, which has a content field that’s populated.

access: list[Access] | None
checksum: str
content: dict[str, str]
created: datetime
description: str | None
expires: str | None
label: str | None
name: str | None
owner: str
revision: int
revisions: list[Revision] | None
rotates: datetime | None
rotation: str | None
updated: datetime
uri: SecretURI
class jubilant.secrettypes.Revision(
revision: int,
backend: str,
created: datetime,
updated: datetime,
)

Bases: object

Represents a revision of a secret.

backend: str
created: datetime
revision: int
updated: datetime
class jubilant.secrettypes.Secret(
uri: SecretURI,
revision: int,
owner: str,
created: datetime,
updated: datetime,
expires: str | None,
rotation: str | None,
rotates: datetime | None,
name: str | None,
label: str | None,
description: str | None,
access: list[Access] | None,
revisions: list[Revision] | None,
)

Bases: object

Represents a secret.

access: list[Access] | None
created: datetime
description: str | None
expires: str | None
label: str | None
name: str | None
owner: str
revision: int
revisions: list[Revision] | None
rotates: datetime | None
rotation: str | None
updated: datetime
uri: SecretURI
class jubilant.secrettypes.SecretURI

Bases: str

A string subclass that represents a secret URI (“secret:…”).

property unique_identifier: str

Unique identifier of this secret URI.

This is the secret’s globally-unique identifier (currently a 20-character Xid, for example “9m4e2mr0ui3e8a215n4g”).