# IPBlocksApi

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

| Method                                    | HTTP request                     | Description                |
| ----------------------------------------- | -------------------------------- | -------------------------- |
| [**ipblocksDelete**](#ipblocksdelete)     | **DELETE** /ipblocks/{ipblockId} | Delete IP blocks           |
| [**ipblocksFindById**](#ipblocksfindbyid) | **GET** /ipblocks/{ipblockId}    | Retrieve IP blocks         |
| [**ipblocksGet**](#ipblocksget)           | **GET** /ipblocks                | List IP blocks             |
| [**ipblocksPatch**](#ipblockspatch)       | **PATCH** /ipblocks/{ipblockId}  | Partially modify IP blocks |
| [**ipblocksPost**](#ipblockspost)         | **POST** /ipblocks               | Reserve a IP Block         |
| [**ipblocksPut**](#ipblocksput)           | **PUT** /ipblocks/{ipblockId}    | Modify a IP Block by ID    |

## ipblocksDelete

> ipblocksDelete(ipblockId, opts)

Delete IP blocks

Remove the specified IP block.

### Examples

```javascript
const ionoscloud = require('@ionos-cloud/sdk-nodejs');
// setup authorization
const config = new ionoscloud.Configuration({
    username: 'YOUR_USERNAME',
    password: 'YOUR_PASSWORD',
    apiKey: 'YOUR_API_KEY'
});
const api_instance = new ionoscloud.IPBlocksApi(config);
// Delete IP blocks
api_instance
  .ipblocksDelete({
    ipblockId: ipblockId_example,
    pretty: true,
    depth: 56,
    xContractNumber: 56, 
        options: {}
  })
  .then((response) => console.log(response.data))
  .catch((error) => console.log(error.response.data));
```

### Parameters

| Name                | Type        | Description                                                                                                                                                                                                                                                                                                                                                                                                                                   | Notes                              |
| ------------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- |
| **ipblockId**       | **string**  | The unique ID of the IP block.                                                                                                                                                                                                                                                                                                                                                                                                                | \[default to undefined]            |
| **pretty**          | **boolean** | Controls whether the response is pretty-printed (with indentations and new lines).                                                                                                                                                                                                                                                                                                                                                            | \[optional]\[default to true]      |
| **depth**           | **number**  | 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\&#39;s children are included. - depth=... and so on | \[optional]\[default to 0]         |
| **xContractNumber** | **number**  | Users with multiple contracts must provide the contract number, for which all API requests are to be executed.                                                                                                                                                                                                                                                                                                                                | \[optional]\[default to undefined] |

### Return type

nil (empty response body)

### Authorization

Basic Authentication, Token Authentication

### HTTP request headers

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

## ipblocksFindById

> ipblocksFindById(ipblockId, opts)

Retrieve IP blocks

Retrieve the properties of the specified IP block.

### Examples

```javascript
const ionoscloud = require('@ionos-cloud/sdk-nodejs');
// setup authorization
const config = new ionoscloud.Configuration({
    username: 'YOUR_USERNAME',
    password: 'YOUR_PASSWORD',
    apiKey: 'YOUR_API_KEY'
});
const api_instance = new ionoscloud.IPBlocksApi(config);
// Retrieve IP blocks
api_instance
  .ipblocksFindById({
    ipblockId: ipblockId_example,
    pretty: true,
    depth: 56,
    xContractNumber: 56, 
        options: {}
  })
  .then((response) => console.log(response.data))
  .catch((error) => console.log(error.response.data));
```

### Parameters

| Name                | Type        | Description                                                                                                                                                                                                                                                                                                                                                                                                                                   | Notes                              |
| ------------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- |
| **ipblockId**       | **string**  | The unique ID of the IP block.                                                                                                                                                                                                                                                                                                                                                                                                                | \[default to undefined]            |
| **pretty**          | **boolean** | Controls whether the response is pretty-printed (with indentations and new lines).                                                                                                                                                                                                                                                                                                                                                            | \[optional]\[default to true]      |
| **depth**           | **number**  | 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\&#39;s children are included. - depth=... and so on | \[optional]\[default to 0]         |
| **xContractNumber** | **number**  | Users with multiple contracts must provide the contract number, for which all API requests are to be executed.                                                                                                                                                                                                                                                                                                                                | \[optional]\[default to undefined] |

### Return type

[**IpBlock**](https://docs.ionos.com/sections-test/nodejs-sdk/cloud-api-nodejs-sdk/models/ipblock)

### Authorization

Basic Authentication, Token Authentication

### HTTP request headers

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

## ipblocksGet

> ipblocksGet(opts)

List IP blocks

List all reserved IP blocks.

### Examples

```javascript
const ionoscloud = require('@ionos-cloud/sdk-nodejs');
// setup authorization
const config = new ionoscloud.Configuration({
    username: 'YOUR_USERNAME',
    password: 'YOUR_PASSWORD',
    apiKey: 'YOUR_API_KEY'
});
const api_instance = new ionoscloud.IPBlocksApi(config);
var filterMap = new Map()
filterMap.set("<property_name>", "<property_value>")
// List IP blocks 
api_instance
  .ipblocksGet({
    pretty: true,
    depth: 56,
    xContractNumber: 56,
    offset: 56,
    limit: 56
    orderBy: "<property_name>"
    maxResults: 2,
    filters: filterMap
    options: {}
  })
  .then((response) => console.log(response.data))
  .catch((error) => console.log(error.response.data));
```

### Parameters

| Name                | Type        | Description                                                                                                                                                                                                                                                                                                                                                                                                                                   | Notes                              |
| ------------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- |
| **pretty**          | **boolean** | Controls whether the response is pretty-printed (with indentations and new lines).                                                                                                                                                                                                                                                                                                                                                            | \[optional]\[default to true]      |
| **depth**           | **number**  | 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\&#39;s children are included. - depth=... and so on | \[optional]\[default to 0]         |
| **xContractNumber** | **number**  | Users with multiple contracts must provide the contract number, for which all API requests are to be executed.                                                                                                                                                                                                                                                                                                                                | \[optional]\[default to undefined] |
| **offset**          | **number**  | The first element (from the complete list of the elements) to include in the response (used together with \<b>\<i>limit\</i>\</b> for pagination).                                                                                                                                                                                                                                                                                            | \[optional]\[default to 0]         |
| **limit**           | **number**  | The maximum number of elements to return (use together with offset for pagination).                                                                                                                                                                                                                                                                                                                                                           | \[optional]\[default to 100]       |

### Return type

[**IpBlocks**](https://docs.ionos.com/sections-test/nodejs-sdk/cloud-api-nodejs-sdk/models/ipblocks)

### Authorization

Basic Authentication, Token Authentication

### HTTP request headers

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

## ipblocksPatch

> ipblocksPatch(ipblockId, ipblock, opts)

Partially modify IP blocks

Update the properties of the specified IP block.

### Examples

```javascript
const ionoscloud = require('@ionos-cloud/sdk-nodejs');
// setup authorization
const config = new ionoscloud.Configuration({
    username: 'YOUR_USERNAME',
    password: 'YOUR_PASSWORD',
    apiKey: 'YOUR_API_KEY'
});
const api_instance = new ionoscloud.IPBlocksApi(config);
// Partially modify IP blocks
api_instance
  .ipblocksPatch({
    ipblockId: ipblockId_example,
    ipblock: ipblock_example,
    pretty: true,
    depth: 56,
    xContractNumber: 56, 
        options: {}
  })
  .then((response) => console.log(response.data))
  .catch((error) => console.log(error.response.data));
```

### Parameters

| Name                | Type                                                                                                                   | Description                                                                                                                                                                                                                                                                                                                                                                                                                                   | Notes                              |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- |
| **ipblockId**       | **string**                                                                                                             | The unique ID of the IP block.                                                                                                                                                                                                                                                                                                                                                                                                                | \[default to undefined]            |
| **ipblock**         | [**IpBlockProperties**](https://docs.ionos.com/sections-test/nodejs-sdk/cloud-api-nodejs-sdk/models/ipblockproperties) | The properties of the IP block to be updated.                                                                                                                                                                                                                                                                                                                                                                                                 |                                    |
| **pretty**          | **boolean**                                                                                                            | Controls whether the response is pretty-printed (with indentations and new lines).                                                                                                                                                                                                                                                                                                                                                            | \[optional]\[default to true]      |
| **depth**           | **number**                                                                                                             | 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\&#39;s children are included. - depth=... and so on | \[optional]\[default to 0]         |
| **xContractNumber** | **number**                                                                                                             | Users with multiple contracts must provide the contract number, for which all API requests are to be executed.                                                                                                                                                                                                                                                                                                                                | \[optional]\[default to undefined] |

### Return type

[**IpBlock**](https://docs.ionos.com/sections-test/nodejs-sdk/cloud-api-nodejs-sdk/models/ipblock)

### Authorization

Basic Authentication, Token Authentication

### HTTP request headers

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

## ipblocksPost

> ipblocksPost(ipblock, opts)

Reserve a IP Block

Reserves a new IP block.

### Examples

```javascript
const ionoscloud = require('@ionos-cloud/sdk-nodejs');
// setup authorization
const config = new ionoscloud.Configuration({
    username: 'YOUR_USERNAME',
    password: 'YOUR_PASSWORD',
    apiKey: 'YOUR_API_KEY'
});
const api_instance = new ionoscloud.IPBlocksApi(config);
// Reserve a IP Block
api_instance
  .ipblocksPost({
    ipblock: ipblock_example,
    pretty: true,
    depth: 56,
    xContractNumber: 56, 
        options: {}
  })
  .then((response) => console.log(response.data))
  .catch((error) => console.log(error.response.data));
```

### Parameters

| Name                | Type                                                                                               | Description                                                                                                                                                                                                                                                                                                                                                                                                                                   | Notes                              |
| ------------------- | -------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- |
| **ipblock**         | [**IpBlock**](https://docs.ionos.com/sections-test/nodejs-sdk/cloud-api-nodejs-sdk/models/ipblock) | The IP block to be reserved.                                                                                                                                                                                                                                                                                                                                                                                                                  |                                    |
| **pretty**          | **boolean**                                                                                        | Controls whether the response is pretty-printed (with indentations and new lines).                                                                                                                                                                                                                                                                                                                                                            | \[optional]\[default to true]      |
| **depth**           | **number**                                                                                         | 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\&#39;s children are included. - depth=... and so on | \[optional]\[default to 0]         |
| **xContractNumber** | **number**                                                                                         | Users with multiple contracts must provide the contract number, for which all API requests are to be executed.                                                                                                                                                                                                                                                                                                                                | \[optional]\[default to undefined] |

### Return type

[**IpBlock**](https://docs.ionos.com/sections-test/nodejs-sdk/cloud-api-nodejs-sdk/models/ipblock)

### Authorization

Basic Authentication, Token Authentication

### HTTP request headers

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

## ipblocksPut

> ipblocksPut(ipblockId, ipblock, opts)

Modify a IP Block by ID

Modifies the properties of the specified IP block.

### Examples

```javascript
const ionoscloud = require('@ionos-cloud/sdk-nodejs');
// setup authorization
const config = new ionoscloud.Configuration({
    username: 'YOUR_USERNAME',
    password: 'YOUR_PASSWORD',
    apiKey: 'YOUR_API_KEY'
});
const api_instance = new ionoscloud.IPBlocksApi(config);
// Modify a IP Block by ID
api_instance
  .ipblocksPut({
    ipblockId: ipblockId_example,
    ipblock: ipblock_example,
    pretty: true,
    depth: 56,
    xContractNumber: 56, 
        options: {}
  })
  .then((response) => console.log(response.data))
  .catch((error) => console.log(error.response.data));
```

### Parameters

| Name                | Type                                                                                               | Description                                                                                                                                                                                                                                                                                                                                                                                                                                   | Notes                              |
| ------------------- | -------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- |
| **ipblockId**       | **string**                                                                                         | The unique ID of the IP block.                                                                                                                                                                                                                                                                                                                                                                                                                | \[default to undefined]            |
| **ipblock**         | [**IpBlock**](https://docs.ionos.com/sections-test/nodejs-sdk/cloud-api-nodejs-sdk/models/ipblock) | The modified IP block.                                                                                                                                                                                                                                                                                                                                                                                                                        |                                    |
| **pretty**          | **boolean**                                                                                        | Controls whether the response is pretty-printed (with indentations and new lines).                                                                                                                                                                                                                                                                                                                                                            | \[optional]\[default to true]      |
| **depth**           | **number**                                                                                         | 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\&#39;s children are included. - depth=... and so on | \[optional]\[default to 0]         |
| **xContractNumber** | **number**                                                                                         | Users with multiple contracts must provide the contract number, for which all API requests are to be executed.                                                                                                                                                                                                                                                                                                                                | \[optional]\[default to undefined] |

### Return type

[**IpBlock**](https://docs.ionos.com/sections-test/nodejs-sdk/cloud-api-nodejs-sdk/models/ipblock)

### Authorization

Basic Authentication, Token Authentication

### HTTP request headers

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