VCluster API Reference

VCluster

class apolo_sdk.VCluster

Manages vcluster settings, in particular operates with service accounts.

async create_service_account(name: str, *, cluster_name: str | None = None, org_name: str | None = None, project_name: str | None = None, ttl: datetime.timedelta = YEAR) str[source]

Create a service account.

Parameters:
  • name (str) – name of created service account. The name of underlying kubernetes object is combined from name and user name.

  • cluster_name (str) – cluster to list applications. Default is current cluster.

  • org_name (str) – org to list applications. Default is current org.

  • project_name (str) – project to list applications. Default is current project.

  • ttl (datetime.timedelta) – TTL of created object.

Return str:

generated kube config (YAML).

async regenerate_service_account(name: str, *, cluster_name: str | None = None, org_name: str | None = None, project_name: str | None = None, ttl: datetime.timedelta = YEAR) str[source]

Regenerate kube config a service account, reusing the previous name.

Parameters:
  • name (str) – name of the service account.

  • cluster_name (str) – cluster to list applications. Default is current cluster.

  • org_name (str) – org to list applications. Default is current org.

  • project_name (str) – project to list applications. Default is current project.

  • ttl (datetime.timedelta) – TTL of created object.

Return str:

generated kube config (YAML).

async activate_service_account(name: str, *, cluster_name: str | None = None, org_name: str | None = None, project_name: str | None = None) str[source]

Activate previously generated kube config for service account. The config file should exist and located as ~/.apolo/{cluster_name}/{org_name}/{project_mname}/{username}-{name}.yaml.

Parameters:
  • name (str) – name of the service account.

  • cluster_name (str) – cluster to list applications. Default is current cluster.

  • org_name (str) – org to list applications. Default is current org.

  • project_name (str) – project to list applications. Default is current project.

Return str:

generated kube config (YAML).

async list_service_accounts(*, cluster_name: str | None = None, org_name: str | None = None, project_name: str | None = None, all_users: bool = False) AsyncIterator[KubeServiceAccount][source]

Return a list of service accounts for the project.

Parameters:
  • cluster_name (str) – cluster to list applications. Default is current cluster.

  • org_name (str) – org to list applications. Default is current org.

  • project_name (str) – project to list applications. Default is current project.

  • all_users (bool) – return service accounts for all project’s users, not for the current one only (off by default).

async delete_service_accounts(name: str, *, cluster_name: str | None = None, org_name: str | None = None, project_name: str | None = None, all_users: bool = False) AsyncIterator[KubeServiceAccount]

Delete the service account.

Parameters:
  • name (str) – name of the service account.

  • cluster_name (str) – cluster to list applications. Default is current cluster.

  • org_name (str) – org to list applications. Default is current org.

  • project_name (str) – project to list applications. Default is current project.

class apolo_sdk.KubeServiceAccount

Read-only dataclass for describing a kubernetes service account.

user

The user name, str.

name

The service account name, str.

created_at

The creation timestamp, datetime.datetime.

expired_at

The expiration timestamp, datetime.datetime.