Plans

class cherryservers_sdk_python.plans.Plan(client: C, model: T)[source]

Cherry Servers server plan resource.

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

get_id() int[source]

Get resource ID.

class cherryservers_sdk_python.plans.AvailableRegionsModel(*, id: int, name: str | None = None, slug: str | None = None, region_iso_2: str | None = None, bgp: RegionBGPModel | None = None, location: str | None = None, href: str | None = None, stock_qty: int | None = None, spot_qty: int | None = None)[source]

Cherry Servers plan available regions model.

This model is frozen by default, since it represents an actual Cherry Servers plan available region resource state.

Inherits all attributes of cherryservers_sdk_python.regions.RegionModel.

stock_qty

The number servers in stock.

Type:

int | None

spot_qty

The number of servers as spot instances in stock.

Type:

int | None

class cherryservers_sdk_python.plans.BandwidthModel(*, name: str | None = None)[source]

Cherry Servers plan specs bandwidth model.

This model is frozen by default, since it represents an actual Cherry Servers plan specs bandwidth resource state.

name

Bandwidth name.

Type:

str | None

class cherryservers_sdk_python.plans.NicsModel(*, name: str | None = None)[source]

Cherry Servers plan specs network interface controllers model.

This model is frozen by default, since it represents an actual Cherry Servers plan specs network interface controllers state.

name

NICS name.

Type:

str | None

class cherryservers_sdk_python.plans.RaidModel(*, name: str | None = None)[source]

Cherry Servers plan specs RAID model.

This model is frozen by default, since it represents an actual Cherry Servers plan specs RAID resource state.

name

RAID name.

Type:

str | None

class cherryservers_sdk_python.plans.StorageModel(*, name: str | None = None, count: int | None = None, size: float | None = None, unit: str | None = None)[source]

Cherry Servers plan specs storage model.

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

name

Storage device name.

Type:

str | None

count

The number of storage devices.

Type:

int | None

size

The size of the storage devices.

Type:

float | None

unit

Storage device size measurement unit.

Type:

str | None

class cherryservers_sdk_python.plans.MemoryModel(*, name: str | None = None, count: int | None = None, total: int | None = None, unit: str | None = None)[source]

Cherry Servers plan specs memory model.

This model is frozen by default, since it represents an actual Cherry Servers plan specs memory resource state.

name

Memory device name.

Type:

str | None

count

The number of memory devices.

Type:

int | None

total

The total capacity of the memory devices.

Type:

int | None

unit

Memory device size measurement unit.

Type:

str | None

class cherryservers_sdk_python.plans.CPUModel(*, name: str | None = None, count: int | None = None, cores: int | None = None, frequency: float | None = None, unit: str | None = None)[source]

Cherry Servers plan specs CPU model.

This model is frozen by default, since it represents an actual Cherry Servers plan specs CPU resource state.

name

CPU device name.

Type:

str | None

count

The number of CPU devices.

Type:

int | None

cores

The number of CPU cores.

Type:

int | None

frequency

The frequency of the CPU cores.

Type:

float | None

unit

CPU core frequency measurement unit.

Type:

str | None

class cherryservers_sdk_python.plans.SpecsModel(*, cpus: CPUModel | None = None, memory: MemoryModel | None = None, storage: list[StorageModel] | None = None, raid: RaidModel | None = None, nics: NicsModel | None = None, bandwidth: BandwidthModel | None = None)[source]

Cherry Servers plan specs model.

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

cpus

CPU device data.

Type:

cherryservers_sdk_python.plans.CPUModel | None

memory

Memory device data.

Type:

cherryservers_sdk_python.plans.MemoryModel | None

storage

Storage device data.

Type:

list[cherryservers_sdk_python.plans.StorageModel] | None

raid

RAID data.

Type:

cherryservers_sdk_python.plans.RaidModel | None

nics

NICS device data.

Type:

cherryservers_sdk_python.plans.NicsModel | None

bandwidth

Bandwidth data.

Type:

cherryservers_sdk_python.plans.BandwidthModel | None

class cherryservers_sdk_python.plans.PricingModel(*, price: float | None = None, taxed: bool | None = None, currency: str | None = None, unit: str | None = None)[source]

Cherry Servers pricing model.

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

price

Price.

Type:

float | None

taxed

Whether tax is applied.

Type:

bool | None

currency

Currency type.

Type:

str | None

unit

Time unit type.

Type:

str | None

class cherryservers_sdk_python.plans.PlanModel(*, id: int, name: str | None = None, slug: str | None = None, type: str | None = None, specs: SpecsModel | None = None, pricing: list[PricingModel] | None = None, available_regions: list[AvailableRegionsModel] | None = None)[source]

Cherry Servers plan model.

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

id

Plan ID.

Type:

int

name

Plan full name.

Type:

str | None

slug

Plan name slug.

Type:

str | None

type

Plan type, such as baremetal or premium-vds.

Type:

str | None

specs

Plan specs.

Type:

cherryservers_sdk_python.plans.SpecsModel | None

pricing

Plan pricing.

Type:

list[cherryservers_sdk_python.plans.PricingModel] | None

available_regions

Available regions for the plan.

Type:

list[cherryservers_sdk_python.plans.AvailableRegionsModel] | None

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

Cherry Servers server plan client.

Manage Cherry Servers plan resources. This class should typically be initialized by cherryservers_sdk_python.facade.CherryApiFacade.

Example

facade = cherryservers_sdk_python.facade.CherryApiFacade(token)

# Get a list of all team permitted plans.
plans = facade.plans.get_by_team(123456):

# Get a plan by id (or slug).
plan = facade.plans.get_by_id_or_slug("premium_vds_2")
get_by_id_or_slug(plan_id_or_slug: int | str) Plan[source]

Retrieve a plan by ID or slug.

list_by_team(team_id: int) list[Plan][source]

Get all plans that are available to a team.