---
title: "Extensible Attribute Definition"
canonical: "https://docs.infoblox.com/space/niosmodulesansible/915963925/Extensible%20Attribute%20Definition"
format: markdown
---
Use the `nios_extensible_attribute` module to create, update, or remove instances of the extensible attribute definition object from a NIOS Grid.

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

| **Parameter** | **Required/Optional** | **Description** |
| --- | --- | --- |
| `name` | Required | Specifies name of the extensible attribute definition. |
| `type` | Required | Specifies the type for the extensible attribute definition. The object can be one of the following types:<br>- `DATE`
- `EMAIL`
- `ENUM`
- `INTEGER`
- `STRING`
- `URL` |
| `flags` | Optional | Specifies the flags for the extensible attribute definition object instance.  
The possible values you can specify are:<br>- `A` for Audited
- `C` for Cloud API
- `G` for Cloud (G)master
- `I` for Inheritable
- `L` for Listed
- `M` for Mandatory Value
- `P` for MGM Private
- `R` for Read Only
- `S` for Sort Enum Values
- `V` for Multiple Values<br>If you are specifying multiple flags for an object, you must list them according to the order they are listed above.  
For example, to specify the flags as cloud API and read only, use `CR` as Cloud API comes first in the list. |
| `list_values` | Optional | Specifies the list of extensible attribute values.  
This parameter is applicable only when `type` is set to `ENUM`. |
| `default_value` | Optional | Configures the default value that must be prepopulated for an extensible attribute.  
For email, URL, and string types, the value is a string with a maximum of 256 characters in length. |
| `min` | Optional | Specifies the minimum value that can be associated with the extensible attribute.  
This parameter applies only if the `type` parameter is to one of the following:<br>- `STRING`: The value represents the minimum number of characters the string can contain.
- `INTEGER` The value represents the minimum integer value it can contain. |
| `max` | Optional | Specifies the maximum value that can be associated with the extensible attribute.  
This parameter applies only if the `type` parameter is set to one of the following:<br>- `STRING`: The value represents the maximum number of characters the string can contain.
- `INTEGER:` The value represents the maximum integer value it can contain. |
| `state` | Optional | Specifies the state of the extensible attribute instance on the NIOS server.  
Set one of the following values:<br>- `present`: (default): Configures the record.
- `absent`: Removes the record. |
| `comment` | Optional | Describes the extensible attribute 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 | The `nios_extensible_attribute` module must be run locally. |

## Examples

`name: Configure an extensible attribute`  
`infoblox.nios_modules.nios_extensible_attribute:`  
`  name: my_string`  
`  type: STRING`  
`  comment: Created by ansible`  
`  state: present`  
`  provider:`  
`    host: <nios_hostname_or_hostip>`  
`    username: <nios_username>`  
`    password: <nios_password>`  
`connection: local`


`name: Update an extensible attribute to accept multiple values`  
`infoblox.nios_modules.nios_extensible_attribute:`  
`  name: my_string`  
`  type: STRING`  
`  flags: V`  
`  state: present`  
`  provider:`  
`    host: <nios_hostname_or_hostip>`  
`    username: <nios_username>`  
`    password: <nios_password>`  
`connection: local`


`name: Remove an extensible attribute`  
`infoblox.nios_modules.nios_extensible_attribute:`  
`  name: my_string`  
`  type: INTEGER`  
`  state: absent`  
`  provider:`  
`    host: <nios_hostname_or_hostip>`  
`    username: <nios_username>`  
`    password: <nios_password>`  
`connection: local`


`name: Create INT extensible attribute`  
`infoblox.nios_modules.nios_extensible_attribute:`  
`  name: my_int`  
`  type: INTEGER`  
`  comment: Created by ansible`  
`  min: 10`  
`  max: 20`  
`  state: present`  
`  provider:`  
`    host: <nios_hostname_or_hostip>`  
`    username: <nios_username>`  
`    password: <nios_password>`  
`connection: local`


`name: Update an extensible attribute`  
`infoblox.nios_modules.nios_extensible_attribute:`  
`  name: my_int`  
`  type: INTEGER`  
`  comment: Updated by ansible`  
`  state: present`  
`  provider:`  
`    host: <nios_hostname_or_hostip>`  
`    username: <nios_username>`  
`    password: <nios_password>`  
`connection: local`


`name: Create an list extensible attribute`  
`infoblox.nios_modules.nios_extensible_attribute:`  
`  name: my_list`  
`  type: ENUM`  
`  state: present`  
`  list_values:`  
`    - one`  
`    - two`  
`    - three`  
`  provider:`  
`    host: <nios_hostname_or_hostip>`  
`    username: <nios_username>`  
`    password: <nios_password>`  
`connection: local`