Projects

class cherryservers_sdk_python.projects.Project(client: C, model: T)[source]

Cherry Servers project resource.

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

delete() None[source]

Delete Cherry Servers project resource.

get_id() int[source]

Get resource ID.

update(update_schema: UpdateRequest) None[source]

Update Cherry Servers project resource.

class cherryservers_sdk_python.projects.ProjectModel(*, id: int, name: str | None = None, bgp: ProjectBGPModel | None = None, href: str | None = None)[source]

Cherry Servers project model.

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

id

Project ID.

Type:

int

name

Project name.

Type:

str | None

bgp

Project BGP.

Type:

cherryservers_sdk_python.projects.ProjectBGPModel | None

href

Project href.

Type:

str | None

class cherryservers_sdk_python.projects.ProjectBGPModel(*, enabled: bool | None = None, local_asn: int | None = None)[source]

Cherry Servers project BGP model.

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

enabled

Whether BGP is enabled for the project.

Type:

bool | None

local_asn

Local ASN of the project.

Type:

int | None

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

Cherry Servers project client.

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

Example

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

# Retrieve a project.
existing_project = facade.projects.get_by_id(123456)

# Create project.
req = cherryservers_sdk_python.projects.CreationRequest(
    name = "my-project"
)
project = facade.projects.create(req, 123456)

# Update project.
upd_req = cherryservers_sdk_python.projects.UpdateRequest(
    name = "my-project-updated",
    bgp = True
)
project.update(upd_req)

# Remove project.
project.delete()
create(creation_schema: CreationRequest, team_id: int) Project[source]

Create a new project.

delete(project_id: int) None[source]

Delete project by ID.

get_by_id(project_id: int) Project[source]

Retrieve a project by ID.

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

Get all projects that belong to a team.

update(project_id: int, update_schema: UpdateRequest) Project[source]

Update project by ID.

class cherryservers_sdk_python.projects.CreationRequest(*, name: str, bgp: bool = False)[source]

Cherry Servers project creation request schema.

name

Project name.

Type:

str

bgp

Whether BGP is enabled for the project. Defaults to False.

Type:

bool

class cherryservers_sdk_python.projects.UpdateRequest(*, name: str | None = None, bgp: bool | None = None)[source]

Cherry Servers project update request schema.

name

Project name.

Type:

str | None

bgp

Whether BGP is enabled for the project..

Type:

bool | None