roboto.domain.secrets.record#

Module Contents#

class roboto.domain.secrets.record.AwsSecretRetrievalLocation(/, **data)#

Bases: pydantic.BaseModel

Information required to retrieve a secret from AWS Secrets Manager.

Parameters:

data (Any)

arn: str#

ARN of the secret.

store_type: Literal[SecretStoreType]#

Type of secret store. Referenced here explicitly to make deserialization work better.

class roboto.domain.secrets.record.AwsSecretsManagerAccessCreds(/, **data)#

Bases: pydantic.BaseModel

Context required to update a secret in AWS Secrets Manager.

Parameters:

data (Any)

access_key_id: str#

AWS access key ID.

region: str#

AWS region.

secret_access_key: str#

AWS secret access key.

session_token: str#

AWS session token.

store_type: Literal[SecretStoreType]#

Type of secret store. Referenced here explicitly to make deserialization work better.

class roboto.domain.secrets.record.CreateSecretRequest(/, **data)#

Bases: pydantic.BaseModel

Request payload for the Create Secret

Parameters:

data (Any)

name: str#

Name of the secret.

class roboto.domain.secrets.record.GetSecretAccessCredsResponse(/, **data)#

Bases: pydantic.BaseModel

Response payload for the Update Secret

Parameters:

data (Any)

creds: SecretAccessCreds = None#

Creds required to update the secret in its underlying data store.

record: SecretRecord#

The secret whose value is going to be updated.

roboto.domain.secrets.record.SecretAccessCreds#

Union type for all possible secret update contexts.

class roboto.domain.secrets.record.SecretRecord(/, **data)#

Bases: pydantic.BaseModel

A wire-transmissible representation of a secret.

Parameters:

data (Any)

created: datetime.datetime#

Timestamp when the secret was created.

created_by: str#

RobotoPrincipal which created the secret.

last_used: datetime.datetime | None = None#

Timestamp when the secret was last used in an action, or None if the secret has never been used.

location: SecretRetrievalLocation = None#

Information required to dereference the secret in its specific secret store. This is used in combination with temporary hyper-downscoped access creds to update or retrieve the secret’s value.

modified: datetime.datetime#

Timestamp when the secret was last modified.

modified_by: str#

RobotoPrincipal which last modified the secret.

name: str#

Name of the secret. Secret names must be unique within an organization.

org_id: str#

Organization ID that owns the secret.

store_type: SecretStoreType#

Type of secret store.

roboto.domain.secrets.record.SecretRetrievalLocation#

Union type for all possible secret retrieval locations.

class roboto.domain.secrets.record.SecretStoreType#

Bases: str, enum.Enum

Type of secret store.

AWS = 'aws'#

AWS Secrets Manager.