# SnapshotsApi

All URIs are relative to *<https://api.ionos.com/cloudapi/v6>*

| Method                                               | HTTP request                       | Description                |
| ---------------------------------------------------- | ---------------------------------- | -------------------------- |
| [**snapshots\_delete**](#snapshots_delete)           | **DELETE** /snapshots/{snapshotId} | Delete snapshots           |
| [**snapshots\_find\_by\_id**](#snapshots_find_by_id) | **GET** /snapshots/{snapshotId}    | Retrieve snapshots by ID   |
| [**snapshots\_get**](#snapshots_get)                 | **GET** /snapshots                 | List snapshots             |
| [**snapshots\_patch**](#snapshots_patch)             | **PATCH** /snapshots/{snapshotId}  | Partially modify snapshots |
| [**snapshots\_put**](#snapshots_put)                 | **PUT** /snapshots/{snapshotId}    | Modify a Snapshot by ID    |

## snapshots\_delete

> snapshots\_delete(snapshot\_id, opts)

Delete snapshots

Deletes the specified snapshot.

### Examples

```ruby
require 'time'
require 'ionoscloud'
# setup authorization
Ionoscloud.configure do |config|
  # Configure HTTP basic authorization: Basic Authentication
  config.username = 'YOUR USERNAME'
  config.password = 'YOUR PASSWORD'

  # Configure API key authorization: Token Authentication
  config.api_key['Authorization'] = 'YOUR API KEY'
  # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
  # config.api_key_prefix['Authorization'] = 'Bearer'
end

api_instance = Ionoscloud::SnapshotsApi.new
snapshot_id = 'snapshot_id_example' # String | The unique ID of the snapshot.
opts = {
  pretty: true, # Boolean | Controls whether the response is pretty-printed (with indentations and new lines).
  depth: 56, # Integer | Controls the detail depth of the response objects.  GET /datacenters/[ID]  - depth=0: Only direct properties are included; children (servers and other elements) are not included.  - depth=1: Direct properties and children references are included.  - depth=2: Direct properties and children properties are included.  - depth=3: Direct properties and children properties and children's children are included.  - depth=... and so on
  x_contract_number: 56 # Integer | Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
}

begin
  # Delete snapshots
  api_instance.snapshots_delete(snapshot_id, opts)
rescue Ionoscloud::ApiError => e
  puts "Error when calling SnapshotsApi->snapshots_delete: #{e}"
end
```

#### Using the snapshots\_delete\_with\_http\_info variant

This returns an Array which contains the response data (`nil` in this case), status code and headers.

> \<Array(nil, Integer, Hash)> snapshots\_delete\_with\_http\_info(snapshot\_id, opts)

```ruby
begin
  # Delete snapshots
  data, status_code, headers = api_instance.snapshots_delete_with_http_info(snapshot_id, opts)
  p status_code # => 2xx
  p headers # => { ... }
  p data # => nil
rescue Ionoscloud::ApiError => e
  puts "Error when calling SnapshotsApi->snapshots_delete_with_http_info: #{e}"
end
```

### Parameters

| Name                    | Type        | Description                                                                                                                                                                                                                                                                                                                                                                                                                              | Notes                         |
| ----------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- |
| **snapshot\_id**        | **String**  | The unique ID of the snapshot.                                                                                                                                                                                                                                                                                                                                                                                                           |                               |
| **pretty**              | **Boolean** | Controls whether the response is pretty-printed (with indentations and new lines).                                                                                                                                                                                                                                                                                                                                                       | \[optional]\[default to true] |
| **depth**               | **Integer** | Controls the detail depth of the response objects. GET /datacenters/\[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on | \[optional]\[default to 0]    |
| **x\_contract\_number** | **Integer** | Users with multiple contracts must provide the contract number, for which all API requests are to be executed.                                                                                                                                                                                                                                                                                                                           | \[optional]                   |

### Return type

nil (empty response body)

### Authorization

Basic Authentication, Token Authentication

### HTTP request headers

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

## snapshots\_find\_by\_id

> snapshots\_find\_by\_id(snapshot\_id, opts)

Retrieve snapshots by ID

Retrieve the properties of the specified snapshot.

### Examples

```ruby
require 'time'
require 'ionoscloud'
# setup authorization
Ionoscloud.configure do |config|
  # Configure HTTP basic authorization: Basic Authentication
  config.username = 'YOUR USERNAME'
  config.password = 'YOUR PASSWORD'

  # Configure API key authorization: Token Authentication
  config.api_key['Authorization'] = 'YOUR API KEY'
  # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
  # config.api_key_prefix['Authorization'] = 'Bearer'
end

api_instance = Ionoscloud::SnapshotsApi.new
snapshot_id = 'snapshot_id_example' # String | The unique ID of the snapshot.
opts = {
  pretty: true, # Boolean | Controls whether the response is pretty-printed (with indentations and new lines).
  depth: 56, # Integer | Controls the detail depth of the response objects.  GET /datacenters/[ID]  - depth=0: Only direct properties are included; children (servers and other elements) are not included.  - depth=1: Direct properties and children references are included.  - depth=2: Direct properties and children properties are included.  - depth=3: Direct properties and children properties and children's children are included.  - depth=... and so on
  x_contract_number: 56 # Integer | Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
}

begin
  # Retrieve snapshots by ID
  result = api_instance.snapshots_find_by_id(snapshot_id, opts)
  p result
rescue Ionoscloud::ApiError => e
  puts "Error when calling SnapshotsApi->snapshots_find_by_id: #{e}"
end
```

#### Using the snapshots\_find\_by\_id\_with\_http\_info variant

This returns an Array which contains the response data, status code and headers.

> \<Array(, Integer, Hash)> snapshots\_find\_by\_id\_with\_http\_info(snapshot\_id, opts)

```ruby
begin
  # Retrieve snapshots by ID
  data, status_code, headers = api_instance.snapshots_find_by_id_with_http_info(snapshot_id, opts)
  p status_code # => 2xx
  p headers # => { ... }
  p data # => <Snapshot>
rescue Ionoscloud::ApiError => e
  puts "Error when calling SnapshotsApi->snapshots_find_by_id_with_http_info: #{e}"
end
```

### Parameters

| Name                    | Type        | Description                                                                                                                                                                                                                                                                                                                                                                                                                              | Notes                         |
| ----------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- |
| **snapshot\_id**        | **String**  | The unique ID of the snapshot.                                                                                                                                                                                                                                                                                                                                                                                                           |                               |
| **pretty**              | **Boolean** | Controls whether the response is pretty-printed (with indentations and new lines).                                                                                                                                                                                                                                                                                                                                                       | \[optional]\[default to true] |
| **depth**               | **Integer** | Controls the detail depth of the response objects. GET /datacenters/\[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on | \[optional]\[default to 0]    |
| **x\_contract\_number** | **Integer** | Users with multiple contracts must provide the contract number, for which all API requests are to be executed.                                                                                                                                                                                                                                                                                                                           | \[optional]                   |

### Return type

[**Snapshot**](https://docs.ionos.com/sections-test/ruby-sdk/cloud-api-ruby-sdk/models/snapshot)

### Authorization

Basic Authentication, Token Authentication

### HTTP request headers

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

## snapshots\_get

> snapshots\_get(opts)

List snapshots

List all available snapshots.

### Examples

```ruby
require 'time'
require 'ionoscloud'
# setup authorization
Ionoscloud.configure do |config|
  # Configure HTTP basic authorization: Basic Authentication
  config.username = 'YOUR USERNAME'
  config.password = 'YOUR PASSWORD'

  # Configure API key authorization: Token Authentication
  config.api_key['Authorization'] = 'YOUR API KEY'
  # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
  # config.api_key_prefix['Authorization'] = 'Bearer'
end

api_instance = Ionoscloud::SnapshotsApi.new
opts = {
  pretty: true, # Boolean | Controls whether the response is pretty-printed (with indentations and new lines).
  depth: 56, # Integer | Controls the detail depth of the response objects.  GET /datacenters/[ID]  - depth=0: Only direct properties are included; children (servers and other elements) are not included.  - depth=1: Direct properties and children references are included.  - depth=2: Direct properties and children properties are included.  - depth=3: Direct properties and children properties and children's children are included.  - depth=... and so on
  x_contract_number: 56 # Integer | Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
}

begin
  # List snapshots
  result = api_instance.snapshots_get(opts)
  p result
rescue Ionoscloud::ApiError => e
  puts "Error when calling SnapshotsApi->snapshots_get: #{e}"
end
```

#### Using the snapshots\_get\_with\_http\_info variant

This returns an Array which contains the response data, status code and headers.

> \<Array(, Integer, Hash)> snapshots\_get\_with\_http\_info(opts)

```ruby
begin
  # List snapshots
  data, status_code, headers = api_instance.snapshots_get_with_http_info(opts)
  p status_code # => 2xx
  p headers # => { ... }
  p data # => <Snapshots>
rescue Ionoscloud::ApiError => e
  puts "Error when calling SnapshotsApi->snapshots_get_with_http_info: #{e}"
end
```

### Parameters

| Name                    | Type        | Description                                                                                                                                                                                                                                                                                                                                                                                                                              | Notes                         |
| ----------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- |
| **pretty**              | **Boolean** | Controls whether the response is pretty-printed (with indentations and new lines).                                                                                                                                                                                                                                                                                                                                                       | \[optional]\[default to true] |
| **depth**               | **Integer** | Controls the detail depth of the response objects. GET /datacenters/\[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on | \[optional]\[default to 0]    |
| **x\_contract\_number** | **Integer** | Users with multiple contracts must provide the contract number, for which all API requests are to be executed.                                                                                                                                                                                                                                                                                                                           | \[optional]                   |

### Return type

[**Snapshots**](https://docs.ionos.com/sections-test/ruby-sdk/cloud-api-ruby-sdk/models/snapshots)

### Authorization

Basic Authentication, Token Authentication

### HTTP request headers

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

## snapshots\_patch

> snapshots\_patch(snapshot\_id, snapshot, opts)

Partially modify snapshots

Update the properties of the specified snapshot.

### Examples

```ruby
require 'time'
require 'ionoscloud'
# setup authorization
Ionoscloud.configure do |config|
  # Configure HTTP basic authorization: Basic Authentication
  config.username = 'YOUR USERNAME'
  config.password = 'YOUR PASSWORD'

  # Configure API key authorization: Token Authentication
  config.api_key['Authorization'] = 'YOUR API KEY'
  # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
  # config.api_key_prefix['Authorization'] = 'Bearer'
end

api_instance = Ionoscloud::SnapshotsApi.new
snapshot_id = 'snapshot_id_example' # String | The unique ID of the snapshot.
snapshot = Ionoscloud::SnapshotProperties.new # SnapshotProperties | The properties of the snapshot to be updated.
opts = {
  pretty: true, # Boolean | Controls whether the response is pretty-printed (with indentations and new lines).
  depth: 56, # Integer | Controls the detail depth of the response objects.  GET /datacenters/[ID]  - depth=0: Only direct properties are included; children (servers and other elements) are not included.  - depth=1: Direct properties and children references are included.  - depth=2: Direct properties and children properties are included.  - depth=3: Direct properties and children properties and children's children are included.  - depth=... and so on
  x_contract_number: 56 # Integer | Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
}

begin
  # Partially modify snapshots
  result = api_instance.snapshots_patch(snapshot_id, snapshot, opts)
  p result
rescue Ionoscloud::ApiError => e
  puts "Error when calling SnapshotsApi->snapshots_patch: #{e}"
end
```

#### Using the snapshots\_patch\_with\_http\_info variant

This returns an Array which contains the response data, status code and headers.

> \<Array(, Integer, Hash)> snapshots\_patch\_with\_http\_info(snapshot\_id, snapshot, opts)

```ruby
begin
  # Partially modify snapshots
  data, status_code, headers = api_instance.snapshots_patch_with_http_info(snapshot_id, snapshot, opts)
  p status_code # => 2xx
  p headers # => { ... }
  p data # => <Snapshot>
rescue Ionoscloud::ApiError => e
  puts "Error when calling SnapshotsApi->snapshots_patch_with_http_info: #{e}"
end
```

### Parameters

| Name                    | Type                                                                                                                 | Description                                                                                                                                                                                                                                                                                                                                                                                                                              | Notes                         |
| ----------------------- | -------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- |
| **snapshot\_id**        | **String**                                                                                                           | The unique ID of the snapshot.                                                                                                                                                                                                                                                                                                                                                                                                           |                               |
| **snapshot**            | [**SnapshotProperties**](https://docs.ionos.com/sections-test/ruby-sdk/cloud-api-ruby-sdk/models/snapshotproperties) | The properties of the snapshot to be updated.                                                                                                                                                                                                                                                                                                                                                                                            |                               |
| **pretty**              | **Boolean**                                                                                                          | Controls whether the response is pretty-printed (with indentations and new lines).                                                                                                                                                                                                                                                                                                                                                       | \[optional]\[default to true] |
| **depth**               | **Integer**                                                                                                          | Controls the detail depth of the response objects. GET /datacenters/\[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on | \[optional]\[default to 0]    |
| **x\_contract\_number** | **Integer**                                                                                                          | Users with multiple contracts must provide the contract number, for which all API requests are to be executed.                                                                                                                                                                                                                                                                                                                           | \[optional]                   |

### Return type

[**Snapshot**](https://docs.ionos.com/sections-test/ruby-sdk/cloud-api-ruby-sdk/models/snapshot)

### Authorization

Basic Authentication, Token Authentication

### HTTP request headers

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

## snapshots\_put

> snapshots\_put(snapshot\_id, snapshot, opts)

Modify a Snapshot by ID

Modifies the properties of the specified snapshot.

### Examples

```ruby
require 'time'
require 'ionoscloud'
# setup authorization
Ionoscloud.configure do |config|
  # Configure HTTP basic authorization: Basic Authentication
  config.username = 'YOUR USERNAME'
  config.password = 'YOUR PASSWORD'

  # Configure API key authorization: Token Authentication
  config.api_key['Authorization'] = 'YOUR API KEY'
  # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
  # config.api_key_prefix['Authorization'] = 'Bearer'
end

api_instance = Ionoscloud::SnapshotsApi.new
snapshot_id = 'snapshot_id_example' # String | The unique ID of the snapshot.
snapshot = Ionoscloud::Snapshot.new({properties: Ionoscloud::SnapshotProperties.new}) # Snapshot | The modified snapshot
opts = {
  pretty: true, # Boolean | Controls whether the response is pretty-printed (with indentations and new lines).
  depth: 56, # Integer | Controls the detail depth of the response objects.  GET /datacenters/[ID]  - depth=0: Only direct properties are included; children (servers and other elements) are not included.  - depth=1: Direct properties and children references are included.  - depth=2: Direct properties and children properties are included.  - depth=3: Direct properties and children properties and children's children are included.  - depth=... and so on
  x_contract_number: 56 # Integer | Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
}

begin
  # Modify a Snapshot by ID
  result = api_instance.snapshots_put(snapshot_id, snapshot, opts)
  p result
rescue Ionoscloud::ApiError => e
  puts "Error when calling SnapshotsApi->snapshots_put: #{e}"
end
```

#### Using the snapshots\_put\_with\_http\_info variant

This returns an Array which contains the response data, status code and headers.

> \<Array(, Integer, Hash)> snapshots\_put\_with\_http\_info(snapshot\_id, snapshot, opts)

```ruby
begin
  # Modify a Snapshot by ID
  data, status_code, headers = api_instance.snapshots_put_with_http_info(snapshot_id, snapshot, opts)
  p status_code # => 2xx
  p headers # => { ... }
  p data # => <Snapshot>
rescue Ionoscloud::ApiError => e
  puts "Error when calling SnapshotsApi->snapshots_put_with_http_info: #{e}"
end
```

### Parameters

| Name                    | Type                                                                                             | Description                                                                                                                                                                                                                                                                                                                                                                                                                              | Notes                         |
| ----------------------- | ------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- |
| **snapshot\_id**        | **String**                                                                                       | The unique ID of the snapshot.                                                                                                                                                                                                                                                                                                                                                                                                           |                               |
| **snapshot**            | [**Snapshot**](https://docs.ionos.com/sections-test/ruby-sdk/cloud-api-ruby-sdk/models/snapshot) | The modified snapshot                                                                                                                                                                                                                                                                                                                                                                                                                    |                               |
| **pretty**              | **Boolean**                                                                                      | Controls whether the response is pretty-printed (with indentations and new lines).                                                                                                                                                                                                                                                                                                                                                       | \[optional]\[default to true] |
| **depth**               | **Integer**                                                                                      | Controls the detail depth of the response objects. GET /datacenters/\[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on | \[optional]\[default to 0]    |
| **x\_contract\_number** | **Integer**                                                                                      | Users with multiple contracts must provide the contract number, for which all API requests are to be executed.                                                                                                                                                                                                                                                                                                                           | \[optional]                   |

### Return type

[**Snapshot**](https://docs.ionos.com/sections-test/ruby-sdk/cloud-api-ruby-sdk/models/snapshot)

### Authorization

Basic Authentication, Token Authentication

### HTTP request headers

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