DNS Provider

The DNS provider supports resources that perform DNS updates (RFC 2136) and data sources for reading DNS information. The provider can be configured with secret key based transaction authentication (RFC 2845) or GSS-TSIG (RFC 3645).

Use the navigation to the left to read about the available resources and data sources.

Example Usage

Using secret key based transaction authentication (RFC 2845):

// DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug
import { Construct } from "constructs";
import { TerraformStack } from "cdktf";
/*
 * Provider bindings are generated by running `cdktf get`.
 * See https://cdk.tf/provider-generation for more details.
 */
import { ARecordSet } from "./.gen/providers/dns/a-record-set";
import { DnsProvider } from "./.gen/providers/dns/provider";
interface MyConfig {
  addresses: any;
  zone: any;
}
class MyConvertedCode extends TerraformStack {
  constructor(scope: Construct, name: string, config: MyConfig) {
    super(scope, name);
    new DnsProvider(this, "dns", {
      update: [
        {
          keyAlgorithm: "hmac-md5",
          keyName: "example.com.",
          keySecret: "3VwZXJzZWNyZXQ=",
          server: "192.168.0.1",
        },
      ],
    });
    new ARecordSet(this, "www", {
      addresses: config.addresses,
      zone: config.zone,
    });
  }
}

Using GSS-TSIG (RFC 3645):

// DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug
import { Construct } from "constructs";
import { TerraformStack } from "cdktf";
/*
 * Provider bindings are generated by running `cdktf get`.
 * See https://cdk.tf/provider-generation for more details.
 */
import { ARecordSet } from "./.gen/providers/dns/a-record-set";
import { DnsProvider } from "./.gen/providers/dns/provider";
interface MyConfig {
  addresses: any;
  zone: any;
}
class MyConvertedCode extends TerraformStack {
  constructor(scope: Construct, name: string, config: MyConfig) {
    super(scope, name);
    new DnsProvider(this, "dns", {
      update: [
        {
          gssapi: [
            {
              keytab: "/path/to/keytab",
              realm: "EXAMPLE.COM",
              username: "user",
            },
          ],
          server: "ns.example.com",
        },
      ],
    });
    new ARecordSet(this, "www", {
      addresses: config.addresses,
      zone: config.zone,
    });
  }
}

Schema

Optional

Nested Schema for update

Optional:

Nested Schema for update.gssapi

Optional: