pycloudlib.errors module

Module containing pycloudlib errors.

Each cloud can have specific errors, please refer to each pycloudlib.<cloud>.errors module.

exception pycloudlib.errors.CleanupError[source]

Bases: PycloudlibException

Represents a list of exceptions that happen on resource cleanup.

Don’t be too eager to handle this one. If it gets caught and silently handled, you’re likely to be leaking resources without realizing it.

exception pycloudlib.errors.CloudError[source]

Bases: PycloudlibException

Represents errors coming from Cloud’s SDKs.

exception pycloudlib.errors.CloudSetupError[source]

Bases: PycloudlibException

Raised if there is some problem with a pycloudlib’s Cloud set up.

exception pycloudlib.errors.ImageNotFoundError(*args, **kwargs)[source]

Bases: ResourceNotFoundError

Sepecialized’s ResourceNotFoundError for images.

__init__(*args, **kwargs)[source]

Init method.

Parameters:
  • resource_type – Instance of ResourceType

  • resource_id – Resource’s id

  • resource_type – Resource’s name

exception pycloudlib.errors.InstanceNotFoundError(*args, **kwargs)[source]

Bases: ResourceNotFoundError

Sepecialized’s ResourceNotFoundError for instances.

__init__(*args, **kwargs)[source]

Init method.

Parameters:
  • resource_type – Instance of ResourceType

  • resource_id – Resource’s id

  • resource_type – Resource’s name

exception pycloudlib.errors.InvalidTagNameError(tag: str, rules_failed: List[str])[source]

Bases: PycloudlibException

Raised when a tag for a cloud is invalid.

__init__(tag: str, rules_failed: List[str])[source]

Init method.

Parameters:
  • tag – The tag that failed validation

  • rules_failed – List of rules that the tag failed

exception pycloudlib.errors.MissingPrerequisiteError[source]

Bases: PycloudlibException

Raised when a prerequisite is missing.

exception pycloudlib.errors.NetworkNotFoundError(*args, **kwargs)[source]

Bases: ResourceNotFoundError

Sepecialized’s ResourceNotFoundError for networks.

__init__(*args, **kwargs)[source]

Init method.

Parameters:
  • resource_type – Instance of ResourceType

  • resource_id – Resource’s id

  • resource_type – Resource’s name

exception pycloudlib.errors.PycloudlibError[source]

Bases: PycloudlibException

Error that doesn’t fall in any of the other categories.

exception pycloudlib.errors.PycloudlibException[source]

Bases: Exception

Root pycloudlib exception.

This exception is not meant to be raised by pycloudlib. The intention is that every custom pycloudlib exception will inherit from this one, allowing client code to catch any exception by catching this one.

exception pycloudlib.errors.PycloudlibTimeoutError[source]

Bases: PycloudlibException

Timeout error.

exception pycloudlib.errors.ResourceNotFoundError(resource_type: ResourceType, resource_id: str | None = None, resource_name: str | None = None, **kwargs)[source]

Bases: PycloudlibException

Raised when a resource is not found.

Examples:

>>> e = ResourceNotFoundError(ResourceType.IMAGE, "id-123")
>>> e.resource_id
'id-123'
>>> raise e  
Traceback (most recent call last):
    ...
pycloudlib.errors.ResourceNotFoundError: Could not locate the resource type `image`: id=id-123
__init__(resource_type: ResourceType, resource_id: str | None = None, resource_name: str | None = None, **kwargs)[source]

Init method.

Parameters:
  • resource_type – Instance of ResourceType

  • resource_id – Resource’s id

  • resource_type – Resource’s name

class pycloudlib.errors.ResourceType(value)[source]

Bases: Enum

Represent types of resources.

IMAGE = 1
INSTANCE = 2
NETWORK = 3
exception pycloudlib.errors.UnsetSSHKeyError[source]

Bases: PycloudlibException

Raised when a SSH key is unset and no default key can be found.