Skip to content

Rancher Clusters

Operations Summary

Method Endpoint Description
Core CRUD
GET /api/rancher-clusters/ List Rancher Clusters
GET /api/rancher-clusters/{uuid}/ Retrieve
POST /api/rancher-clusters/{uuid}/create_management_security_group/ Create management security group
POST /api/rancher-clusters/{uuid}/pull/ Synchronize resource state
POST /api/rancher-clusters/{uuid}/unlink/ Unlink resource
PUT /api/rancher-clusters/{uuid}/ Update
PATCH /api/rancher-clusters/{uuid}/ Partial Update
Other Actions
POST /api/rancher-clusters/{uuid}/import_yaml/ Import yaml

Core CRUD

List Rancher Clusters

1
2
3
4
http \
  GET \
  https://api.example.com/api/rancher-clusters/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.rancher_clusters import rancher_clusters_list # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = rancher_clusters_list.sync(client=client)

for item in response:
    print(item)
  1. API Source: rancher_clusters_list
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import { rancherClustersList } from 'waldur-js-client';

try {
  const response = await rancherClustersList({
  auth: "Token YOUR_API_TOKEN"
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Description
backend_id string
can_manage boolean Can manage
customer string (uuid)
customer_abbreviation string
customer_name string
customer_native_name string
customer_uuid string (uuid)
description string
external_ip string
field array
name string
name_exact string
page integer A page number within the paginated result set.
page_size integer Number of results to return per page.
project string (uuid)
project_name string
project_uuid string (uuid)
service_settings_name string
service_settings_uuid string (uuid)
state array
uuid string (uuid)

200 -

The response body is an array of objects, where each object has the following structure:

Field Type Description
url string (uri)
uuid string (uuid)
name string
description string
service_name string
service_settings string (uri)
service_settings_uuid string (uuid)
service_settings_state string
service_settings_error_message string
project string (uri)
project_name string
project_uuid string (uuid)
customer string (uri)
customer_uuid string (uuid)
customer_name string
customer_native_name string
customer_abbreviation string
error_message string
error_traceback string
resource_type string
state any
created string (date-time)
modified string (date-time)
backend_id string
access_url string
nodes array of objects
nodes.url string (uri)
nodes.role string
Enum: agent, server
nodes.instance string
nodes.created string (date-time)
nodes.modified string (date-time)
nodes.uuid string (uuid)
nodes.error_message string
nodes.error_traceback string
nodes.backend_id string
nodes.initial_data any Initial data for instance creating.
nodes.runtime_state string
nodes.k8s_version string
nodes.docker_version string
nodes.cpu_allocated number (double)
nodes.cpu_total integer
nodes.ram_allocated integer Allocated RAM in Mi.
nodes.ram_total integer Total RAM in Mi.
nodes.pods_allocated integer
nodes.pods_total integer
nodes.labels any
nodes.annotations any
tenant string (uri)
tenant_uuid string (uuid)
vm_project string (uri)
runtime_state string
install_longhorn boolean Longhorn is a distributed block storage deployed on top of Kubernetes cluster
management_security_group string (uri)
public_ips array of objects
public_ips.floating_ip string (uri)
public_ips.floating_ip_uuid string (uuid)
public_ips.ip_address any An IPv4 or IPv6 address.
public_ips.external_ip_address any An IPv4 or IPv6 address.
capacity any Cluster capacity in the format
requested any Cluster requested resources in the format
kubernetes_version string Kubernetes version used in the cluster.
router_ips array of anys
marketplace_offering_uuid string
marketplace_offering_name string
marketplace_offering_plugin_options object (free-form)
marketplace_category_uuid string
marketplace_category_name string
marketplace_resource_uuid string
marketplace_plan_uuid string
marketplace_resource_state string
is_usage_based boolean
is_limit_based boolean

Retrieve

1
2
3
4
http \
  GET \
  https://api.example.com/api/rancher-clusters/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.rancher_clusters import rancher_clusters_retrieve # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = rancher_clusters_retrieve.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

print(response)
  1. API Source: rancher_clusters_retrieve
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { rancherClustersRetrieve } from 'waldur-js-client';

try {
  const response = await rancherClustersRetrieve({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Name Type
field array

200 -

Field Type Description
url string (uri)
uuid string (uuid)
name string
description string
service_name string
service_settings string (uri)
service_settings_uuid string (uuid)
service_settings_state string
service_settings_error_message string
project string (uri)
project_name string
project_uuid string (uuid)
customer string (uri)
customer_uuid string (uuid)
customer_name string
customer_native_name string
customer_abbreviation string
error_message string
error_traceback string
resource_type string
state any
created string (date-time)
modified string (date-time)
backend_id string
access_url string
nodes array of objects
nodes.url string (uri)
nodes.role string
Enum: agent, server
nodes.instance string
nodes.created string (date-time)
nodes.modified string (date-time)
nodes.uuid string (uuid)
nodes.error_message string
nodes.error_traceback string
nodes.backend_id string
nodes.initial_data any Initial data for instance creating.
nodes.runtime_state string
nodes.k8s_version string
nodes.docker_version string
nodes.cpu_allocated number (double)
nodes.cpu_total integer
nodes.ram_allocated integer Allocated RAM in Mi.
nodes.ram_total integer Total RAM in Mi.
nodes.pods_allocated integer
nodes.pods_total integer
nodes.labels any
nodes.annotations any
tenant string (uri)
tenant_uuid string (uuid)
vm_project string (uri)
runtime_state string
install_longhorn boolean Longhorn is a distributed block storage deployed on top of Kubernetes cluster
management_security_group string (uri)
public_ips array of objects
public_ips.floating_ip string (uri)
public_ips.floating_ip_uuid string (uuid)
public_ips.ip_address any An IPv4 or IPv6 address.
public_ips.external_ip_address any An IPv4 or IPv6 address.
capacity any Cluster capacity in the format
requested any Cluster requested resources in the format
kubernetes_version string Kubernetes version used in the cluster.
router_ips array of anys
marketplace_offering_uuid string
marketplace_offering_name string
marketplace_offering_plugin_options object (free-form)
marketplace_category_uuid string
marketplace_category_name string
marketplace_resource_uuid string
marketplace_plan_uuid string
marketplace_resource_state string
is_usage_based boolean
is_limit_based boolean

Create management security group

1
2
3
4
5
http \
  POST \
  https://api.example.com/api/rancher-clusters/a1b2c3d4-e5f6-7890-abcd-ef1234567890/create_management_security_group/ \
  Authorization:"Token YOUR_API_TOKEN" \
  name="my-awesome-rancher-cluster"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.rancher_cluster_request import RancherClusterRequest # (1)
from waldur_api_client.api.rancher_clusters import rancher_clusters_create_management_security_group # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = RancherClusterRequest(
    name="my-awesome-rancher-cluster"
)
response = rancher_clusters_create_management_security_group.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

print(response)
  1. Model Source: RancherClusterRequest
  2. API Source: rancher_clusters_create_management_security_group
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import { rancherClustersCreateManagementSecurityGroup } from 'waldur-js-client';

try {
  const response = await rancherClustersCreateManagementSecurityGroup({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  body: {
    "name": "my-awesome-rancher-cluster"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required Description
name string
description string
vm_project string (uri)
ssh_public_key string (uri)
Constraints: write-only
install_longhorn boolean Longhorn is a distributed block storage deployed on top of Kubernetes cluster
Constraints: default: False

200 -

Field Type Description
url string (uri)
uuid string (uuid)
name string
description string
service_name string
service_settings string (uri)
service_settings_uuid string (uuid)
service_settings_state string
service_settings_error_message string
project string (uri)
project_name string
project_uuid string (uuid)
customer string (uri)
customer_uuid string (uuid)
customer_name string
customer_native_name string
customer_abbreviation string
error_message string
error_traceback string
resource_type string
state any
created string (date-time)
modified string (date-time)
backend_id string
access_url string
nodes array of objects
nodes.url string (uri)
nodes.role string
Enum: agent, server
nodes.instance string
nodes.created string (date-time)
nodes.modified string (date-time)
nodes.uuid string (uuid)
nodes.error_message string
nodes.error_traceback string
nodes.backend_id string
nodes.initial_data any Initial data for instance creating.
nodes.runtime_state string
nodes.k8s_version string
nodes.docker_version string
nodes.cpu_allocated number (double)
nodes.cpu_total integer
nodes.ram_allocated integer Allocated RAM in Mi.
nodes.ram_total integer Total RAM in Mi.
nodes.pods_allocated integer
nodes.pods_total integer
nodes.labels any
nodes.annotations any
tenant string (uri)
tenant_uuid string (uuid)
vm_project string (uri)
runtime_state string
install_longhorn boolean Longhorn is a distributed block storage deployed on top of Kubernetes cluster
management_security_group string (uri)
public_ips array of objects
public_ips.floating_ip string (uri)
public_ips.floating_ip_uuid string (uuid)
public_ips.ip_address any An IPv4 or IPv6 address.
public_ips.external_ip_address any An IPv4 or IPv6 address.
capacity any Cluster capacity in the format
requested any Cluster requested resources in the format
kubernetes_version string Kubernetes version used in the cluster.
router_ips array of anys
marketplace_offering_uuid string
marketplace_offering_name string
marketplace_offering_plugin_options object (free-form)
marketplace_category_uuid string
marketplace_category_name string
marketplace_resource_uuid string
marketplace_plan_uuid string
marketplace_resource_state string
is_usage_based boolean
is_limit_based boolean

Synchronize resource state

Schedule an asynchronous pull operation to synchronize resource state from the backend. Returns 202 if the pull was scheduled successfully, or 409 if the pull operation is not implemented for this resource type.

1
2
3
4
http \
  POST \
  https://api.example.com/api/rancher-clusters/a1b2c3d4-e5f6-7890-abcd-ef1234567890/pull/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.rancher_clusters import rancher_clusters_pull # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = rancher_clusters_pull.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

print(response)
  1. API Source: rancher_clusters_pull
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { rancherClustersPull } from 'waldur-js-client';

try {
  const response = await rancherClustersPull({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)

202 - No response body


409 - No response body


Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.

1
2
3
4
http \
  POST \
  https://api.example.com/api/rancher-clusters/a1b2c3d4-e5f6-7890-abcd-ef1234567890/unlink/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.rancher_clusters import rancher_clusters_unlink # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = rancher_clusters_unlink.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

print(response)
  1. API Source: rancher_clusters_unlink
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { rancherClustersUnlink } from 'waldur-js-client';

try {
  const response = await rancherClustersUnlink({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)

204 - No response body


Update

1
2
3
4
5
http \
  PUT \
  https://api.example.com/api/rancher-clusters/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
  Authorization:"Token YOUR_API_TOKEN" \
  name="my-awesome-rancher-cluster"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.rancher_cluster_request import RancherClusterRequest # (1)
from waldur_api_client.api.rancher_clusters import rancher_clusters_update # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = RancherClusterRequest(
    name="my-awesome-rancher-cluster"
)
response = rancher_clusters_update.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

print(response)
  1. Model Source: RancherClusterRequest
  2. API Source: rancher_clusters_update
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import { rancherClustersUpdate } from 'waldur-js-client';

try {
  const response = await rancherClustersUpdate({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  body: {
    "name": "my-awesome-rancher-cluster"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required Description
name string
description string
vm_project string (uri)
ssh_public_key string (uri)
Constraints: write-only
install_longhorn boolean Longhorn is a distributed block storage deployed on top of Kubernetes cluster
Constraints: default: False

200 -

Field Type Description
url string (uri)
uuid string (uuid)
name string
description string
service_name string
service_settings string (uri)
service_settings_uuid string (uuid)
service_settings_state string
service_settings_error_message string
project string (uri)
project_name string
project_uuid string (uuid)
customer string (uri)
customer_uuid string (uuid)
customer_name string
customer_native_name string
customer_abbreviation string
error_message string
error_traceback string
resource_type string
state any
created string (date-time)
modified string (date-time)
backend_id string
access_url string
nodes array of objects
nodes.url string (uri)
nodes.role string
Enum: agent, server
nodes.instance string
nodes.created string (date-time)
nodes.modified string (date-time)
nodes.uuid string (uuid)
nodes.error_message string
nodes.error_traceback string
nodes.backend_id string
nodes.initial_data any Initial data for instance creating.
nodes.runtime_state string
nodes.k8s_version string
nodes.docker_version string
nodes.cpu_allocated number (double)
nodes.cpu_total integer
nodes.ram_allocated integer Allocated RAM in Mi.
nodes.ram_total integer Total RAM in Mi.
nodes.pods_allocated integer
nodes.pods_total integer
nodes.labels any
nodes.annotations any
tenant string (uri)
tenant_uuid string (uuid)
vm_project string (uri)
runtime_state string
install_longhorn boolean Longhorn is a distributed block storage deployed on top of Kubernetes cluster
management_security_group string (uri)
public_ips array of objects
public_ips.floating_ip string (uri)
public_ips.floating_ip_uuid string (uuid)
public_ips.ip_address any An IPv4 or IPv6 address.
public_ips.external_ip_address any An IPv4 or IPv6 address.
capacity any Cluster capacity in the format
requested any Cluster requested resources in the format
kubernetes_version string Kubernetes version used in the cluster.
router_ips array of anys
marketplace_offering_uuid string
marketplace_offering_name string
marketplace_offering_plugin_options object (free-form)
marketplace_category_uuid string
marketplace_category_name string
marketplace_resource_uuid string
marketplace_plan_uuid string
marketplace_resource_state string
is_usage_based boolean
is_limit_based boolean

Partial Update

1
2
3
4
http \
  PATCH \
  https://api.example.com/api/rancher-clusters/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.patched_rancher_cluster_request import PatchedRancherClusterRequest # (1)
from waldur_api_client.api.rancher_clusters import rancher_clusters_partial_update # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = PatchedRancherClusterRequest()
response = rancher_clusters_partial_update.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

print(response)
  1. Model Source: PatchedRancherClusterRequest
  2. API Source: rancher_clusters_partial_update
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { rancherClustersPartialUpdate } from 'waldur-js-client';

try {
  const response = await rancherClustersPartialUpdate({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required Description
name string
description string
vm_project string (uri)
ssh_public_key string (uri)
Constraints: write-only
install_longhorn boolean Longhorn is a distributed block storage deployed on top of Kubernetes cluster
Constraints: default: False

200 -

Field Type Description
url string (uri)
uuid string (uuid)
name string
description string
service_name string
service_settings string (uri)
service_settings_uuid string (uuid)
service_settings_state string
service_settings_error_message string
project string (uri)
project_name string
project_uuid string (uuid)
customer string (uri)
customer_uuid string (uuid)
customer_name string
customer_native_name string
customer_abbreviation string
error_message string
error_traceback string
resource_type string
state any
created string (date-time)
modified string (date-time)
backend_id string
access_url string
nodes array of objects
nodes.url string (uri)
nodes.role string
Enum: agent, server
nodes.instance string
nodes.created string (date-time)
nodes.modified string (date-time)
nodes.uuid string (uuid)
nodes.error_message string
nodes.error_traceback string
nodes.backend_id string
nodes.initial_data any Initial data for instance creating.
nodes.runtime_state string
nodes.k8s_version string
nodes.docker_version string
nodes.cpu_allocated number (double)
nodes.cpu_total integer
nodes.ram_allocated integer Allocated RAM in Mi.
nodes.ram_total integer Total RAM in Mi.
nodes.pods_allocated integer
nodes.pods_total integer
nodes.labels any
nodes.annotations any
tenant string (uri)
tenant_uuid string (uuid)
vm_project string (uri)
runtime_state string
install_longhorn boolean Longhorn is a distributed block storage deployed on top of Kubernetes cluster
management_security_group string (uri)
public_ips array of objects
public_ips.floating_ip string (uri)
public_ips.floating_ip_uuid string (uuid)
public_ips.ip_address any An IPv4 or IPv6 address.
public_ips.external_ip_address any An IPv4 or IPv6 address.
capacity any Cluster capacity in the format
requested any Cluster requested resources in the format
kubernetes_version string Kubernetes version used in the cluster.
router_ips array of anys
marketplace_offering_uuid string
marketplace_offering_name string
marketplace_offering_plugin_options object (free-form)
marketplace_category_uuid string
marketplace_category_name string
marketplace_resource_uuid string
marketplace_plan_uuid string
marketplace_resource_state string
is_usage_based boolean
is_limit_based boolean

Other Actions

Import yaml

1
2
3
4
5
http \
  POST \
  https://api.example.com/api/rancher-clusters/a1b2c3d4-e5f6-7890-abcd-ef1234567890/import_yaml/ \
  Authorization:"Token YOUR_API_TOKEN" \
  yaml="string-value"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.rancher_import_yaml_request import RancherImportYamlRequest # (1)
from waldur_api_client.api.rancher_clusters import rancher_clusters_import_yaml # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = RancherImportYamlRequest(
    yaml="string-value"
)
response = rancher_clusters_import_yaml.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

print(response)
  1. Model Source: RancherImportYamlRequest
  2. API Source: rancher_clusters_import_yaml
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import { rancherClustersImportYaml } from 'waldur-js-client';

try {
  const response = await rancherClustersImportYaml({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  body: {
    "yaml": "string-value"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required
yaml string
default_namespace string (uri)
namespace string (uri)

200 -

Field Type
yaml string
default_namespace string (uri)
namespace string (uri)