# ClustersApi

## ClustersApi

All URIs are relative to *<https://api.ionos.com/databases/postgresql>*

| Method                                                                 | HTTP request                                   | Description              |
| ---------------------------------------------------------------------- | ---------------------------------------------- | ------------------------ |
| [**cluster\_postgres\_versions\_get**](#cluster_postgres_versions_get) | **GET** /clusters/{clusterId}/postgresversions | List PostgreSQL versions |
| [**clusters\_delete**](#clusters_delete)                               | **DELETE** /clusters/{clusterId}               | Delete a cluster         |
| [**clusters\_find\_by\_id**](#clusters_find_by_id)                     | **GET** /clusters/{clusterId}                  | Fetch a cluster          |
| [**clusters\_get**](#clusters_get)                                     | **GET** /clusters                              | List clusters            |
| [**clusters\_patch**](#clusters_patch)                                 | **PATCH** /clusters/{clusterId}                | Patch a cluster          |
| [**clusters\_post**](#clusters_post)                                   | **POST** /clusters                             | Create a cluster         |
| [**postgres\_versions\_get**](#postgres_versions_get)                  | **GET** /clusters/postgresversions             | List PostgreSQL versions |

## **cluster\_postgres\_versions\_get**

> PostgresVersionList cluster\_postgres\_versions\_get(cluster\_id)

List PostgreSQL versions

Retrieves a list of all PostgreSQL versions available for this cluster including the current version.

#### Example

```python
from __future__ import print_function
import time
import ionoscloud_dbaas_postgres
from ionoscloud_dbaas_postgres.rest import ApiException

# Defining the host is optional and defaults to https://api.ionos.com/databases/postgresql
configuration = ionoscloud_dbaas_postgres.Configuration(
    host = 'https://api.ionos.com/databases/postgresql',
)

# Example of configuring HTTP Basic Authorization
configuration.username = 'YOUR_USERNAME'
configuration.password = 'YOUR_PASSWORD'

with ionoscloud_dbaas_postgres.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = ionoscloud_dbaas_postgres.ClustersApi(api_client)
    cluster_id = '498ae72f-411f-11eb-9d07-046c59cc737e' # str | The unique ID of the cluster.
    try:
        # List PostgreSQL versions
        api_response = api_instance.cluster_postgres_versions_get(cluster_id)
        print(api_response)
    except ApiException as e:
        print('Exception when calling ClustersApi.cluster_postgres_versions_get: %s\n' % e)
```

#### Parameters

| Name            | Type    | Description                   | Notes |
| --------------- | ------- | ----------------------------- | ----- |
| **cluster\_id** | **str** | The unique ID of the cluster. |       |

#### Return type

[**PostgresVersionList**](https://docs.ionos.com/sections-test/python-sdk/dbaas-postgres-python-sdk/models/postgresversionlist)

#### Authorization

basicAuth, tokenAuth

#### HTTP request headers

* **Content-Type**: Not defined
* **Accept**: application/json

## **clusters\_delete**

> ClusterResponse clusters\_delete(cluster\_id)

Delete a cluster

Delete a PostgreSQL cluster.

#### Example

```python
from __future__ import print_function
import time
import ionoscloud_dbaas_postgres
from ionoscloud_dbaas_postgres.rest import ApiException

# Defining the host is optional and defaults to https://api.ionos.com/databases/postgresql
configuration = ionoscloud_dbaas_postgres.Configuration(
    host = 'https://api.ionos.com/databases/postgresql',
)

# Example of configuring HTTP Basic Authorization
configuration.username = 'YOUR_USERNAME'
configuration.password = 'YOUR_PASSWORD'

with ionoscloud_dbaas_postgres.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = ionoscloud_dbaas_postgres.ClustersApi(api_client)
    cluster_id = '498ae72f-411f-11eb-9d07-046c59cc737e' # str | The unique ID of the cluster.
    try:
        # Delete a cluster
        api_response = api_instance.clusters_delete(cluster_id)
        print(api_response)
    except ApiException as e:
        print('Exception when calling ClustersApi.clusters_delete: %s\n' % e)
```

#### Parameters

| Name            | Type    | Description                   | Notes |
| --------------- | ------- | ----------------------------- | ----- |
| **cluster\_id** | **str** | The unique ID of the cluster. |       |

#### Return type

[**ClusterResponse**](https://docs.ionos.com/sections-test/python-sdk/dbaas-postgres-python-sdk/models/clusterresponse)

#### Authorization

basicAuth, tokenAuth

#### HTTP request headers

* **Content-Type**: Not defined
* **Accept**: application/json

## **clusters\_find\_by\_id**

> ClusterResponse clusters\_find\_by\_id(cluster\_id)

Fetch a cluster

You can retrieve a PostgreSQL cluster by using its ID. This value can be found in the response body when a PostgreSQL cluster is created or when you GET a list of PostgreSQL clusters.

#### Example

```python
from __future__ import print_function
import time
import ionoscloud_dbaas_postgres
from ionoscloud_dbaas_postgres.rest import ApiException

# Defining the host is optional and defaults to https://api.ionos.com/databases/postgresql
configuration = ionoscloud_dbaas_postgres.Configuration(
    host = 'https://api.ionos.com/databases/postgresql',
)

# Example of configuring HTTP Basic Authorization
configuration.username = 'YOUR_USERNAME'
configuration.password = 'YOUR_PASSWORD'

with ionoscloud_dbaas_postgres.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = ionoscloud_dbaas_postgres.ClustersApi(api_client)
    cluster_id = '498ae72f-411f-11eb-9d07-046c59cc737e' # str | The unique ID of the cluster.
    try:
        # Fetch a cluster
        api_response = api_instance.clusters_find_by_id(cluster_id)
        print(api_response)
    except ApiException as e:
        print('Exception when calling ClustersApi.clusters_find_by_id: %s\n' % e)
```

#### Parameters

| Name            | Type    | Description                   | Notes |
| --------------- | ------- | ----------------------------- | ----- |
| **cluster\_id** | **str** | The unique ID of the cluster. |       |

#### Return type

[**ClusterResponse**](https://docs.ionos.com/sections-test/python-sdk/dbaas-postgres-python-sdk/models/clusterresponse)

#### Authorization

basicAuth, tokenAuth

#### HTTP request headers

* **Content-Type**: Not defined
* **Accept**: application/json

## **clusters\_get**

> ClusterList clusters\_get(limit=limit, offset=offset, filter\_name=filter\_name)

List clusters

Retrieves a list of PostgreSQL clusters.

#### Example

```python
from __future__ import print_function
import time
import ionoscloud_dbaas_postgres
from ionoscloud_dbaas_postgres.rest import ApiException

# Defining the host is optional and defaults to https://api.ionos.com/databases/postgresql
configuration = ionoscloud_dbaas_postgres.Configuration(
    host = 'https://api.ionos.com/databases/postgresql',
)

# Example of configuring HTTP Basic Authorization
configuration.username = 'YOUR_USERNAME'
configuration.password = 'YOUR_PASSWORD'

with ionoscloud_dbaas_postgres.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = ionoscloud_dbaas_postgres.ClustersApi(api_client)
    try:
        # List clusters
        api_response = api_instance.clusters_get()
        print(api_response)
    except ApiException as e:
        print('Exception when calling ClustersApi.clusters_get: %s\n' % e)
```

#### Parameters

| Name             | Type    | Description                                                                                                                                                 | Notes                         |
| ---------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- |
| **limit**        | **int** | The maximum number of elements to return. Use together with 'offset' for pagination.                                                                        | \[optional] \[default to 100] |
| **offset**       | **int** | The first element to return. Use together with 'limit' for pagination.                                                                                      | \[optional] \[default to 0]   |
| **filter\_name** | **str** | Response filter to list only the PostgreSQL clusters that contain the specified name. The value is case insensitive and matched on the 'displayName' field. | \[optional]                   |

#### Return type

[**ClusterList**](https://docs.ionos.com/sections-test/python-sdk/dbaas-postgres-python-sdk/models/clusterlist)

#### Authorization

basicAuth, tokenAuth

#### HTTP request headers

* **Content-Type**: Not defined
* **Accept**: application/json

## **clusters\_patch**

> ClusterResponse clusters\_patch(cluster\_id, patch\_cluster\_request)

Patch a cluster

Patch attributes of a PostgreSQL cluster.

#### Example

```python
from __future__ import print_function
import time
import ionoscloud_dbaas_postgres
from ionoscloud_dbaas_postgres.rest import ApiException

# Defining the host is optional and defaults to https://api.ionos.com/databases/postgresql
configuration = ionoscloud_dbaas_postgres.Configuration(
    host = 'https://api.ionos.com/databases/postgresql',
)

# Example of configuring HTTP Basic Authorization
configuration.username = 'YOUR_USERNAME'
configuration.password = 'YOUR_PASSWORD'

with ionoscloud_dbaas_postgres.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = ionoscloud_dbaas_postgres.ClustersApi(api_client)
    cluster_id = '498ae72f-411f-11eb-9d07-046c59cc737e' # str | The unique ID of the cluster.
    patch_cluster_request = ionoscloud_dbaas_postgres.PatchClusterRequest() # PatchClusterRequest | Part of the cluster which should be modified.
    try:
        # Patch a cluster
        api_response = api_instance.clusters_patch(cluster_id, patch_cluster_request)
        print(api_response)
    except ApiException as e:
        print('Exception when calling ClustersApi.clusters_patch: %s\n' % e)
```

#### Parameters

| Name                        | Type                                                                                                                            | Description                                   | Notes |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- | ----- |
| **cluster\_id**             | **str**                                                                                                                         | The unique ID of the cluster.                 |       |
| **patch\_cluster\_request** | [**PatchClusterRequest**](https://docs.ionos.com/sections-test/python-sdk/dbaas-postgres-python-sdk/models/patchclusterrequest) | Part of the cluster which should be modified. |       |

#### Return type

[**ClusterResponse**](https://docs.ionos.com/sections-test/python-sdk/dbaas-postgres-python-sdk/models/clusterresponse)

#### Authorization

basicAuth, tokenAuth

#### HTTP request headers

* **Content-Type**: application/json
* **Accept**: application/json

## **clusters\_post**

> ClusterResponse clusters\_post(create\_cluster\_request)

Create a cluster

Creates a new PostgreSQL cluster. If the `fromBackup` field is populated, the new cluster will be created based on the given backup.

#### Example

```python
from __future__ import print_function
import time
import ionoscloud_dbaas_postgres
from ionoscloud_dbaas_postgres.rest import ApiException

# Defining the host is optional and defaults to https://api.ionos.com/databases/postgresql
configuration = ionoscloud_dbaas_postgres.Configuration(
    host = 'https://api.ionos.com/databases/postgresql',
)

# Example of configuring HTTP Basic Authorization
configuration.username = 'YOUR_USERNAME'
configuration.password = 'YOUR_PASSWORD'

with ionoscloud_dbaas_postgres.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = ionoscloud_dbaas_postgres.ClustersApi(api_client)
    create_cluster_request = ionoscloud_dbaas_postgres.CreateClusterRequest() # CreateClusterRequest | The cluster to be created.
    try:
        # Create a cluster
        api_response = api_instance.clusters_post(create_cluster_request)
        print(api_response)
    except ApiException as e:
        print('Exception when calling ClustersApi.clusters_post: %s\n' % e)
```

#### Parameters

| Name                         | Type                                                                                                                              | Description                | Notes |
| ---------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | -------------------------- | ----- |
| **create\_cluster\_request** | [**CreateClusterRequest**](https://docs.ionos.com/sections-test/python-sdk/dbaas-postgres-python-sdk/models/createclusterrequest) | The cluster to be created. |       |

#### Return type

[**ClusterResponse**](https://docs.ionos.com/sections-test/python-sdk/dbaas-postgres-python-sdk/models/clusterresponse)

#### Authorization

basicAuth, tokenAuth

#### HTTP request headers

* **Content-Type**: application/json
* **Accept**: application/json

## **postgres\_versions\_get**

> PostgresVersionList postgres\_versions\_get()

List PostgreSQL versions

Retrieves a list of all available PostgreSQL versions.

#### Example

```python
from __future__ import print_function
import time
import ionoscloud_dbaas_postgres
from ionoscloud_dbaas_postgres.rest import ApiException

# Defining the host is optional and defaults to https://api.ionos.com/databases/postgresql
configuration = ionoscloud_dbaas_postgres.Configuration(
    host = 'https://api.ionos.com/databases/postgresql',
)

# Example of configuring HTTP Basic Authorization
configuration.username = 'YOUR_USERNAME'
configuration.password = 'YOUR_PASSWORD'

with ionoscloud_dbaas_postgres.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = ionoscloud_dbaas_postgres.ClustersApi(api_client)
    try:
        # List PostgreSQL versions
        api_response = api_instance.postgres_versions_get()
        print(api_response)
    except ApiException as e:
        print('Exception when calling ClustersApi.postgres_versions_get: %s\n' % e)
```

#### Parameters

This endpoint does not need any parameter.

#### Return type

[**PostgresVersionList**](https://docs.ionos.com/sections-test/python-sdk/dbaas-postgres-python-sdk/models/postgresversionlist)

#### Authorization

basicAuth, tokenAuth

#### HTTP request headers

* **Content-Type**: Not defined
* **Accept**: application/json
