jubilant.modeltypes

Dataclasses that contain parsed output from juju show-model --format=json.

class jubilant.modeltypes.ModelCredential(
name: 'str',
owner: 'str',
cloud: 'str',
validity_check: 'str' = '',
)

Bases: object

cloud: str
name: str
owner: str
validity_check: str = ''
class jubilant.modeltypes.ModelInfo(
name: str,
short_name: str,
model_uuid: str,
model_type: str,
controller_uuid: str,
controller_name: str,
is_controller: bool,
cloud: str,
life: str,
region: str = '',
type: str = '',
status: ~jubilant.modeltypes.ModelStatusInfo = <factory>,
users: dict[str,
~jubilant.modeltypes.ModelUserInfo] = <factory>,
machines: dict[str,
~jubilant.modeltypes.ModelMachineInfo] = <factory>,
secret_backends: dict[str,
~jubilant.modeltypes.SecretBackendInfo] = <factory>,
agent_version: str = '',
credential: ~jubilant.modeltypes.ModelCredential | None = None,
supported_features: list[~jubilant.modeltypes.SupportedFeature] = <factory>,
)

Bases: object

Parsed version of the object returned by juju show-model --format=json.

agent_version: str = ''
cloud: str
controller_name: str
controller_uuid: str
credential: ModelCredential | None = None
is_controller: bool
life: str
machines: dict[str, ModelMachineInfo]
model_type: str
model_uuid: str
name: str
region: str = ''
secret_backends: dict[str, SecretBackendInfo]
short_name: str
status: ModelStatusInfo
supported_features: list[SupportedFeature]
type: str = ''
users: dict[str, ModelUserInfo]
class jubilant.modeltypes.ModelMachineInfo(cores: 'int')

Bases: object

cores: int
class jubilant.modeltypes.ModelStatusInfo(
current: 'str' = '',
message: 'str' = '',
reason: 'str' = '',
since: 'str' = '',
migration: 'str' = '',
migration_start: 'str' = '',
migration_end: 'str' = '',
)

Bases: object

current: str = ''
message: str = ''
migration: str = ''
migration_end: str = ''
migration_start: str = ''
reason: str = ''
since: str = ''
class jubilant.modeltypes.ModelUserInfo(access: 'str', last_connection: 'str', display_name: 'str' = '')

Bases: object

access: str
display_name: str = ''
last_connection: str
class jubilant.modeltypes.SecretBackendInfo(num_secrets: 'int', status: 'str', message: 'str' = '')

Bases: object

message: str = ''
num_secrets: int
status: str
class jubilant.modeltypes.SupportedFeature(name: 'str', description: 'str', version: 'str' = '')

Bases: object

description: str
name: str
version: str = ''