Cluster API¶
The ClusterAPI
client provides methods for managing Incus clusters.
Usage¶
from incus_sdk import Client
async with Client() as client:
# Get cluster information
cluster = await client.cluster.get()
# List all cluster members
members = await client.cluster.list_members()
# Get a cluster member by name
member = await client.cluster.get_member("node1")
# Add a new member to the cluster
await client.cluster.add_member(
name="node2",
url="10.0.0.2:8443",
config={
"enabled": True
}
)
# Update a cluster member
await client.cluster.update_member(
"node2",
{
"config": {
"enabled": False
}
}
)
# Delete a cluster member
await client.cluster.delete_member("node2")
Class Documentation¶
API client for Incus cluster.
Source code in incus_sdk/api/cluster.py
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 |
|
__init__(client)
¶
Initialize a new ClusterAPI client.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
client
|
APIClient
|
The base API client. |
required |
Source code in incus_sdk/api/cluster.py
14 15 16 17 18 19 20 21 |
|
add_member(name, url, config=None)
async
¶
Add a new member to the cluster.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
Name of the cluster member. |
required |
url
|
str
|
URL of the cluster member. |
required |
config
|
Dict[str, Any]
|
Member configuration. |
None
|
Returns:
Type | Description |
---|---|
Dict[str, Any]
|
Dict[str, Any]: The operation response. |
Source code in incus_sdk/api/cluster.py
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
|
delete_member(name)
async
¶
Delete a cluster member.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
Name of the cluster member. |
required |
Returns:
Type | Description |
---|---|
Dict[str, Any]
|
Dict[str, Any]: The operation response. |
Source code in incus_sdk/api/cluster.py
111 112 113 114 115 116 117 118 119 120 121 |
|
get()
async
¶
Get cluster information.
Returns:
Name | Type | Description |
---|---|---|
Cluster |
Cluster
|
The cluster. |
Source code in incus_sdk/api/cluster.py
23 24 25 26 27 28 29 30 31 |
|
get_member(name)
async
¶
Get a cluster member by name.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
Name of the cluster member. |
required |
Returns:
Name | Type | Description |
---|---|---|
ClusterMember |
ClusterMember
|
The cluster member. |
Source code in incus_sdk/api/cluster.py
64 65 66 67 68 69 70 71 72 73 74 75 |
|
list_members(recursion=1)
async
¶
List all cluster members.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
recursion
|
int
|
Level of recursion for the response. |
1
|
Returns:
Type | Description |
---|---|
List[ClusterMember]
|
List[ClusterMember]: List of cluster members. |
Source code in incus_sdk/api/cluster.py
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
|
rename_member(name, new_name)
async
¶
Rename a cluster member.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
Current name of the cluster member. |
required |
new_name
|
str
|
New name for the cluster member. |
required |
Returns:
Type | Description |
---|---|
Dict[str, Any]
|
Dict[str, Any]: The operation response. |
Source code in incus_sdk/api/cluster.py
123 124 125 126 127 128 129 130 131 132 133 134 135 136 |
|
update(config)
async
¶
Update cluster configuration.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
config
|
Dict[str, Any]
|
New configuration. |
required |
Returns:
Type | Description |
---|---|
Dict[str, Any]
|
Dict[str, Any]: The operation response. |
Source code in incus_sdk/api/cluster.py
33 34 35 36 37 38 39 40 41 42 43 |
|
update_member(name, config)
async
¶
Update a cluster member.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
Name of the cluster member. |
required |
config
|
Dict[str, Any]
|
New configuration. |
required |
Returns:
Type | Description |
---|---|
Dict[str, Any]
|
Dict[str, Any]: The operation response. |
Source code in incus_sdk/api/cluster.py
98 99 100 101 102 103 104 105 106 107 108 109 |
|
Methods¶
get¶
async def get() -> Cluster
Get cluster information.
Returns:
- A Cluster
object.
update¶
async def update(
config: Dict[str, Any]
) -> Dict[str, Any]
Update cluster configuration.
Parameters:
- config
: New configuration as a dictionary.
Returns: - The operation response as a dictionary.
list_members¶
async def list_members(
recursion: int = 1
) -> List[ClusterMember]
List all cluster members.
Parameters:
- recursion
: Level of recursion for the response (default: 1).
Returns:
- A list of ClusterMember
objects.
get_member¶
async def get_member(
name: str
) -> ClusterMember
Get a cluster member by name.
Parameters:
- name
: Name of the cluster member.
Returns:
- A ClusterMember
object.
add_member¶
async def add_member(
name: str,
url: str,
config: Dict[str, Any] = None
) -> Dict[str, Any]
Add a new member to the cluster.
Parameters:
- name
: Name of the cluster member.
- url
: URL of the cluster member.
- config
: Member configuration as a dictionary (optional).
Returns: - The operation response as a dictionary.
Example:
# Add a new member to the cluster
await client.cluster.add_member(
name="node2",
url="10.0.0.2:8443",
config={
"enabled": True,
"role": "worker"
}
)
update_member¶
async def update_member(
name: str,
config: Dict[str, Any]
) -> Dict[str, Any]
Update a cluster member.
Parameters:
- name
: Name of the cluster member.
- config
: New configuration as a dictionary.
Returns: - The operation response as a dictionary.
delete_member¶
async def delete_member(
name: str
) -> Dict[str, Any]
Delete a cluster member.
Parameters:
- name
: Name of the cluster member.
Returns: - The operation response as a dictionary.
rename_member¶
async def rename_member(
name: str,
new_name: str
) -> Dict[str, Any]
Rename a cluster member.
Parameters:
- name
: Current name of the cluster member.
- new_name
: New name for the cluster member.
Returns: - The operation response as a dictionary.