Backup storages

class cherryservers_sdk_python.backup_storages.BackupStorage(client: C, model: T)[source]

Cherry Servers backup storage resource.

This class represents an existing Cherry Servers resource and should only be initialized by BackupStorageClient.

delete() None[source]

Delete Cherry Servers backup storage resource.

get_id() int[source]

Get resource ID.

get_status() str[source]

Get backup storage status.

refresh() None[source]

Refresh the resource.

update(update_schema: UpdateRequest) None[source]

Update Cherry Servers backup storage resource.

update_access_method(update_schema: UpdateAccessMethodsRequest, method_name: str) None[source]

Update Cherry Servers backup storage access method.

class cherryservers_sdk_python.backup_storages.BackupStoragePlanModel(*, id: int, name: str | None = None, slug: str | None = None, size_gigabytes: int | None = None, pricing: list[PricingModel] | None = None, regions: list[RegionModel] | None = None, href: str | None = None)[source]

Cherry Server backup storage plan model.

This model is frozen by default, since it represents an actual Cherry Servers backup storage plan.

id

Plan ID.

Type:

int

name

Plan full name.

Type:

str | None

slug

Plan name slug.

Type:

str | None

size_gigabytes

Plan size in GB.

Type:

int | None

pricing

Plan pricing data.

Type:

list[cherryservers_sdk_python.plans.PricingModel] | None

regions

Plan region data.

Type:

list[cherryservers_sdk_python.regions.RegionModel] | None

href

Plan href.

Type:

str | None

class cherryservers_sdk_python.backup_storages.BackupMethodModel(*, name: str | None = None, username: str | None = None, password: str | None = None, port: int | None = None, host: str | None = None, ssh_key: str | None = None, whitelist: list[str] | None = None, enabled: bool | None = None, processing: bool | None = None)[source]

Cherry Servers backup method model.

This model is frozen by default, since it represents an actual Cherry Servers backup method.

name

Name of the backup method.

Type:

str | None

username

Username for the backup method.

Type:

str | None

password

Password for the backup method.

Type:

str | None

port

Port for the backup method.

Type:

int | None

host

Host for the backup method.

Type:

str | None

ssh_key

SSH key for the backup method.

Type:

str | None

whitelist

Whitelist for the backup method.

Type:

list[str] | None

enabled

Whether the backup method is enabled.

Type:

bool | None

processing

Whether the backup method is processing.

Type:

bool | None

class cherryservers_sdk_python.backup_storages.RuleMethodModel(*, borg: bool | None = None, ftp: bool | None = None, nfs: bool | None = None, smb: bool | None = None)[source]

Cherry Server backup rule method model.

This model is frozen by default, since it represents an actual Cherry Server backup rule method.

borg

Whether BORG is enabled for the rule.

Type:

bool | None

ftp

Whether FTP is enabled for the rule.

Type:

bool | None

nfs

Whether NFS is enabled for the rule.

Type:

bool | None

smb

Whether SMB is enabled for the rule.

Type:

bool | None

class cherryservers_sdk_python.backup_storages.RuleModel(*, ip: IPModel | None = None, methods: RuleMethodModel | None = None)[source]

Cherry Servers backup rule model.

This model is frozen by default, since it represents an actual Cherry Servers backup rule.

ip

Rule IP address.

Type:

cherryservers_sdk_python.ips.IPModel | None

methods

Rule methods.

Type:

RuleMethodModel | None

class cherryservers_sdk_python.backup_storages.BackupStorageModel(*, id: int, status: str, state: str | None = None, private_ip: str | None = None, public_ip: str | None = None, size_gigabytes: int | None = None, used_gigabytes: int | None = None, attached_to: AttachedServerModel | None = None, methods: list[BackupMethodModel] | None = None, available_addresses: list[IPModel] | None = None, rules: list[RuleModel] | None = None, plan: PlanModel | None = None, pricing: PricingModel | None = None, region: RegionModel | None = None, href: str | None = None)[source]

Cherry Servers backup storage model.

This model is frozen by default, since it represents an actual Cherry Servers backup storage resource state.

id

Backup storage ID.

Type:

int

status

Backup storage status.

Type:

str

state

Backup storage state.

Type:

str | None

private_ip

Backup storage private IP.

Type:

str | None

public_ip

Backup storage public IP.

Type:

str | None

size_gigabytes

Backup storage total size in GB.

Type:

int | None

used_gigabytes

Backup storage used size in GB.

Type:

int | None

attached_to

The server to which to storage is attached to.

Type:

cherryservers_sdk_python.ips.AttachedServerModel | None

methods

Backup methods.

Type:

list[BackupMethodModel] | None

available_addresses

Available addresses.

Type:

list[cherryservers_sdk_python.ips.IPModel] | None

rules

Backup rules.

Type:

list[RuleModel] | None

plan

Backup plan.

Type:

cherryservers_sdk_python.plans.PlanModel | None

pricing

Backup pricing.

Type:

cherryservers_sdk_python.plans.PricingModel | None

region

Backup region.

Type:

cherryservers_sdk_python.regions.RegionModel | None

href

Backup href.

Type:

str | None

class cherryservers_sdk_python.backup_storages.BackupStorageClient(api_client: _client.CherryApiClient, request_timeout: int = 120)[source]

Cherry Servers backup storage client.

Manage Cherry Servers backup storage resources. This class should typically be initialized by

cherryservers_sdk_python.facade.CherryApiFacade.

Example

facade = cherryservers_sdk_python.facade.CherryApiFacade(token="my-token")

# Get storage by ID.
storage = facade.backup_storages.get_by_id(123456)

# List all project storages.
for storage in facade.backup_storages.list_by_project(123456):
    print(storage.get_model())

# List available storage plans.
for plan_model in facade.backup_storages.list_backup_plans():
    print(plan_model)

# Create a storage.
creation_req = cherryservers_sdk_python.backup_storages.CreationRequest(
    region="LT-Siauliai", slug="backup_50"
)
storage = facade.backup_storages.create(creation_req, server_id=123456)

# Update storage.
update_req = (
    cherryservers_sdk_python.backup_storages.UpdateRequest(slug="backup_500")
)
storage.update(update_req)

# Update storage access method.
update_access_req = (
    cherryservers_sdk_python.backup_storages.UpdateAccessMethodsRequest(
        enabled=False,
    )
)
storage.update_access_method(update_access_req, "ftp")

# Delete storage.
storage.delete()
create(creation_schema: CreationRequest, server_id: int, *, wait_for_active: bool = True) BackupStorage[source]

Create a backup storage.

delete(storage_id: int) None[source]

Delete backup storage..

get_by_id(storage_id: int) BackupStorage[source]

Retrieve a backup storage.

list_backup_plans() list[BackupStoragePlanModel][source]

Retrieve available backup storage plans.

list_by_project(project_id: int) list[BackupStorage][source]

Retrieve all backup storages belonging to a project.

update(storage_id: int, update_schema: UpdateRequest, *, wait_for_active: bool = True) BackupStorage[source]

Update backup storage.

update_access_method(storage_id: int, method_name: str, update_schema: UpdateAccessMethodsRequest) BackupStorage[source]

Update backup storage access method.

class cherryservers_sdk_python.backup_storages.CreationRequest(*, region: str, slug: str, ssh_key: str | None = None)[source]

Cherry Servers backup storage creation request schema.

region

Region slug. Required.

Type:

str

slug

Backup storage plan slug. Required.

Type:

str

ssh_key

Public SSH key for storage access.

Type:

str | None

class cherryservers_sdk_python.backup_storages.UpdateRequest(*, slug: str | None = None, password: str | None = None, ssh_key: str | None = None)[source]

Cherry Servers backup storage update request schema.

slug

Backup storage plan slug.

Type:

str | None

password

Password for backup storage access.

Type:

str | None

ssh_key

Public SSH key for storage access.

Type:

str | None

class cherryservers_sdk_python.backup_storages.UpdateAccessMethodsRequest(*, enabled: bool | None = None, whitelist: list[str] | None = None, ssh_key: str | None = None)[source]

Cherry Servers backup storage update access methods request schema.

enabled

Enable/Disable backup storage access methods.

Type:

bool | None

whitelist

List of whitelisted IP addresses.

Type:

list[str] | None

ssh_key

Public SSH key for storage access.

Type:

str | None