---
title: "DTC Topology"
canonical: "https://docs.infoblox.com/space/niosmodulesansible/433226004/DTC%20Topology"
format: markdown
---
Use the `nios_dtc_topology` module to create, update, or remove instances of the DTC topology object from Infoblox NIOS topologies. A topology is a list of ordered topology rules. Topology rules map client IP addresses to pools or resources.

The following table describes the parameters you can define in the `nios_dtc_topology` module:

| **Parameter** | **Required/Optional** | **Description** |
| --- | --- | --- |
| `name` | Required | Specifies the name of the DTC topology that is displayed. |
| `rules` | Optional | Defines the rules for topology.  
This is a dictionary object, where you can define the following subparameters:<br>- `dest_type` (required): Specifies the type of the destination for this DTC Topology Rule. You can chose the destination to be `POOL` or `SERVER`.
- `destination_link`: Specifies the name of the destination DTC pool or DTC server.
- `return_type`: Specifies the type of the DNS response for the rule.  
The default value is `REGULAR`.
- `sources`: Defines the conditions for matching sources. Should be empty to set the rule as default destination.  
This is a dictionary object, where you can define the following subparameters:
  - `source_op`: Specifies the operation used to match the value.
  - `source_type` (required): Specifies the source type.
  - `source_value` (required): Specifies the source value. |
| `extattrs` | Optional | Specifies extensible attributes for the DTC topology object. |
| `state` | Optional | Specifies the state of the DTC topology instance in NIOS.  
Set one of the following values:<br>- `present` (default): Configures the object.
- `absent`: Removes the object. |
| `comment` | Optional | Describes the DTC topology object. |
| `provider` | Required | Defines the details of the connection:<br>- `host`: The DNS host name or IP address to connect to the remote instance of NIOS.
- `username`: The user name to use for authenticating the connection to the remote instance.
- `password`: The Password to use for authenticating the connection to the remote instance.<br>For information on additional fields you can define, see the list of subparameters in the *[NIOS Modules for Ansible Collections](https://infoblox-docs.atlassian.net/wiki/spaces/niosmodulesansible/pages/44525470)* topic. |
| `connection` | Required | Specifies the connection type.  
The `nios_dtc_pool` module must be run locally. |

## Examples

`name: Configure a DTC Topology`  
`infoblox.nios_modules.nios_dtc_topology:`  
`  name: a_topology`  
`  rules:`  
`    - dest_type: POOL`  
`      destination_link: web_pool1`  
`      return_type: REGULAR`  
`      sources:`  
`        - source_op: IS`  
`          source_type: EA0`  
`          source_value: DC1`  
`    - dest_type: POOL`  
`      destination_link: web_pool2`  
`      return_type: REGULAR`  
`      sources:`  
`        - source_op: IS`  
`          source_type: EA0`  
`          source_value: DC2`  
`  state: present`  
`  provider:`  
`    host: <nios_hostname_or_hostip>`  
`    username: <nios_username>`  
`    password: <nios_password>`  
`connection: local`


`name: Add a comment to a DTC topology`  
`infoblox.nios_modules.nios_dtc_topology:`  
`  name: a_topology`  
`  comment: this is a test comment`  
`  state: present`  
`  provider:`  
`    host: <nios_hostname_or_hostip>`  
`    username: <nios_username>`  
`    password: <nios_password>`  
`connection: local`


`name: Remove a DTC Topology from the system`  
`infoblox.nios_modules.nios_dtc_topology:`  
`  name: a_topology`  
`  state: absent`  
`  provider:`  
`    host: <nios_hostname_or_hostip>`  
`    username: <nios_username>`  
`    password: <nios_password>`  
`connection: local`