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.- 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:
- 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:
- methods
Backup methods.
- Type:
list[BackupMethodModel] | None
- available_addresses
Available addresses.
- Type:
list[cherryservers_sdk_python.ips.IPModel] | None
- plan
Backup plan.
- Type:
- pricing
Backup pricing.
- Type:
- region
Backup region.
- Type:
- 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.
- 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