# IP Address (IPAddressGenerator)

The [IP Address](https://docs.tonic.ai/app/generation/generators/generator-reference/ip-address) generator generates a random string that is formatted as an IP address.

## Link object structure <a href="#generator-api-ip-address-link-object" id="generator-api-ip-address-link-object"></a>

The IP Address generator does not support linking. It can be self-consistent or consistent with another column. You cannot configure differential privacy.

The `metadata` object is populated from the [`RatioMetadata`](https://app.tonic.ai/apidocs/index.html#/models/RatioMetadata) object. The `ratio` field specifies, as a decimal value, the percentage of values to format as IPV4. The remaining values are formatted as IPV6.

```json
{
  "schema": "string",
  "table": "string",
  "column": "string",
  "path": "string",  //JSON fields only
  "dataType": "string",  //MongoDB, Amazon DynamoDB, and JSON fields only
  "metadata": {
    "presetId": "string",
    "generatorId": "IPAddressGenerator",
    "ratio": numeric,
    "isConsistent": boolean,
    "consistencyColumn": "string",
    "encryptionProcessor": "x-on", //To use configured Structural data encryption
    "customValueProcessor": "string"  //If custom value processor applied
  }
}
```

## Example replacement <a href="#generator-api-ip-address-replacement" id="generator-api-ip-address-replacement"></a>

In the following example replacement for the IP Address generator, 90% of the generated addresses are IPV4. Consistency is disabled.

```json
{
  "name": "ip",
  "table": "servers",
  "schema": "public",
  "links": [
    {
      "schema": "public",
      "table": "servers",
      "column": "ip",
      "metadata": {
        "presetId": "IPAddressGenerator",
        "generatorId": "IPAddressGenerator",
        "ratio": 0.9,
        "isConsistent": false
      }
    }
  ]
}
```
