# NATGatewaysApi

## NATGatewaysApi

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

| Method                                                                                                                              | HTTP request                                                                               | Description                               |
| ----------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ | ----------------------------------------- |
| [**datacenters\_natgateways\_delete**](#datacenters_natgateways_delete)                                                             | **DELETE** /datacenters/{datacenterId}/natgateways/{natGatewayId}                          | Delete NAT Gateways                       |
| [**datacenters\_natgateways\_find\_by\_nat\_gateway\_id**](#datacenters_natgateways_find_by_nat_gateway_id)                         | **GET** /datacenters/{datacenterId}/natgateways/{natGatewayId}                             | Retrieve NAT Gateways                     |
| [**datacenters\_natgateways\_flowlogs\_delete**](#datacenters_natgateways_flowlogs_delete)                                          | **DELETE** /datacenters/{datacenterId}/natgateways/{natGatewayId}/flowlogs/{flowLogId}     | Delete NAT Gateway Flow Logs              |
| [**datacenters\_natgateways\_flowlogs\_find\_by\_flow\_log\_id**](#datacenters_natgateways_flowlogs_find_by_flow_log_id)            | **GET** /datacenters/{datacenterId}/natgateways/{natGatewayId}/flowlogs/{flowLogId}        | Retrieve NAT Gateway Flow Logs            |
| [**datacenters\_natgateways\_flowlogs\_get**](#datacenters_natgateways_flowlogs_get)                                                | **GET** /datacenters/{datacenterId}/natgateways/{natGatewayId}/flowlogs                    | List NAT Gateway Flow Logs                |
| [**datacenters\_natgateways\_flowlogs\_patch**](#datacenters_natgateways_flowlogs_patch)                                            | **PATCH** /datacenters/{datacenterId}/natgateways/{natGatewayId}/flowlogs/{flowLogId}      | Partially modify NAT Gateway Flow Logs    |
| [**datacenters\_natgateways\_flowlogs\_post**](#datacenters_natgateways_flowlogs_post)                                              | **POST** /datacenters/{datacenterId}/natgateways/{natGatewayId}/flowlogs                   | Create a NAT Gateway Flow Log             |
| [**datacenters\_natgateways\_flowlogs\_put**](#datacenters_natgateways_flowlogs_put)                                                | **PUT** /datacenters/{datacenterId}/natgateways/{natGatewayId}/flowlogs/{flowLogId}        | Modify NAT Gateway Flow Logs              |
| [**datacenters\_natgateways\_get**](#datacenters_natgateways_get)                                                                   | **GET** /datacenters/{datacenterId}/natgateways                                            | List NAT Gateways                         |
| [**datacenters\_natgateways\_patch**](#datacenters_natgateways_patch)                                                               | **PATCH** /datacenters/{datacenterId}/natgateways/{natGatewayId}                           | Partially modify NAT Gateways             |
| [**datacenters\_natgateways\_post**](#datacenters_natgateways_post)                                                                 | **POST** /datacenters/{datacenterId}/natgateways                                           | Create a NAT Gateway                      |
| [**datacenters\_natgateways\_put**](#datacenters_natgateways_put)                                                                   | **PUT** /datacenters/{datacenterId}/natgateways/{natGatewayId}                             | Modify NAT Gateways                       |
| [**datacenters\_natgateways\_rules\_delete**](#datacenters_natgateways_rules_delete)                                                | **DELETE** /datacenters/{datacenterId}/natgateways/{natGatewayId}/rules/{natGatewayRuleId} | Delete NAT Gateway rules                  |
| [**datacenters\_natgateways\_rules\_find\_by\_nat\_gateway\_rule\_id**](#datacenters_natgateways_rules_find_by_nat_gateway_rule_id) | **GET** /datacenters/{datacenterId}/natgateways/{natGatewayId}/rules/{natGatewayRuleId}    | Retrieve NAT Gateway rules                |
| [**datacenters\_natgateways\_rules\_get**](#datacenters_natgateways_rules_get)                                                      | **GET** /datacenters/{datacenterId}/natgateways/{natGatewayId}/rules                       | List NAT Gateway rules                    |
| [**datacenters\_natgateways\_rules\_patch**](#datacenters_natgateways_rules_patch)                                                  | **PATCH** /datacenters/{datacenterId}/natgateways/{natGatewayId}/rules/{natGatewayRuleId}  | Partially Modify a NAT Gateway Rule by ID |
| [**datacenters\_natgateways\_rules\_post**](#datacenters_natgateways_rules_post)                                                    | **POST** /datacenters/{datacenterId}/natgateways/{natGatewayId}/rules                      | Create a NAT Gateway Rule                 |
| [**datacenters\_natgateways\_rules\_put**](#datacenters_natgateways_rules_put)                                                      | **PUT** /datacenters/{datacenterId}/natgateways/{natGatewayId}/rules/{natGatewayRuleId}    | Modify a NAT Gateway Rule by ID           |

## **datacenters\_natgateways\_delete**

> datacenters\_natgateways\_delete(datacenter\_id, nat\_gateway\_id, pretty=pretty, depth=depth, x\_contract\_number=x\_contract\_number)

Delete NAT Gateways

Remove the specified NAT Gateway from the data center.

#### Example

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

# Defining the host is optional and defaults to https://api.ionos.com/cloudapi/v6
configuration = ionoscloud.Configuration(
    host = 'https://api.ionos.com/cloudapi/v6',
)

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

with ionoscloud.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = ionoscloud.NATGatewaysApi(api_client)
    datacenter_id = 'datacenter_id_example' # str | The unique ID of the data center.
    nat_gateway_id = 'nat_gateway_id_example' # str | The unique ID of the NAT Gateway.
    try:
        # Delete NAT Gateways
        api_instance.datacenters_natgateways_delete(datacenter_id, nat_gateway_id)
    except ApiException as e:
        print('Exception when calling NATGatewaysApi.datacenters_natgateways_delete: %s\n' % e)
```

#### Parameters

| Name                    | Type     | Description                                                                                                                                                                                                                                                                                                                                                                                                                              | Notes                          |
| ----------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
| **datacenter\_id**      | **str**  | The unique ID of the data center.                                                                                                                                                                                                                                                                                                                                                                                                        |                                |
| **nat\_gateway\_id**    | **str**  | The unique ID of the NAT Gateway.                                                                                                                                                                                                                                                                                                                                                                                                        |                                |
| **pretty**              | **bool** | Controls whether the response is pretty-printed (with indentations and new lines).                                                                                                                                                                                                                                                                                                                                                       | \[optional] \[default to True] |
| **depth**               | **int**  | 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** | **int**  | Users with multiple contracts must provide the contract number, for which all API requests are to be executed.                                                                                                                                                                                                                                                                                                                           | \[optional]                    |

#### Return type

void (empty response body)

#### Authorization

Basic Authentication, Token Authentication

#### HTTP request headers

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

## **datacenters\_natgateways\_find\_by\_nat\_gateway\_id**

> NatGateway datacenters\_natgateways\_find\_by\_nat\_gateway\_id(datacenter\_id, nat\_gateway\_id, pretty=pretty, depth=depth, x\_contract\_number=x\_contract\_number)

Retrieve NAT Gateways

Retrieve the properties of the specified NAT Gateway within the data center.

#### Example

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

# Defining the host is optional and defaults to https://api.ionos.com/cloudapi/v6
configuration = ionoscloud.Configuration(
    host = 'https://api.ionos.com/cloudapi/v6',
)

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

with ionoscloud.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = ionoscloud.NATGatewaysApi(api_client)
    datacenter_id = 'datacenter_id_example' # str | The unique ID of the data center.
    nat_gateway_id = 'nat_gateway_id_example' # str | The unique ID of the NAT Gateway.
    try:
        # Retrieve NAT Gateways
        api_response = api_instance.datacenters_natgateways_find_by_nat_gateway_id(datacenter_id, nat_gateway_id)
        print(api_response)
    except ApiException as e:
        print('Exception when calling NATGatewaysApi.datacenters_natgateways_find_by_nat_gateway_id: %s\n' % e)
```

#### Parameters

| Name                    | Type     | Description                                                                                                                                                                                                                                                                                                                                                                                                                              | Notes                          |
| ----------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
| **datacenter\_id**      | **str**  | The unique ID of the data center.                                                                                                                                                                                                                                                                                                                                                                                                        |                                |
| **nat\_gateway\_id**    | **str**  | The unique ID of the NAT Gateway.                                                                                                                                                                                                                                                                                                                                                                                                        |                                |
| **pretty**              | **bool** | Controls whether the response is pretty-printed (with indentations and new lines).                                                                                                                                                                                                                                                                                                                                                       | \[optional] \[default to True] |
| **depth**               | **int**  | 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** | **int**  | Users with multiple contracts must provide the contract number, for which all API requests are to be executed.                                                                                                                                                                                                                                                                                                                           | \[optional]                    |

#### Return type

[**NatGateway**](https://docs.ionos.com/sections-test/python-sdk/cloud-api-python-sdk/models/natgateway)

#### Authorization

Basic Authentication, Token Authentication

#### HTTP request headers

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

## **datacenters\_natgateways\_flowlogs\_delete**

> datacenters\_natgateways\_flowlogs\_delete(datacenter\_id, nat\_gateway\_id, flow\_log\_id, pretty=pretty, depth=depth)

Delete NAT Gateway Flow Logs

Delete the specified NAT Gateway Flow Log.

#### Example

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

# Defining the host is optional and defaults to https://api.ionos.com/cloudapi/v6
configuration = ionoscloud.Configuration(
    host = 'https://api.ionos.com/cloudapi/v6',
)

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

with ionoscloud.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = ionoscloud.NATGatewaysApi(api_client)
    datacenter_id = 'datacenter_id_example' # str | The unique ID of the data center.
    nat_gateway_id = 'nat_gateway_id_example' # str | The unique ID of the NAT Gateway.
    flow_log_id = 'flow_log_id_example' # str | The unique ID of the Flow Log.
    try:
        # Delete NAT Gateway Flow Logs
        api_instance.datacenters_natgateways_flowlogs_delete(datacenter_id, nat_gateway_id, flow_log_id)
    except ApiException as e:
        print('Exception when calling NATGatewaysApi.datacenters_natgateways_flowlogs_delete: %s\n' % e)
```

#### Parameters

| Name                 | Type     | Description                                                                                                                                                                                                                                                                                                                                                                                                                              | Notes                          |
| -------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
| **datacenter\_id**   | **str**  | The unique ID of the data center.                                                                                                                                                                                                                                                                                                                                                                                                        |                                |
| **nat\_gateway\_id** | **str**  | The unique ID of the NAT Gateway.                                                                                                                                                                                                                                                                                                                                                                                                        |                                |
| **flow\_log\_id**    | **str**  | The unique ID of the Flow Log.                                                                                                                                                                                                                                                                                                                                                                                                           |                                |
| **pretty**           | **bool** | Controls whether the response is pretty-printed (with indentations and new lines).                                                                                                                                                                                                                                                                                                                                                       | \[optional] \[default to True] |
| **depth**            | **int**  | 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]    |

#### Return type

void (empty response body)

#### Authorization

Basic Authentication, Token Authentication

#### HTTP request headers

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

## **datacenters\_natgateways\_flowlogs\_find\_by\_flow\_log\_id**

> FlowLog datacenters\_natgateways\_flowlogs\_find\_by\_flow\_log\_id(datacenter\_id, nat\_gateway\_id, flow\_log\_id, pretty=pretty, depth=depth)

Retrieve NAT Gateway Flow Logs

Retrieve the specified NAT Gateway Flow Log.

#### Example

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

# Defining the host is optional and defaults to https://api.ionos.com/cloudapi/v6
configuration = ionoscloud.Configuration(
    host = 'https://api.ionos.com/cloudapi/v6',
)

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

with ionoscloud.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = ionoscloud.NATGatewaysApi(api_client)
    datacenter_id = 'datacenter_id_example' # str | The unique ID of the data center.
    nat_gateway_id = 'nat_gateway_id_example' # str | The unique ID of the NAT Gateway.
    flow_log_id = 'flow_log_id_example' # str | The unique ID of the Flow Log.
    try:
        # Retrieve NAT Gateway Flow Logs
        api_response = api_instance.datacenters_natgateways_flowlogs_find_by_flow_log_id(datacenter_id, nat_gateway_id, flow_log_id)
        print(api_response)
    except ApiException as e:
        print('Exception when calling NATGatewaysApi.datacenters_natgateways_flowlogs_find_by_flow_log_id: %s\n' % e)
```

#### Parameters

| Name                 | Type     | Description                                                                                                                                                                                                                                                                                                                                                                                                                              | Notes                          |
| -------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
| **datacenter\_id**   | **str**  | The unique ID of the data center.                                                                                                                                                                                                                                                                                                                                                                                                        |                                |
| **nat\_gateway\_id** | **str**  | The unique ID of the NAT Gateway.                                                                                                                                                                                                                                                                                                                                                                                                        |                                |
| **flow\_log\_id**    | **str**  | The unique ID of the Flow Log.                                                                                                                                                                                                                                                                                                                                                                                                           |                                |
| **pretty**           | **bool** | Controls whether the response is pretty-printed (with indentations and new lines).                                                                                                                                                                                                                                                                                                                                                       | \[optional] \[default to True] |
| **depth**            | **int**  | 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]    |

#### Return type

[**FlowLog**](https://docs.ionos.com/sections-test/python-sdk/cloud-api-python-sdk/models/flowlog)

#### Authorization

Basic Authentication, Token Authentication

#### HTTP request headers

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

## **datacenters\_natgateways\_flowlogs\_get**

> FlowLogs datacenters\_natgateways\_flowlogs\_get(datacenter\_id, nat\_gateway\_id, pretty=pretty, depth=depth, offset=offset, limit=limit)

List NAT Gateway Flow Logs

List all the Flow Logs for the specified NAT Gateway.

#### Example

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

# Defining the host is optional and defaults to https://api.ionos.com/cloudapi/v6
configuration = ionoscloud.Configuration(
    host = 'https://api.ionos.com/cloudapi/v6',
)

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

with ionoscloud.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = ionoscloud.NATGatewaysApi(api_client)
    datacenter_id = 'datacenter_id_example' # str | The unique ID of the data center.
    nat_gateway_id = 'nat_gateway_id_example' # str | The unique ID of the NAT Gateway.
    try:
        # List NAT Gateway Flow Logs
        api_response = api_instance.datacenters_natgateways_flowlogs_get(datacenter_id, nat_gateway_id)
        print(api_response)
    except ApiException as e:
        print('Exception when calling NATGatewaysApi.datacenters_natgateways_flowlogs_get: %s\n' % e)
```

#### Parameters

| Name                 | Type     | Description                                                                                                                                                                                                                                                                                                                                                                                                                              | Notes                          |
| -------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
| **datacenter\_id**   | **str**  | The unique ID of the data center.                                                                                                                                                                                                                                                                                                                                                                                                        |                                |
| **nat\_gateway\_id** | **str**  | The unique ID of the NAT Gateway.                                                                                                                                                                                                                                                                                                                                                                                                        |                                |
| **pretty**           | **bool** | Controls whether the response is pretty-printed (with indentations and new lines).                                                                                                                                                                                                                                                                                                                                                       | \[optional] \[default to True] |
| **depth**            | **int**  | 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]    |
| **offset**           | **int**  | 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**            | **int**  | The maximum number of elements to return (use together with offset for pagination).                                                                                                                                                                                                                                                                                                                                                      | \[optional] \[default to 1000] |

#### Return type

[**FlowLogs**](https://docs.ionos.com/sections-test/python-sdk/cloud-api-python-sdk/models/flowlogs)

#### Authorization

Basic Authentication, Token Authentication

#### HTTP request headers

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

## **datacenters\_natgateways\_flowlogs\_patch**

> FlowLog datacenters\_natgateways\_flowlogs\_patch(datacenter\_id, nat\_gateway\_id, flow\_log\_id, nat\_gateway\_flow\_log\_properties, pretty=pretty, depth=depth)

Partially modify NAT Gateway Flow Logs

Update the properties of the specified NAT Gateway Flow Log.

#### Example

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

# Defining the host is optional and defaults to https://api.ionos.com/cloudapi/v6
configuration = ionoscloud.Configuration(
    host = 'https://api.ionos.com/cloudapi/v6',
)

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

with ionoscloud.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = ionoscloud.NATGatewaysApi(api_client)
    datacenter_id = 'datacenter_id_example' # str | The unique ID of the data center.
    nat_gateway_id = 'nat_gateway_id_example' # str | The unique ID of the NAT Gateway.
    flow_log_id = 'flow_log_id_example' # str | The unique ID of the Flow Log.
    nat_gateway_flow_log_properties = ionoscloud.FlowLogProperties() # FlowLogProperties | The properties of the Flow Log to be updated.
    try:
        # Partially modify NAT Gateway Flow Logs
        api_response = api_instance.datacenters_natgateways_flowlogs_patch(datacenter_id, nat_gateway_id, flow_log_id, nat_gateway_flow_log_properties)
        print(api_response)
    except ApiException as e:
        print('Exception when calling NATGatewaysApi.datacenters_natgateways_flowlogs_patch: %s\n' % e)
```

#### Parameters

| Name                                    | Type                                                                                                                   | Description                                                                                                                                                                                                                                                                                                                                                                                                                              | Notes                          |
| --------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
| **datacenter\_id**                      | **str**                                                                                                                | The unique ID of the data center.                                                                                                                                                                                                                                                                                                                                                                                                        |                                |
| **nat\_gateway\_id**                    | **str**                                                                                                                | The unique ID of the NAT Gateway.                                                                                                                                                                                                                                                                                                                                                                                                        |                                |
| **flow\_log\_id**                       | **str**                                                                                                                | The unique ID of the Flow Log.                                                                                                                                                                                                                                                                                                                                                                                                           |                                |
| **nat\_gateway\_flow\_log\_properties** | [**FlowLogProperties**](https://docs.ionos.com/sections-test/python-sdk/cloud-api-python-sdk/models/flowlogproperties) | The properties of the Flow Log to be updated.                                                                                                                                                                                                                                                                                                                                                                                            |                                |
| **pretty**                              | **bool**                                                                                                               | Controls whether the response is pretty-printed (with indentations and new lines).                                                                                                                                                                                                                                                                                                                                                       | \[optional] \[default to True] |
| **depth**                               | **int**                                                                                                                | 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]    |

#### Return type

[**FlowLog**](https://docs.ionos.com/sections-test/python-sdk/cloud-api-python-sdk/models/flowlog)

#### Authorization

Basic Authentication, Token Authentication

#### HTTP request headers

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

## **datacenters\_natgateways\_flowlogs\_post**

> FlowLog datacenters\_natgateways\_flowlogs\_post(datacenter\_id, nat\_gateway\_id, nat\_gateway\_flow\_log, pretty=pretty, depth=depth)

Create a NAT Gateway Flow Log

Adds a new Flow Log to the specified NAT Gateway.

#### Example

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

# Defining the host is optional and defaults to https://api.ionos.com/cloudapi/v6
configuration = ionoscloud.Configuration(
    host = 'https://api.ionos.com/cloudapi/v6',
)

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

with ionoscloud.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = ionoscloud.NATGatewaysApi(api_client)
    datacenter_id = 'datacenter_id_example' # str | The unique ID of the data center.
    nat_gateway_id = 'nat_gateway_id_example' # str | The unique ID of the NAT Gateway.
    nat_gateway_flow_log = ionoscloud.FlowLog() # FlowLog | The Flow Log to create.
    try:
        # Create a NAT Gateway Flow Log
        api_response = api_instance.datacenters_natgateways_flowlogs_post(datacenter_id, nat_gateway_id, nat_gateway_flow_log)
        print(api_response)
    except ApiException as e:
        print('Exception when calling NATGatewaysApi.datacenters_natgateways_flowlogs_post: %s\n' % e)
```

#### Parameters

| Name                        | Type                                                                                               | Description                                                                                                                                                                                                                                                                                                                                                                                                                              | Notes                          |
| --------------------------- | -------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
| **datacenter\_id**          | **str**                                                                                            | The unique ID of the data center.                                                                                                                                                                                                                                                                                                                                                                                                        |                                |
| **nat\_gateway\_id**        | **str**                                                                                            | The unique ID of the NAT Gateway.                                                                                                                                                                                                                                                                                                                                                                                                        |                                |
| **nat\_gateway\_flow\_log** | [**FlowLog**](https://docs.ionos.com/sections-test/python-sdk/cloud-api-python-sdk/models/flowlog) | The Flow Log to create.                                                                                                                                                                                                                                                                                                                                                                                                                  |                                |
| **pretty**                  | **bool**                                                                                           | Controls whether the response is pretty-printed (with indentations and new lines).                                                                                                                                                                                                                                                                                                                                                       | \[optional] \[default to True] |
| **depth**                   | **int**                                                                                            | 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]    |

#### Return type

[**FlowLog**](https://docs.ionos.com/sections-test/python-sdk/cloud-api-python-sdk/models/flowlog)

#### Authorization

Basic Authentication, Token Authentication

#### HTTP request headers

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

## **datacenters\_natgateways\_flowlogs\_put**

> FlowLog datacenters\_natgateways\_flowlogs\_put(datacenter\_id, nat\_gateway\_id, flow\_log\_id, nat\_gateway\_flow\_log, pretty=pretty, depth=depth)

Modify NAT Gateway Flow Logs

Modify the specified NAT Gateway Flow Log.

#### Example

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

# Defining the host is optional and defaults to https://api.ionos.com/cloudapi/v6
configuration = ionoscloud.Configuration(
    host = 'https://api.ionos.com/cloudapi/v6',
)

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

with ionoscloud.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = ionoscloud.NATGatewaysApi(api_client)
    datacenter_id = 'datacenter_id_example' # str | The unique ID of the data center.
    nat_gateway_id = 'nat_gateway_id_example' # str | The unique ID of the NAT Gateway.
    flow_log_id = 'flow_log_id_example' # str | The unique ID of the Flow Log.
    nat_gateway_flow_log = ionoscloud.FlowLogPut() # FlowLogPut | The modified NAT Gateway Flow Log.
    try:
        # Modify NAT Gateway Flow Logs
        api_response = api_instance.datacenters_natgateways_flowlogs_put(datacenter_id, nat_gateway_id, flow_log_id, nat_gateway_flow_log)
        print(api_response)
    except ApiException as e:
        print('Exception when calling NATGatewaysApi.datacenters_natgateways_flowlogs_put: %s\n' % e)
```

#### Parameters

| Name                        | Type                                                                                                     | Description                                                                                                                                                                                                                                                                                                                                                                                                                              | Notes                          |
| --------------------------- | -------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
| **datacenter\_id**          | **str**                                                                                                  | The unique ID of the data center.                                                                                                                                                                                                                                                                                                                                                                                                        |                                |
| **nat\_gateway\_id**        | **str**                                                                                                  | The unique ID of the NAT Gateway.                                                                                                                                                                                                                                                                                                                                                                                                        |                                |
| **flow\_log\_id**           | **str**                                                                                                  | The unique ID of the Flow Log.                                                                                                                                                                                                                                                                                                                                                                                                           |                                |
| **nat\_gateway\_flow\_log** | [**FlowLogPut**](https://docs.ionos.com/sections-test/python-sdk/cloud-api-python-sdk/models/flowlogput) | The modified NAT Gateway Flow Log.                                                                                                                                                                                                                                                                                                                                                                                                       |                                |
| **pretty**                  | **bool**                                                                                                 | Controls whether the response is pretty-printed (with indentations and new lines).                                                                                                                                                                                                                                                                                                                                                       | \[optional] \[default to True] |
| **depth**                   | **int**                                                                                                  | 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]    |

#### Return type

[**FlowLog**](https://docs.ionos.com/sections-test/python-sdk/cloud-api-python-sdk/models/flowlog)

#### Authorization

Basic Authentication, Token Authentication

#### HTTP request headers

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

## **datacenters\_natgateways\_get**

> NatGateways datacenters\_natgateways\_get(datacenter\_id, pretty=pretty, depth=depth, x\_contract\_number=x\_contract\_number)

List NAT Gateways

List all NAT Gateways within the data center.

#### Example

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

# Defining the host is optional and defaults to https://api.ionos.com/cloudapi/v6
configuration = ionoscloud.Configuration(
    host = 'https://api.ionos.com/cloudapi/v6',
)

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

with ionoscloud.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = ionoscloud.NATGatewaysApi(api_client)
    datacenter_id = 'datacenter_id_example' # str | The unique ID of the data center.
    try:
        # List NAT Gateways
        api_response = api_instance.datacenters_natgateways_get(datacenter_id)
        print(api_response)
    except ApiException as e:
        print('Exception when calling NATGatewaysApi.datacenters_natgateways_get: %s\n' % e)
```

#### Parameters

| Name                    | Type     | Description                                                                                                                                                                                                                                                                                                                                                                                                                              | Notes                          |
| ----------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
| **datacenter\_id**      | **str**  | The unique ID of the data center.                                                                                                                                                                                                                                                                                                                                                                                                        |                                |
| **pretty**              | **bool** | Controls whether the response is pretty-printed (with indentations and new lines).                                                                                                                                                                                                                                                                                                                                                       | \[optional] \[default to True] |
| **depth**               | **int**  | 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** | **int**  | Users with multiple contracts must provide the contract number, for which all API requests are to be executed.                                                                                                                                                                                                                                                                                                                           | \[optional]                    |

#### Return type

[**NatGateways**](https://docs.ionos.com/sections-test/python-sdk/cloud-api-python-sdk/models/natgateways)

#### Authorization

Basic Authentication, Token Authentication

#### HTTP request headers

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

## **datacenters\_natgateways\_patch**

> NatGateway datacenters\_natgateways\_patch(datacenter\_id, nat\_gateway\_id, nat\_gateway\_properties, pretty=pretty, depth=depth, x\_contract\_number=x\_contract\_number)

Partially modify NAT Gateways

Update the properties of the specified NAT Gateway within the data center.

#### Example

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

# Defining the host is optional and defaults to https://api.ionos.com/cloudapi/v6
configuration = ionoscloud.Configuration(
    host = 'https://api.ionos.com/cloudapi/v6',
)

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

with ionoscloud.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = ionoscloud.NATGatewaysApi(api_client)
    datacenter_id = 'datacenter_id_example' # str | The unique ID of the data center.
    nat_gateway_id = 'nat_gateway_id_example' # str | The unique ID of the NAT Gateway.
    nat_gateway_properties = ionoscloud.NatGatewayProperties() # NatGatewayProperties | The properties of the NAT Gateway to be updated.
    try:
        # Partially modify NAT Gateways
        api_response = api_instance.datacenters_natgateways_patch(datacenter_id, nat_gateway_id, nat_gateway_properties)
        print(api_response)
    except ApiException as e:
        print('Exception when calling NATGatewaysApi.datacenters_natgateways_patch: %s\n' % e)
```

#### Parameters

| Name                         | Type                                                                                                                         | Description                                                                                                                                                                                                                                                                                                                                                                                                                              | Notes                          |
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
| **datacenter\_id**           | **str**                                                                                                                      | The unique ID of the data center.                                                                                                                                                                                                                                                                                                                                                                                                        |                                |
| **nat\_gateway\_id**         | **str**                                                                                                                      | The unique ID of the NAT Gateway.                                                                                                                                                                                                                                                                                                                                                                                                        |                                |
| **nat\_gateway\_properties** | [**NatGatewayProperties**](https://docs.ionos.com/sections-test/python-sdk/cloud-api-python-sdk/models/natgatewayproperties) | The properties of the NAT Gateway to be updated.                                                                                                                                                                                                                                                                                                                                                                                         |                                |
| **pretty**                   | **bool**                                                                                                                     | Controls whether the response is pretty-printed (with indentations and new lines).                                                                                                                                                                                                                                                                                                                                                       | \[optional] \[default to True] |
| **depth**                    | **int**                                                                                                                      | 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**      | **int**                                                                                                                      | Users with multiple contracts must provide the contract number, for which all API requests are to be executed.                                                                                                                                                                                                                                                                                                                           | \[optional]                    |

#### Return type

[**NatGateway**](https://docs.ionos.com/sections-test/python-sdk/cloud-api-python-sdk/models/natgateway)

#### Authorization

Basic Authentication, Token Authentication

#### HTTP request headers

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

## **datacenters\_natgateways\_post**

> NatGateway datacenters\_natgateways\_post(datacenter\_id, nat\_gateway, pretty=pretty, depth=depth, x\_contract\_number=x\_contract\_number)

Create a NAT Gateway

Creates a NAT Gateway within the data center. This operation is restricted to contract owner, admin, and users with 'createInternetAccess' privileges.

#### Example

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

# Defining the host is optional and defaults to https://api.ionos.com/cloudapi/v6
configuration = ionoscloud.Configuration(
    host = 'https://api.ionos.com/cloudapi/v6',
)

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

with ionoscloud.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = ionoscloud.NATGatewaysApi(api_client)
    datacenter_id = 'datacenter_id_example' # str | The unique ID of the data center.
    nat_gateway = ionoscloud.NatGateway() # NatGateway | The NAT Gateway to create.
    try:
        # Create a NAT Gateway
        api_response = api_instance.datacenters_natgateways_post(datacenter_id, nat_gateway)
        print(api_response)
    except ApiException as e:
        print('Exception when calling NATGatewaysApi.datacenters_natgateways_post: %s\n' % e)
```

#### Parameters

| Name                    | Type                                                                                                     | Description                                                                                                                                                                                                                                                                                                                                                                                                                              | Notes                          |
| ----------------------- | -------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
| **datacenter\_id**      | **str**                                                                                                  | The unique ID of the data center.                                                                                                                                                                                                                                                                                                                                                                                                        |                                |
| **nat\_gateway**        | [**NatGateway**](https://docs.ionos.com/sections-test/python-sdk/cloud-api-python-sdk/models/natgateway) | The NAT Gateway to create.                                                                                                                                                                                                                                                                                                                                                                                                               |                                |
| **pretty**              | **bool**                                                                                                 | Controls whether the response is pretty-printed (with indentations and new lines).                                                                                                                                                                                                                                                                                                                                                       | \[optional] \[default to True] |
| **depth**               | **int**                                                                                                  | 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** | **int**                                                                                                  | Users with multiple contracts must provide the contract number, for which all API requests are to be executed.                                                                                                                                                                                                                                                                                                                           | \[optional]                    |

#### Return type

[**NatGateway**](https://docs.ionos.com/sections-test/python-sdk/cloud-api-python-sdk/models/natgateway)

#### Authorization

Basic Authentication, Token Authentication

#### HTTP request headers

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

## **datacenters\_natgateways\_put**

> NatGateway datacenters\_natgateways\_put(datacenter\_id, nat\_gateway\_id, nat\_gateway, pretty=pretty, depth=depth, x\_contract\_number=x\_contract\_number)

Modify NAT Gateways

Modify the properties of the specified NAT Gateway within the data center.

#### Example

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

# Defining the host is optional and defaults to https://api.ionos.com/cloudapi/v6
configuration = ionoscloud.Configuration(
    host = 'https://api.ionos.com/cloudapi/v6',
)

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

with ionoscloud.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = ionoscloud.NATGatewaysApi(api_client)
    datacenter_id = 'datacenter_id_example' # str | The unique ID of the data center.
    nat_gateway_id = 'nat_gateway_id_example' # str | The unique ID of the NAT Gateway.
    nat_gateway = ionoscloud.NatGatewayPut() # NatGatewayPut | The modified NAT Gateway.
    try:
        # Modify NAT Gateways
        api_response = api_instance.datacenters_natgateways_put(datacenter_id, nat_gateway_id, nat_gateway)
        print(api_response)
    except ApiException as e:
        print('Exception when calling NATGatewaysApi.datacenters_natgateways_put: %s\n' % e)
```

#### Parameters

| Name                    | Type                                                                                                           | Description                                                                                                                                                                                                                                                                                                                                                                                                                              | Notes                          |
| ----------------------- | -------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
| **datacenter\_id**      | **str**                                                                                                        | The unique ID of the data center.                                                                                                                                                                                                                                                                                                                                                                                                        |                                |
| **nat\_gateway\_id**    | **str**                                                                                                        | The unique ID of the NAT Gateway.                                                                                                                                                                                                                                                                                                                                                                                                        |                                |
| **nat\_gateway**        | [**NatGatewayPut**](https://docs.ionos.com/sections-test/python-sdk/cloud-api-python-sdk/models/natgatewayput) | The modified NAT Gateway.                                                                                                                                                                                                                                                                                                                                                                                                                |                                |
| **pretty**              | **bool**                                                                                                       | Controls whether the response is pretty-printed (with indentations and new lines).                                                                                                                                                                                                                                                                                                                                                       | \[optional] \[default to True] |
| **depth**               | **int**                                                                                                        | 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** | **int**                                                                                                        | Users with multiple contracts must provide the contract number, for which all API requests are to be executed.                                                                                                                                                                                                                                                                                                                           | \[optional]                    |

#### Return type

[**NatGateway**](https://docs.ionos.com/sections-test/python-sdk/cloud-api-python-sdk/models/natgateway)

#### Authorization

Basic Authentication, Token Authentication

#### HTTP request headers

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

## **datacenters\_natgateways\_rules\_delete**

> datacenters\_natgateways\_rules\_delete(datacenter\_id, nat\_gateway\_id, nat\_gateway\_rule\_id, pretty=pretty, depth=depth, x\_contract\_number=x\_contract\_number)

Delete NAT Gateway rules

Delete the specified NAT Gateway rule.

#### Example

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

# Defining the host is optional and defaults to https://api.ionos.com/cloudapi/v6
configuration = ionoscloud.Configuration(
    host = 'https://api.ionos.com/cloudapi/v6',
)

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

with ionoscloud.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = ionoscloud.NATGatewaysApi(api_client)
    datacenter_id = 'datacenter_id_example' # str | The unique ID of the data center.
    nat_gateway_id = 'nat_gateway_id_example' # str | The unique ID of the NAT Gateway.
    nat_gateway_rule_id = 'nat_gateway_rule_id_example' # str | The unique ID of the NAT Gateway rule.
    try:
        # Delete NAT Gateway rules
        api_instance.datacenters_natgateways_rules_delete(datacenter_id, nat_gateway_id, nat_gateway_rule_id)
    except ApiException as e:
        print('Exception when calling NATGatewaysApi.datacenters_natgateways_rules_delete: %s\n' % e)
```

#### Parameters

| Name                       | Type     | Description                                                                                                                                                                                                                                                                                                                                                                                                                              | Notes                          |
| -------------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
| **datacenter\_id**         | **str**  | The unique ID of the data center.                                                                                                                                                                                                                                                                                                                                                                                                        |                                |
| **nat\_gateway\_id**       | **str**  | The unique ID of the NAT Gateway.                                                                                                                                                                                                                                                                                                                                                                                                        |                                |
| **nat\_gateway\_rule\_id** | **str**  | The unique ID of the NAT Gateway rule.                                                                                                                                                                                                                                                                                                                                                                                                   |                                |
| **pretty**                 | **bool** | Controls whether the response is pretty-printed (with indentations and new lines).                                                                                                                                                                                                                                                                                                                                                       | \[optional] \[default to True] |
| **depth**                  | **int**  | 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**    | **int**  | Users with multiple contracts must provide the contract number, for which all API requests are to be executed.                                                                                                                                                                                                                                                                                                                           | \[optional]                    |

#### Return type

void (empty response body)

#### Authorization

Basic Authentication, Token Authentication

#### HTTP request headers

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

## **datacenters\_natgateways\_rules\_find\_by\_nat\_gateway\_rule\_id**

> NatGatewayRule datacenters\_natgateways\_rules\_find\_by\_nat\_gateway\_rule\_id(datacenter\_id, nat\_gateway\_id, nat\_gateway\_rule\_id, pretty=pretty, depth=depth, x\_contract\_number=x\_contract\_number)

Retrieve NAT Gateway rules

Retrieve the properties of the specified NAT Gateway rule.

#### Example

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

# Defining the host is optional and defaults to https://api.ionos.com/cloudapi/v6
configuration = ionoscloud.Configuration(
    host = 'https://api.ionos.com/cloudapi/v6',
)

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

with ionoscloud.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = ionoscloud.NATGatewaysApi(api_client)
    datacenter_id = 'datacenter_id_example' # str | The unique ID of the data center.
    nat_gateway_id = 'nat_gateway_id_example' # str | The unique ID of the NAT Gateway.
    nat_gateway_rule_id = 'nat_gateway_rule_id_example' # str | The unique ID of the NAT Gateway rule.
    try:
        # Retrieve NAT Gateway rules
        api_response = api_instance.datacenters_natgateways_rules_find_by_nat_gateway_rule_id(datacenter_id, nat_gateway_id, nat_gateway_rule_id)
        print(api_response)
    except ApiException as e:
        print('Exception when calling NATGatewaysApi.datacenters_natgateways_rules_find_by_nat_gateway_rule_id: %s\n' % e)
```

#### Parameters

| Name                       | Type     | Description                                                                                                                                                                                                                                                                                                                                                                                                                              | Notes                          |
| -------------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
| **datacenter\_id**         | **str**  | The unique ID of the data center.                                                                                                                                                                                                                                                                                                                                                                                                        |                                |
| **nat\_gateway\_id**       | **str**  | The unique ID of the NAT Gateway.                                                                                                                                                                                                                                                                                                                                                                                                        |                                |
| **nat\_gateway\_rule\_id** | **str**  | The unique ID of the NAT Gateway rule.                                                                                                                                                                                                                                                                                                                                                                                                   |                                |
| **pretty**                 | **bool** | Controls whether the response is pretty-printed (with indentations and new lines).                                                                                                                                                                                                                                                                                                                                                       | \[optional] \[default to True] |
| **depth**                  | **int**  | 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**    | **int**  | Users with multiple contracts must provide the contract number, for which all API requests are to be executed.                                                                                                                                                                                                                                                                                                                           | \[optional]                    |

#### Return type

[**NatGatewayRule**](https://docs.ionos.com/sections-test/python-sdk/cloud-api-python-sdk/models/natgatewayrule)

#### Authorization

Basic Authentication, Token Authentication

#### HTTP request headers

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

## **datacenters\_natgateways\_rules\_get**

> NatGatewayRules datacenters\_natgateways\_rules\_get(datacenter\_id, nat\_gateway\_id, pretty=pretty, depth=depth, x\_contract\_number=x\_contract\_number)

List NAT Gateway rules

List all rules for the specified NAT Gateway.

#### Example

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

# Defining the host is optional and defaults to https://api.ionos.com/cloudapi/v6
configuration = ionoscloud.Configuration(
    host = 'https://api.ionos.com/cloudapi/v6',
)

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

with ionoscloud.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = ionoscloud.NATGatewaysApi(api_client)
    datacenter_id = 'datacenter_id_example' # str | The unique ID of the data center.
    nat_gateway_id = 'nat_gateway_id_example' # str | The unique ID of the NAT Gateway.
    try:
        # List NAT Gateway rules
        api_response = api_instance.datacenters_natgateways_rules_get(datacenter_id, nat_gateway_id)
        print(api_response)
    except ApiException as e:
        print('Exception when calling NATGatewaysApi.datacenters_natgateways_rules_get: %s\n' % e)
```

#### Parameters

| Name                    | Type     | Description                                                                                                                                                                                                                                                                                                                                                                                                                              | Notes                          |
| ----------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
| **datacenter\_id**      | **str**  | The unique ID of the data center.                                                                                                                                                                                                                                                                                                                                                                                                        |                                |
| **nat\_gateway\_id**    | **str**  | The unique ID of the NAT Gateway.                                                                                                                                                                                                                                                                                                                                                                                                        |                                |
| **pretty**              | **bool** | Controls whether the response is pretty-printed (with indentations and new lines).                                                                                                                                                                                                                                                                                                                                                       | \[optional] \[default to True] |
| **depth**               | **int**  | 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** | **int**  | Users with multiple contracts must provide the contract number, for which all API requests are to be executed.                                                                                                                                                                                                                                                                                                                           | \[optional]                    |

#### Return type

[**NatGatewayRules**](https://docs.ionos.com/sections-test/python-sdk/cloud-api-python-sdk/models/natgatewayrules)

#### Authorization

Basic Authentication, Token Authentication

#### HTTP request headers

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

## **datacenters\_natgateways\_rules\_patch**

> NatGatewayRule datacenters\_natgateways\_rules\_patch(datacenter\_id, nat\_gateway\_id, nat\_gateway\_rule\_id, nat\_gateway\_rule\_properties, pretty=pretty, depth=depth, x\_contract\_number=x\_contract\_number)

Partially Modify a NAT Gateway Rule by ID

Updates the properties of the specified NAT Gateway rule.

#### Example

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

# Defining the host is optional and defaults to https://api.ionos.com/cloudapi/v6
configuration = ionoscloud.Configuration(
    host = 'https://api.ionos.com/cloudapi/v6',
)

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

with ionoscloud.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = ionoscloud.NATGatewaysApi(api_client)
    datacenter_id = 'datacenter_id_example' # str | The unique ID of the data center.
    nat_gateway_id = 'nat_gateway_id_example' # str | The unique ID of the NAT Gateway.
    nat_gateway_rule_id = 'nat_gateway_rule_id_example' # str | The unique ID of the NAT Gateway rule.
    nat_gateway_rule_properties = ionoscloud.NatGatewayRuleProperties() # NatGatewayRuleProperties | The properties of the NAT Gateway rule to be updated.
    try:
        # Partially Modify a NAT Gateway Rule by ID
        api_response = api_instance.datacenters_natgateways_rules_patch(datacenter_id, nat_gateway_id, nat_gateway_rule_id, nat_gateway_rule_properties)
        print(api_response)
    except ApiException as e:
        print('Exception when calling NATGatewaysApi.datacenters_natgateways_rules_patch: %s\n' % e)
```

#### Parameters

| Name                               | Type                                                                                                                                 | Description                                                                                                                                                                                                                                                                                                                                                                                                                              | Notes                          |
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
| **datacenter\_id**                 | **str**                                                                                                                              | The unique ID of the data center.                                                                                                                                                                                                                                                                                                                                                                                                        |                                |
| **nat\_gateway\_id**               | **str**                                                                                                                              | The unique ID of the NAT Gateway.                                                                                                                                                                                                                                                                                                                                                                                                        |                                |
| **nat\_gateway\_rule\_id**         | **str**                                                                                                                              | The unique ID of the NAT Gateway rule.                                                                                                                                                                                                                                                                                                                                                                                                   |                                |
| **nat\_gateway\_rule\_properties** | [**NatGatewayRuleProperties**](https://docs.ionos.com/sections-test/python-sdk/cloud-api-python-sdk/models/natgatewayruleproperties) | The properties of the NAT Gateway rule to be updated.                                                                                                                                                                                                                                                                                                                                                                                    |                                |
| **pretty**                         | **bool**                                                                                                                             | Controls whether the response is pretty-printed (with indentations and new lines).                                                                                                                                                                                                                                                                                                                                                       | \[optional] \[default to True] |
| **depth**                          | **int**                                                                                                                              | 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**            | **int**                                                                                                                              | Users with multiple contracts must provide the contract number, for which all API requests are to be executed.                                                                                                                                                                                                                                                                                                                           | \[optional]                    |

#### Return type

[**NatGatewayRule**](https://docs.ionos.com/sections-test/python-sdk/cloud-api-python-sdk/models/natgatewayrule)

#### Authorization

Basic Authentication, Token Authentication

#### HTTP request headers

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

## **datacenters\_natgateways\_rules\_post**

> NatGatewayRule datacenters\_natgateways\_rules\_post(datacenter\_id, nat\_gateway\_id, nat\_gateway\_rule, pretty=pretty, depth=depth, x\_contract\_number=x\_contract\_number)

Create a NAT Gateway Rule

Creates a rule for the specified NAT Gateway.

#### Example

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

# Defining the host is optional and defaults to https://api.ionos.com/cloudapi/v6
configuration = ionoscloud.Configuration(
    host = 'https://api.ionos.com/cloudapi/v6',
)

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

with ionoscloud.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = ionoscloud.NATGatewaysApi(api_client)
    datacenter_id = 'datacenter_id_example' # str | The unique ID of the data center.
    nat_gateway_id = 'nat_gateway_id_example' # str | The unique ID of the NAT Gateway.
    nat_gateway_rule = ionoscloud.NatGatewayRule() # NatGatewayRule | The NAT Gateway rule to create.
    try:
        # Create a NAT Gateway Rule
        api_response = api_instance.datacenters_natgateways_rules_post(datacenter_id, nat_gateway_id, nat_gateway_rule)
        print(api_response)
    except ApiException as e:
        print('Exception when calling NATGatewaysApi.datacenters_natgateways_rules_post: %s\n' % e)
```

#### Parameters

| Name                    | Type                                                                                                             | Description                                                                                                                                                                                                                                                                                                                                                                                                                              | Notes                          |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
| **datacenter\_id**      | **str**                                                                                                          | The unique ID of the data center.                                                                                                                                                                                                                                                                                                                                                                                                        |                                |
| **nat\_gateway\_id**    | **str**                                                                                                          | The unique ID of the NAT Gateway.                                                                                                                                                                                                                                                                                                                                                                                                        |                                |
| **nat\_gateway\_rule**  | [**NatGatewayRule**](https://docs.ionos.com/sections-test/python-sdk/cloud-api-python-sdk/models/natgatewayrule) | The NAT Gateway rule to create.                                                                                                                                                                                                                                                                                                                                                                                                          |                                |
| **pretty**              | **bool**                                                                                                         | Controls whether the response is pretty-printed (with indentations and new lines).                                                                                                                                                                                                                                                                                                                                                       | \[optional] \[default to True] |
| **depth**               | **int**                                                                                                          | 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** | **int**                                                                                                          | Users with multiple contracts must provide the contract number, for which all API requests are to be executed.                                                                                                                                                                                                                                                                                                                           | \[optional]                    |

#### Return type

[**NatGatewayRule**](https://docs.ionos.com/sections-test/python-sdk/cloud-api-python-sdk/models/natgatewayrule)

#### Authorization

Basic Authentication, Token Authentication

#### HTTP request headers

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

## **datacenters\_natgateways\_rules\_put**

> NatGatewayRule datacenters\_natgateways\_rules\_put(datacenter\_id, nat\_gateway\_id, nat\_gateway\_rule\_id, nat\_gateway\_rule, pretty=pretty, depth=depth, x\_contract\_number=x\_contract\_number)

Modify a NAT Gateway Rule by ID

Modify the specified NAT Gateway rule.

#### Example

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

# Defining the host is optional and defaults to https://api.ionos.com/cloudapi/v6
configuration = ionoscloud.Configuration(
    host = 'https://api.ionos.com/cloudapi/v6',
)

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

with ionoscloud.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = ionoscloud.NATGatewaysApi(api_client)
    datacenter_id = 'datacenter_id_example' # str | The unique ID of the data center.
    nat_gateway_id = 'nat_gateway_id_example' # str | The unique ID of the NAT Gateway.
    nat_gateway_rule_id = 'nat_gateway_rule_id_example' # str | The unique ID of the NAT Gateway rule.
    nat_gateway_rule = ionoscloud.NatGatewayRulePut() # NatGatewayRulePut | The modified NAT Gateway rule.
    try:
        # Modify a NAT Gateway Rule by ID
        api_response = api_instance.datacenters_natgateways_rules_put(datacenter_id, nat_gateway_id, nat_gateway_rule_id, nat_gateway_rule)
        print(api_response)
    except ApiException as e:
        print('Exception when calling NATGatewaysApi.datacenters_natgateways_rules_put: %s\n' % e)
```

#### Parameters

| Name                       | Type                                                                                                                   | Description                                                                                                                                                                                                                                                                                                                                                                                                                              | Notes                          |
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
| **datacenter\_id**         | **str**                                                                                                                | The unique ID of the data center.                                                                                                                                                                                                                                                                                                                                                                                                        |                                |
| **nat\_gateway\_id**       | **str**                                                                                                                | The unique ID of the NAT Gateway.                                                                                                                                                                                                                                                                                                                                                                                                        |                                |
| **nat\_gateway\_rule\_id** | **str**                                                                                                                | The unique ID of the NAT Gateway rule.                                                                                                                                                                                                                                                                                                                                                                                                   |                                |
| **nat\_gateway\_rule**     | [**NatGatewayRulePut**](https://docs.ionos.com/sections-test/python-sdk/cloud-api-python-sdk/models/natgatewayruleput) | The modified NAT Gateway rule.                                                                                                                                                                                                                                                                                                                                                                                                           |                                |
| **pretty**                 | **bool**                                                                                                               | Controls whether the response is pretty-printed (with indentations and new lines).                                                                                                                                                                                                                                                                                                                                                       | \[optional] \[default to True] |
| **depth**                  | **int**                                                                                                                | 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**    | **int**                                                                                                                | Users with multiple contracts must provide the contract number, for which all API requests are to be executed.                                                                                                                                                                                                                                                                                                                           | \[optional]                    |

#### Return type

[**NatGatewayRule**](https://docs.ionos.com/sections-test/python-sdk/cloud-api-python-sdk/models/natgatewayrule)

#### Authorization

Basic Authentication, Token Authentication

#### HTTP request headers

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