Source code for smarter.apps.account.manifest.models.secret.status

"""Smarter API Manifest - User.status"""

import os
from datetime import datetime
from typing import ClassVar, Optional

from pydantic import Field

from smarter.apps.account.manifest.models.secret.const import MANIFEST_KIND
from smarter.lib.manifest.models import AbstractSAMStatusBase

filename = os.path.splitext(os.path.basename(__file__))[0]
MODULE_IDENTIFIER = f"{MANIFEST_KIND}.{filename}"


[docs] class SAMSecretStatus(AbstractSAMStatusBase): """Smarter API Secret Manifest - Status class (read-only, like Kubernetes status attributes).""" # pylint: disable=missing-class-docstring
[docs] class Config: frozen = True # Make all fields read-only after creation, like Kubernetes status
class_identifier: ClassVar[str] = MODULE_IDENTIFIER accountNumber: str = Field( description=f"{class_identifier}.account_number: The account owner of this {MANIFEST_KIND}. Read only.", ) username: str = Field( description=f"{class_identifier}.account_number: The Smarter user who created this {MANIFEST_KIND}. Read only.", ) last_accessed: Optional[datetime] = Field( None, description=f"{class_identifier}.last_accessed: The date in which this {MANIFEST_KIND} was most recently accessed. Read only.", )