administrative

Administrative module.

exception spicerack.administrative.ReasonError[source]

Bases: SpicerackError

Custom exception class for errors of the Reason class.

class spicerack.administrative.Reason(reason: str, username: str, hostname: str, *, task_id: str | None = None) None[source]

Bases: object

Class to manage the reason for administrative actions.

Initialize the instance.

Parameters:
  • reason (str) -- the reason to use to justify an administrative action. The username and the hostname where the action was originated will be added to the reason automatically. The reason is meant to be passed to remote execution in double quotes, allowing to use Bash variables, if needed. Therefore the reason cannot contain double quotes.

  • username (str) -- the username to mention in the reason as the author of the action.

  • hostname (str) -- the hostname to mention in the reason as the host originating the action.

  • task_id (typing.Optional[str], default: None) -- the task ID to mention in the reason.

Raises:

spicerack.administrative.ReasonError -- if any parameter contains double quotes.

__str__() str[source]

String representation of the instance, including all attributes.

Return type:

str

Examples

  • Example return value when the task ID is not set:

    Given reason - username@hostname
    
  • Example return value when the task ID is set:

    Given reason - username@hostname - T12345
    
quoted() str[source]

Get a double quoted string representation of the instance, including all attributes.

Return type:

str

Examples

  • Example return value when the task ID is not set:

    "Given reason - username@hostname"
    
  • Example return value when the task ID is set:

    "Given reason - username@hostname - T12345"
    
property hostname: str

Get the hostname on which the code is running.

property owner: str

Get the owner of the currently running code.

Examples

Example return value:

username@hostname
property reason: str

Get the reason given to justify the administrative action.

property task_id: str | None

Get the task ID to mention in the reason, or None if none was given.