1. Packages
  2. Gcore Provider
  3. API Docs
  4. DnsZoneRecord
gcore 0.22.0 published on Wednesday, Apr 30, 2025 by g-core

gcore.DnsZoneRecord

Explore with Pulumi AI

gcore logo
gcore 0.22.0 published on Wednesday, Apr 30, 2025 by g-core

    Represent DNS Zone Record resource. https://dns.gcore.com/zones

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as gcore from "@pulumi/gcore";
    
    const config = new pulumi.Config();
    const exampleDomain0 = config.get("exampleDomain0") || "examplezone.com";
    const examplezone0 = new gcore.DnsZone("examplezone0", {});
    const exampleRrset0 = new gcore.DnsZoneRecord("exampleRrset0", {
        zone: examplezone0.name,
        domain: examplezone0.name,
        type: "A",
        ttl: 120,
        resourceRecords: [
            {
                content: "127.0.0.100",
            },
            {
                content: "127.0.0.200",
            },
        ],
    });
    //
    // example1: managing zone outside of TF
    //
    const subdomainExamplezone = new gcore.DnsZoneRecord("subdomainExamplezone", {
        zone: "examplezone.com",
        domain: "subdomain.examplezone.com",
        type: "TXT",
        ttl: 120,
        filters: [{
            type: "geodistance",
            limit: 1,
            strict: true,
        }],
        resourceRecords: [{
            content: "1234",
            enabled: true,
            meta: {
                latlongs: [
                    52.367,
                    4.9041,
                ],
                asns: [12345],
                ips: ["1.1.1.1"],
                notes: "notes",
                continents: ["asia"],
                countries: ["us"],
                "default": true,
            },
        }],
    });
    const subdomainExamplezoneMx = new gcore.DnsZoneRecord("subdomainExamplezoneMx", {
        zone: "examplezone.com",
        domain: "subdomain.examplezone.com",
        type: "MX",
        ttl: 120,
        resourceRecords: [{
            content: "10 mail.my.com.",
            enabled: true,
        }],
    });
    const subdomainExamplezoneCaa = new gcore.DnsZoneRecord("subdomainExamplezoneCaa", {
        zone: "examplezone.com",
        domain: "subdomain.examplezone.com",
        type: "CAA",
        ttl: 120,
        resourceRecords: [{
            content: "0 issue \"company.org; account=12345\"",
            enabled: true,
        }],
    });
    const sobdomainExamplezoneHttps = new gcore.DnsZoneRecord("sobdomainExamplezoneHttps", {
        zone: "examplezone.com",
        domain: "subdomain.examplezone.com",
        type: "HTTPS",
        resourceRecords: [{
            content: "1 . alpn=\"h3,h2\" port=1443 ipv4hint=10.0.0.1 ech=AEn+DQBFKwAgACABWIHUGj4u+PIggYXcR5JF0gYk3dCRioBW8uJq9H4mKAAIAAEAAQABAANAEnB1YmxpYy50bHMtZWNoLmRldgAA",
        }],
    });
    //
    // example2: healthchecks/failover check
    //
    const examplezoneFailover = new gcore.DnsZoneRecord("examplezoneFailover", {
        zone: "examplezone.com",
        domain: "failover.examplezone.com",
        type: "A",
        ttl: 120,
        filters: [{
            type: "is_healthy",
            limit: 0,
            strict: true,
        }],
        resourceRecords: [{
            content: "127.0.0.1",
            enabled: true,
        }],
        metas: [{
            healthchecks: [{
                frequency: 300,
                host: "failover.examplezone.com",
                httpStatusCode: 200,
                method: "GET",
                port: 80,
                protocol: "HTTP",
                regexp: "",
                timeout: 10,
                tls: false,
                url: "/",
            }],
        }],
    });
    
    import pulumi
    import pulumi_gcore as gcore
    
    config = pulumi.Config()
    example_domain0 = config.get("exampleDomain0")
    if example_domain0 is None:
        example_domain0 = "examplezone.com"
    examplezone0 = gcore.DnsZone("examplezone0")
    example_rrset0 = gcore.DnsZoneRecord("exampleRrset0",
        zone=examplezone0.name,
        domain=examplezone0.name,
        type="A",
        ttl=120,
        resource_records=[
            {
                "content": "127.0.0.100",
            },
            {
                "content": "127.0.0.200",
            },
        ])
    #
    # example1: managing zone outside of TF
    #
    subdomain_examplezone = gcore.DnsZoneRecord("subdomainExamplezone",
        zone="examplezone.com",
        domain="subdomain.examplezone.com",
        type="TXT",
        ttl=120,
        filters=[{
            "type": "geodistance",
            "limit": 1,
            "strict": True,
        }],
        resource_records=[{
            "content": "1234",
            "enabled": True,
            "meta": {
                "latlongs": [
                    52.367,
                    4.9041,
                ],
                "asns": [12345],
                "ips": ["1.1.1.1"],
                "notes": "notes",
                "continents": ["asia"],
                "countries": ["us"],
                "default": True,
            },
        }])
    subdomain_examplezone_mx = gcore.DnsZoneRecord("subdomainExamplezoneMx",
        zone="examplezone.com",
        domain="subdomain.examplezone.com",
        type="MX",
        ttl=120,
        resource_records=[{
            "content": "10 mail.my.com.",
            "enabled": True,
        }])
    subdomain_examplezone_caa = gcore.DnsZoneRecord("subdomainExamplezoneCaa",
        zone="examplezone.com",
        domain="subdomain.examplezone.com",
        type="CAA",
        ttl=120,
        resource_records=[{
            "content": "0 issue \"company.org; account=12345\"",
            "enabled": True,
        }])
    sobdomain_examplezone_https = gcore.DnsZoneRecord("sobdomainExamplezoneHttps",
        zone="examplezone.com",
        domain="subdomain.examplezone.com",
        type="HTTPS",
        resource_records=[{
            "content": "1 . alpn=\"h3,h2\" port=1443 ipv4hint=10.0.0.1 ech=AEn+DQBFKwAgACABWIHUGj4u+PIggYXcR5JF0gYk3dCRioBW8uJq9H4mKAAIAAEAAQABAANAEnB1YmxpYy50bHMtZWNoLmRldgAA",
        }])
    #
    # example2: healthchecks/failover check
    #
    examplezone_failover = gcore.DnsZoneRecord("examplezoneFailover",
        zone="examplezone.com",
        domain="failover.examplezone.com",
        type="A",
        ttl=120,
        filters=[{
            "type": "is_healthy",
            "limit": 0,
            "strict": True,
        }],
        resource_records=[{
            "content": "127.0.0.1",
            "enabled": True,
        }],
        metas=[{
            "healthchecks": [{
                "frequency": 300,
                "host": "failover.examplezone.com",
                "http_status_code": 200,
                "method": "GET",
                "port": 80,
                "protocol": "HTTP",
                "regexp": "",
                "timeout": 10,
                "tls": False,
                "url": "/",
            }],
        }])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/gcore"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		cfg := config.New(ctx, "")
    		exampleDomain0 := "examplezone.com"
    		if param := cfg.Get("exampleDomain0"); param != "" {
    			exampleDomain0 = param
    		}
    		examplezone0, err := gcore.NewDnsZone(ctx, "examplezone0", nil)
    		if err != nil {
    			return err
    		}
    		_, err = gcore.NewDnsZoneRecord(ctx, "exampleRrset0", &gcore.DnsZoneRecordArgs{
    			Zone:   examplezone0.Name,
    			Domain: examplezone0.Name,
    			Type:   pulumi.String("A"),
    			Ttl:    pulumi.Float64(120),
    			ResourceRecords: gcore.DnsZoneRecordResourceRecordArray{
    				&gcore.DnsZoneRecordResourceRecordArgs{
    					Content: pulumi.String("127.0.0.100"),
    				},
    				&gcore.DnsZoneRecordResourceRecordArgs{
    					Content: pulumi.String("127.0.0.200"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		// example1: managing zone outside of TF
    		_, err = gcore.NewDnsZoneRecord(ctx, "subdomainExamplezone", &gcore.DnsZoneRecordArgs{
    			Zone:   pulumi.String("examplezone.com"),
    			Domain: pulumi.String("subdomain.examplezone.com"),
    			Type:   pulumi.String("TXT"),
    			Ttl:    pulumi.Float64(120),
    			Filters: gcore.DnsZoneRecordFilterArray{
    				&gcore.DnsZoneRecordFilterArgs{
    					Type:   pulumi.String("geodistance"),
    					Limit:  pulumi.Float64(1),
    					Strict: pulumi.Bool(true),
    				},
    			},
    			ResourceRecords: gcore.DnsZoneRecordResourceRecordArray{
    				&gcore.DnsZoneRecordResourceRecordArgs{
    					Content: pulumi.String("1234"),
    					Enabled: pulumi.Bool(true),
    					Meta: &gcore.DnsZoneRecordResourceRecordMetaArgs{
    						Latlongs: pulumi.Float64Array{
    							pulumi.Float64(52.367),
    							pulumi.Float64(4.9041),
    						},
    						Asns: pulumi.Float64Array{
    							pulumi.Float64(12345),
    						},
    						Ips: pulumi.StringArray{
    							pulumi.String("1.1.1.1"),
    						},
    						Notes: pulumi.String("notes"),
    						Continents: pulumi.StringArray{
    							pulumi.String("asia"),
    						},
    						Countries: pulumi.StringArray{
    							pulumi.String("us"),
    						},
    						Default: pulumi.Bool(true),
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = gcore.NewDnsZoneRecord(ctx, "subdomainExamplezoneMx", &gcore.DnsZoneRecordArgs{
    			Zone:   pulumi.String("examplezone.com"),
    			Domain: pulumi.String("subdomain.examplezone.com"),
    			Type:   pulumi.String("MX"),
    			Ttl:    pulumi.Float64(120),
    			ResourceRecords: gcore.DnsZoneRecordResourceRecordArray{
    				&gcore.DnsZoneRecordResourceRecordArgs{
    					Content: pulumi.String("10 mail.my.com."),
    					Enabled: pulumi.Bool(true),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = gcore.NewDnsZoneRecord(ctx, "subdomainExamplezoneCaa", &gcore.DnsZoneRecordArgs{
    			Zone:   pulumi.String("examplezone.com"),
    			Domain: pulumi.String("subdomain.examplezone.com"),
    			Type:   pulumi.String("CAA"),
    			Ttl:    pulumi.Float64(120),
    			ResourceRecords: gcore.DnsZoneRecordResourceRecordArray{
    				&gcore.DnsZoneRecordResourceRecordArgs{
    					Content: pulumi.String("0 issue \"company.org; account=12345\""),
    					Enabled: pulumi.Bool(true),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = gcore.NewDnsZoneRecord(ctx, "sobdomainExamplezoneHttps", &gcore.DnsZoneRecordArgs{
    			Zone:   pulumi.String("examplezone.com"),
    			Domain: pulumi.String("subdomain.examplezone.com"),
    			Type:   pulumi.String("HTTPS"),
    			ResourceRecords: gcore.DnsZoneRecordResourceRecordArray{
    				&gcore.DnsZoneRecordResourceRecordArgs{
    					Content: pulumi.String("1 . alpn=\"h3,h2\" port=1443 ipv4hint=10.0.0.1 ech=AEn+DQBFKwAgACABWIHUGj4u+PIggYXcR5JF0gYk3dCRioBW8uJq9H4mKAAIAAEAAQABAANAEnB1YmxpYy50bHMtZWNoLmRldgAA"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		// example2: healthchecks/failover check
    		_, err = gcore.NewDnsZoneRecord(ctx, "examplezoneFailover", &gcore.DnsZoneRecordArgs{
    			Zone:   pulumi.String("examplezone.com"),
    			Domain: pulumi.String("failover.examplezone.com"),
    			Type:   pulumi.String("A"),
    			Ttl:    pulumi.Float64(120),
    			Filters: gcore.DnsZoneRecordFilterArray{
    				&gcore.DnsZoneRecordFilterArgs{
    					Type:   pulumi.String("is_healthy"),
    					Limit:  pulumi.Float64(0),
    					Strict: pulumi.Bool(true),
    				},
    			},
    			ResourceRecords: gcore.DnsZoneRecordResourceRecordArray{
    				&gcore.DnsZoneRecordResourceRecordArgs{
    					Content: pulumi.String("127.0.0.1"),
    					Enabled: pulumi.Bool(true),
    				},
    			},
    			Metas: gcore.DnsZoneRecordMetaArray{
    				&gcore.DnsZoneRecordMetaArgs{
    					Healthchecks: gcore.DnsZoneRecordMetaHealthcheckArray{
    						&gcore.DnsZoneRecordMetaHealthcheckArgs{
    							Frequency:      pulumi.Float64(300),
    							Host:           pulumi.String("failover.examplezone.com"),
    							HttpStatusCode: pulumi.Float64(200),
    							Method:         pulumi.String("GET"),
    							Port:           pulumi.Float64(80),
    							Protocol:       pulumi.String("HTTP"),
    							Regexp:         pulumi.String(""),
    							Timeout:        pulumi.Float64(10),
    							Tls:            pulumi.Bool(false),
    							Url:            pulumi.String("/"),
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcore = Pulumi.Gcore;
    
    return await Deployment.RunAsync(() => 
    {
        var config = new Config();
        var exampleDomain0 = config.Get("exampleDomain0") ?? "examplezone.com";
        var examplezone0 = new Gcore.DnsZone("examplezone0");
    
        var exampleRrset0 = new Gcore.DnsZoneRecord("exampleRrset0", new()
        {
            Zone = examplezone0.Name,
            Domain = examplezone0.Name,
            Type = "A",
            Ttl = 120,
            ResourceRecords = new[]
            {
                new Gcore.Inputs.DnsZoneRecordResourceRecordArgs
                {
                    Content = "127.0.0.100",
                },
                new Gcore.Inputs.DnsZoneRecordResourceRecordArgs
                {
                    Content = "127.0.0.200",
                },
            },
        });
    
        //
        // example1: managing zone outside of TF
        //
        var subdomainExamplezone = new Gcore.DnsZoneRecord("subdomainExamplezone", new()
        {
            Zone = "examplezone.com",
            Domain = "subdomain.examplezone.com",
            Type = "TXT",
            Ttl = 120,
            Filters = new[]
            {
                new Gcore.Inputs.DnsZoneRecordFilterArgs
                {
                    Type = "geodistance",
                    Limit = 1,
                    Strict = true,
                },
            },
            ResourceRecords = new[]
            {
                new Gcore.Inputs.DnsZoneRecordResourceRecordArgs
                {
                    Content = "1234",
                    Enabled = true,
                    Meta = new Gcore.Inputs.DnsZoneRecordResourceRecordMetaArgs
                    {
                        Latlongs = new[]
                        {
                            52.367,
                            4.9041,
                        },
                        Asns = new[]
                        {
                            12345,
                        },
                        Ips = new[]
                        {
                            "1.1.1.1",
                        },
                        Notes = "notes",
                        Continents = new[]
                        {
                            "asia",
                        },
                        Countries = new[]
                        {
                            "us",
                        },
                        Default = true,
                    },
                },
            },
        });
    
        var subdomainExamplezoneMx = new Gcore.DnsZoneRecord("subdomainExamplezoneMx", new()
        {
            Zone = "examplezone.com",
            Domain = "subdomain.examplezone.com",
            Type = "MX",
            Ttl = 120,
            ResourceRecords = new[]
            {
                new Gcore.Inputs.DnsZoneRecordResourceRecordArgs
                {
                    Content = "10 mail.my.com.",
                    Enabled = true,
                },
            },
        });
    
        var subdomainExamplezoneCaa = new Gcore.DnsZoneRecord("subdomainExamplezoneCaa", new()
        {
            Zone = "examplezone.com",
            Domain = "subdomain.examplezone.com",
            Type = "CAA",
            Ttl = 120,
            ResourceRecords = new[]
            {
                new Gcore.Inputs.DnsZoneRecordResourceRecordArgs
                {
                    Content = "0 issue \"company.org; account=12345\"",
                    Enabled = true,
                },
            },
        });
    
        var sobdomainExamplezoneHttps = new Gcore.DnsZoneRecord("sobdomainExamplezoneHttps", new()
        {
            Zone = "examplezone.com",
            Domain = "subdomain.examplezone.com",
            Type = "HTTPS",
            ResourceRecords = new[]
            {
                new Gcore.Inputs.DnsZoneRecordResourceRecordArgs
                {
                    Content = "1 . alpn=\"h3,h2\" port=1443 ipv4hint=10.0.0.1 ech=AEn+DQBFKwAgACABWIHUGj4u+PIggYXcR5JF0gYk3dCRioBW8uJq9H4mKAAIAAEAAQABAANAEnB1YmxpYy50bHMtZWNoLmRldgAA",
                },
            },
        });
    
        //
        // example2: healthchecks/failover check
        //
        var examplezoneFailover = new Gcore.DnsZoneRecord("examplezoneFailover", new()
        {
            Zone = "examplezone.com",
            Domain = "failover.examplezone.com",
            Type = "A",
            Ttl = 120,
            Filters = new[]
            {
                new Gcore.Inputs.DnsZoneRecordFilterArgs
                {
                    Type = "is_healthy",
                    Limit = 0,
                    Strict = true,
                },
            },
            ResourceRecords = new[]
            {
                new Gcore.Inputs.DnsZoneRecordResourceRecordArgs
                {
                    Content = "127.0.0.1",
                    Enabled = true,
                },
            },
            Metas = new[]
            {
                new Gcore.Inputs.DnsZoneRecordMetaArgs
                {
                    Healthchecks = new[]
                    {
                        new Gcore.Inputs.DnsZoneRecordMetaHealthcheckArgs
                        {
                            Frequency = 300,
                            Host = "failover.examplezone.com",
                            HttpStatusCode = 200,
                            Method = "GET",
                            Port = 80,
                            Protocol = "HTTP",
                            Regexp = "",
                            Timeout = 10,
                            Tls = false,
                            Url = "/",
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcore.DnsZone;
    import com.pulumi.gcore.DnsZoneRecord;
    import com.pulumi.gcore.DnsZoneRecordArgs;
    import com.pulumi.gcore.inputs.DnsZoneRecordResourceRecordArgs;
    import com.pulumi.gcore.inputs.DnsZoneRecordFilterArgs;
    import com.pulumi.gcore.inputs.DnsZoneRecordResourceRecordMetaArgs;
    import com.pulumi.gcore.inputs.DnsZoneRecordMetaArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var config = ctx.config();
            final var exampleDomain0 = config.get("exampleDomain0").orElse("examplezone.com");
            var examplezone0 = new DnsZone("examplezone0");
    
            var exampleRrset0 = new DnsZoneRecord("exampleRrset0", DnsZoneRecordArgs.builder()
                .zone(examplezone0.name())
                .domain(examplezone0.name())
                .type("A")
                .ttl(120)
                .resourceRecords(            
                    DnsZoneRecordResourceRecordArgs.builder()
                        .content("127.0.0.100")
                        .build(),
                    DnsZoneRecordResourceRecordArgs.builder()
                        .content("127.0.0.200")
                        .build())
                .build());
    
            //
            // example1: managing zone outside of TF
            //
            var subdomainExamplezone = new DnsZoneRecord("subdomainExamplezone", DnsZoneRecordArgs.builder()
                .zone("examplezone.com")
                .domain("subdomain.examplezone.com")
                .type("TXT")
                .ttl(120)
                .filters(DnsZoneRecordFilterArgs.builder()
                    .type("geodistance")
                    .limit(1)
                    .strict(true)
                    .build())
                .resourceRecords(DnsZoneRecordResourceRecordArgs.builder()
                    .content("1234")
                    .enabled(true)
                    .meta(DnsZoneRecordResourceRecordMetaArgs.builder()
                        .latlongs(                    
                            52.367,
                            4.9041)
                        .asns(12345)
                        .ips("1.1.1.1")
                        .notes("notes")
                        .continents("asia")
                        .countries("us")
                        .default_(true)
                        .build())
                    .build())
                .build());
    
            var subdomainExamplezoneMx = new DnsZoneRecord("subdomainExamplezoneMx", DnsZoneRecordArgs.builder()
                .zone("examplezone.com")
                .domain("subdomain.examplezone.com")
                .type("MX")
                .ttl(120)
                .resourceRecords(DnsZoneRecordResourceRecordArgs.builder()
                    .content("10 mail.my.com.")
                    .enabled(true)
                    .build())
                .build());
    
            var subdomainExamplezoneCaa = new DnsZoneRecord("subdomainExamplezoneCaa", DnsZoneRecordArgs.builder()
                .zone("examplezone.com")
                .domain("subdomain.examplezone.com")
                .type("CAA")
                .ttl(120)
                .resourceRecords(DnsZoneRecordResourceRecordArgs.builder()
                    .content("0 issue \"company.org; account=12345\"")
                    .enabled(true)
                    .build())
                .build());
    
            var sobdomainExamplezoneHttps = new DnsZoneRecord("sobdomainExamplezoneHttps", DnsZoneRecordArgs.builder()
                .zone("examplezone.com")
                .domain("subdomain.examplezone.com")
                .type("HTTPS")
                .resourceRecords(DnsZoneRecordResourceRecordArgs.builder()
                    .content("1 . alpn=\"h3,h2\" port=1443 ipv4hint=10.0.0.1 ech=AEn+DQBFKwAgACABWIHUGj4u+PIggYXcR5JF0gYk3dCRioBW8uJq9H4mKAAIAAEAAQABAANAEnB1YmxpYy50bHMtZWNoLmRldgAA")
                    .build())
                .build());
    
            //
            // example2: healthchecks/failover check
            //
            var examplezoneFailover = new DnsZoneRecord("examplezoneFailover", DnsZoneRecordArgs.builder()
                .zone("examplezone.com")
                .domain("failover.examplezone.com")
                .type("A")
                .ttl(120)
                .filters(DnsZoneRecordFilterArgs.builder()
                    .type("is_healthy")
                    .limit(0)
                    .strict(true)
                    .build())
                .resourceRecords(DnsZoneRecordResourceRecordArgs.builder()
                    .content("127.0.0.1")
                    .enabled(true)
                    .build())
                .metas(DnsZoneRecordMetaArgs.builder()
                    .healthchecks(DnsZoneRecordMetaHealthcheckArgs.builder()
                        .frequency(300)
                        .host("failover.examplezone.com")
                        .httpStatusCode(200)
                        .method("GET")
                        .port(80)
                        .protocol("HTTP")
                        .regexp("")
                        .timeout(10)
                        .tls(false)
                        .url("/")
                        .build())
                    .build())
                .build());
    
        }
    }
    
    configuration:
      # // example0: managing zone and records by TF using variables
      # //
      exampleDomain0:
        type: string
        default: examplezone.com
    resources:
      examplezone0:
        type: gcore:DnsZone
      exampleRrset0:
        type: gcore:DnsZoneRecord
        properties:
          zone: ${examplezone0.name}
          domain: ${examplezone0.name}
          type: A
          ttl: 120
          resourceRecords:
            - content: 127.0.0.100
            - content: 127.0.0.200
      # // example1: managing zone outside of TF
      # //
      subdomainExamplezone:
        type: gcore:DnsZoneRecord
        properties:
          zone: examplezone.com
          domain: subdomain.examplezone.com
          type: TXT
          ttl: 120
          filters:
            - type: geodistance
              limit: 1
              strict: true
          resourceRecords:
            - content: '1234'
              enabled: true
              meta:
                latlongs:
                  - 52.367
                  - 4.9041
                asns:
                  - 12345
                ips:
                  - 1.1.1.1
                notes: notes
                continents:
                  - asia
                countries:
                  - us
                default: true
      subdomainExamplezoneMx:
        type: gcore:DnsZoneRecord
        properties:
          zone: examplezone.com
          domain: subdomain.examplezone.com
          type: MX
          ttl: 120
          resourceRecords:
            - content: 10 mail.my.com.
              enabled: true
      subdomainExamplezoneCaa:
        type: gcore:DnsZoneRecord
        properties:
          zone: examplezone.com
          domain: subdomain.examplezone.com
          type: CAA
          ttl: 120
          resourceRecords:
            - content: 0 issue "company.org; account=12345"
              enabled: true
      sobdomainExamplezoneHttps:
        type: gcore:DnsZoneRecord
        properties:
          zone: examplezone.com
          domain: subdomain.examplezone.com
          type: HTTPS
          # alpn quoted, from output of dig
          resourceRecords:
            - content: 1 . alpn="h3,h2" port=1443 ipv4hint=10.0.0.1 ech=AEn+DQBFKwAgACABWIHUGj4u+PIggYXcR5JF0gYk3dCRioBW8uJq9H4mKAAIAAEAAQABAANAEnB1YmxpYy50bHMtZWNoLmRldgAA
      # // example2: healthchecks/failover check
      # //
      examplezoneFailover:
        type: gcore:DnsZoneRecord
        properties:
          zone: examplezone.com
          domain: failover.examplezone.com
          type: A
          ttl: 120
          filters:
            - type: is_healthy
              limit: 0
              strict: true
          resourceRecords:
            - content: 127.0.0.1
              enabled: true
          # failover/healthchecks is on rrset meta, not resource record meta
          metas:
            - healthchecks:
                - frequency: 300
                  host: failover.examplezone.com
                  httpStatusCode: 200
                  method: GET
                  port: 80
                  protocol: HTTP
                  regexp: ""
                  timeout: 10
                  tls: false
                  url: /
    

    Create DnsZoneRecord Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new DnsZoneRecord(name: string, args: DnsZoneRecordArgs, opts?: CustomResourceOptions);
    @overload
    def DnsZoneRecord(resource_name: str,
                      args: DnsZoneRecordArgs,
                      opts: Optional[ResourceOptions] = None)
    
    @overload
    def DnsZoneRecord(resource_name: str,
                      opts: Optional[ResourceOptions] = None,
                      domain: Optional[str] = None,
                      resource_records: Optional[Sequence[DnsZoneRecordResourceRecordArgs]] = None,
                      type: Optional[str] = None,
                      zone: Optional[str] = None,
                      dns_zone_record_id: Optional[str] = None,
                      filters: Optional[Sequence[DnsZoneRecordFilterArgs]] = None,
                      metas: Optional[Sequence[DnsZoneRecordMetaArgs]] = None,
                      timeouts: Optional[DnsZoneRecordTimeoutsArgs] = None,
                      ttl: Optional[float] = None)
    func NewDnsZoneRecord(ctx *Context, name string, args DnsZoneRecordArgs, opts ...ResourceOption) (*DnsZoneRecord, error)
    public DnsZoneRecord(string name, DnsZoneRecordArgs args, CustomResourceOptions? opts = null)
    public DnsZoneRecord(String name, DnsZoneRecordArgs args)
    public DnsZoneRecord(String name, DnsZoneRecordArgs args, CustomResourceOptions options)
    
    type: gcore:DnsZoneRecord
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args DnsZoneRecordArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args DnsZoneRecordArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args DnsZoneRecordArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args DnsZoneRecordArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args DnsZoneRecordArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var dnsZoneRecordResource = new Gcore.DnsZoneRecord("dnsZoneRecordResource", new()
    {
        Domain = "string",
        ResourceRecords = new[]
        {
            new Gcore.Inputs.DnsZoneRecordResourceRecordArgs
            {
                Content = "string",
                Enabled = false,
                Meta = new Gcore.Inputs.DnsZoneRecordResourceRecordMetaArgs
                {
                    Asns = new[]
                    {
                        0,
                    },
                    Backup = false,
                    Continents = new[]
                    {
                        "string",
                    },
                    Countries = new[]
                    {
                        "string",
                    },
                    Default = false,
                    Failover = 
                    {
                        { "string", "string" },
                    },
                    Fallback = false,
                    Ips = new[]
                    {
                        "string",
                    },
                    Latlongs = new[]
                    {
                        0,
                    },
                    Notes = "string",
                    Weight = 0,
                },
            },
        },
        Type = "string",
        Zone = "string",
        DnsZoneRecordId = "string",
        Filters = new[]
        {
            new Gcore.Inputs.DnsZoneRecordFilterArgs
            {
                Type = "string",
                Limit = 0,
                Strict = false,
            },
        },
        Metas = new[]
        {
            new Gcore.Inputs.DnsZoneRecordMetaArgs
            {
                GeodnsLink = "string",
                Healthchecks = new[]
                {
                    new Gcore.Inputs.DnsZoneRecordMetaHealthcheckArgs
                    {
                        Frequency = 0,
                        Protocol = "string",
                        Timeout = 0,
                        Command = "string",
                        Host = "string",
                        HttpStatusCode = 0,
                        Method = "string",
                        Port = 0,
                        Regexp = "string",
                        Tls = false,
                        Url = "string",
                    },
                },
            },
        },
        Timeouts = new Gcore.Inputs.DnsZoneRecordTimeoutsArgs
        {
            Create = "string",
            Delete = "string",
        },
        Ttl = 0,
    });
    
    example, err := gcore.NewDnsZoneRecord(ctx, "dnsZoneRecordResource", &gcore.DnsZoneRecordArgs{
    	Domain: pulumi.String("string"),
    	ResourceRecords: gcore.DnsZoneRecordResourceRecordArray{
    		&gcore.DnsZoneRecordResourceRecordArgs{
    			Content: pulumi.String("string"),
    			Enabled: pulumi.Bool(false),
    			Meta: &gcore.DnsZoneRecordResourceRecordMetaArgs{
    				Asns: pulumi.Float64Array{
    					pulumi.Float64(0),
    				},
    				Backup: pulumi.Bool(false),
    				Continents: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				Countries: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				Default: pulumi.Bool(false),
    				Failover: pulumi.StringMap{
    					"string": pulumi.String("string"),
    				},
    				Fallback: pulumi.Bool(false),
    				Ips: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				Latlongs: pulumi.Float64Array{
    					pulumi.Float64(0),
    				},
    				Notes:  pulumi.String("string"),
    				Weight: pulumi.Float64(0),
    			},
    		},
    	},
    	Type:            pulumi.String("string"),
    	Zone:            pulumi.String("string"),
    	DnsZoneRecordId: pulumi.String("string"),
    	Filters: gcore.DnsZoneRecordFilterArray{
    		&gcore.DnsZoneRecordFilterArgs{
    			Type:   pulumi.String("string"),
    			Limit:  pulumi.Float64(0),
    			Strict: pulumi.Bool(false),
    		},
    	},
    	Metas: gcore.DnsZoneRecordMetaArray{
    		&gcore.DnsZoneRecordMetaArgs{
    			GeodnsLink: pulumi.String("string"),
    			Healthchecks: gcore.DnsZoneRecordMetaHealthcheckArray{
    				&gcore.DnsZoneRecordMetaHealthcheckArgs{
    					Frequency:      pulumi.Float64(0),
    					Protocol:       pulumi.String("string"),
    					Timeout:        pulumi.Float64(0),
    					Command:        pulumi.String("string"),
    					Host:           pulumi.String("string"),
    					HttpStatusCode: pulumi.Float64(0),
    					Method:         pulumi.String("string"),
    					Port:           pulumi.Float64(0),
    					Regexp:         pulumi.String("string"),
    					Tls:            pulumi.Bool(false),
    					Url:            pulumi.String("string"),
    				},
    			},
    		},
    	},
    	Timeouts: &gcore.DnsZoneRecordTimeoutsArgs{
    		Create: pulumi.String("string"),
    		Delete: pulumi.String("string"),
    	},
    	Ttl: pulumi.Float64(0),
    })
    
    var dnsZoneRecordResource = new DnsZoneRecord("dnsZoneRecordResource", DnsZoneRecordArgs.builder()
        .domain("string")
        .resourceRecords(DnsZoneRecordResourceRecordArgs.builder()
            .content("string")
            .enabled(false)
            .meta(DnsZoneRecordResourceRecordMetaArgs.builder()
                .asns(0)
                .backup(false)
                .continents("string")
                .countries("string")
                .default_(false)
                .failover(Map.of("string", "string"))
                .fallback(false)
                .ips("string")
                .latlongs(0)
                .notes("string")
                .weight(0)
                .build())
            .build())
        .type("string")
        .zone("string")
        .dnsZoneRecordId("string")
        .filters(DnsZoneRecordFilterArgs.builder()
            .type("string")
            .limit(0)
            .strict(false)
            .build())
        .metas(DnsZoneRecordMetaArgs.builder()
            .geodnsLink("string")
            .healthchecks(DnsZoneRecordMetaHealthcheckArgs.builder()
                .frequency(0)
                .protocol("string")
                .timeout(0)
                .command("string")
                .host("string")
                .httpStatusCode(0)
                .method("string")
                .port(0)
                .regexp("string")
                .tls(false)
                .url("string")
                .build())
            .build())
        .timeouts(DnsZoneRecordTimeoutsArgs.builder()
            .create("string")
            .delete("string")
            .build())
        .ttl(0)
        .build());
    
    dns_zone_record_resource = gcore.DnsZoneRecord("dnsZoneRecordResource",
        domain="string",
        resource_records=[{
            "content": "string",
            "enabled": False,
            "meta": {
                "asns": [0],
                "backup": False,
                "continents": ["string"],
                "countries": ["string"],
                "default": False,
                "failover": {
                    "string": "string",
                },
                "fallback": False,
                "ips": ["string"],
                "latlongs": [0],
                "notes": "string",
                "weight": 0,
            },
        }],
        type="string",
        zone="string",
        dns_zone_record_id="string",
        filters=[{
            "type": "string",
            "limit": 0,
            "strict": False,
        }],
        metas=[{
            "geodns_link": "string",
            "healthchecks": [{
                "frequency": 0,
                "protocol": "string",
                "timeout": 0,
                "command": "string",
                "host": "string",
                "http_status_code": 0,
                "method": "string",
                "port": 0,
                "regexp": "string",
                "tls": False,
                "url": "string",
            }],
        }],
        timeouts={
            "create": "string",
            "delete": "string",
        },
        ttl=0)
    
    const dnsZoneRecordResource = new gcore.DnsZoneRecord("dnsZoneRecordResource", {
        domain: "string",
        resourceRecords: [{
            content: "string",
            enabled: false,
            meta: {
                asns: [0],
                backup: false,
                continents: ["string"],
                countries: ["string"],
                "default": false,
                failover: {
                    string: "string",
                },
                fallback: false,
                ips: ["string"],
                latlongs: [0],
                notes: "string",
                weight: 0,
            },
        }],
        type: "string",
        zone: "string",
        dnsZoneRecordId: "string",
        filters: [{
            type: "string",
            limit: 0,
            strict: false,
        }],
        metas: [{
            geodnsLink: "string",
            healthchecks: [{
                frequency: 0,
                protocol: "string",
                timeout: 0,
                command: "string",
                host: "string",
                httpStatusCode: 0,
                method: "string",
                port: 0,
                regexp: "string",
                tls: false,
                url: "string",
            }],
        }],
        timeouts: {
            create: "string",
            "delete": "string",
        },
        ttl: 0,
    });
    
    type: gcore:DnsZoneRecord
    properties:
        dnsZoneRecordId: string
        domain: string
        filters:
            - limit: 0
              strict: false
              type: string
        metas:
            - geodnsLink: string
              healthchecks:
                - command: string
                  frequency: 0
                  host: string
                  httpStatusCode: 0
                  method: string
                  port: 0
                  protocol: string
                  regexp: string
                  timeout: 0
                  tls: false
                  url: string
        resourceRecords:
            - content: string
              enabled: false
              meta:
                asns:
                    - 0
                backup: false
                continents:
                    - string
                countries:
                    - string
                default: false
                failover:
                    string: string
                fallback: false
                ips:
                    - string
                latlongs:
                    - 0
                notes: string
                weight: 0
        timeouts:
            create: string
            delete: string
        ttl: 0
        type: string
        zone: string
    

    DnsZoneRecord Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The DnsZoneRecord resource accepts the following input properties:

    Domain string
    A domain of DNS Zone Record resource.
    ResourceRecords List<DnsZoneRecordResourceRecord>
    An array of contents with meta of DNS Zone Record resource.
    Type string
    A type of DNS Zone Record resource.
    Zone string
    A zone of DNS Zone Record resource.
    DnsZoneRecordId string
    The ID of this resource.
    Filters List<DnsZoneRecordFilter>
    Metas List<DnsZoneRecordMeta>
    Timeouts DnsZoneRecordTimeouts
    Ttl double
    A ttl of DNS Zone Record resource.
    Domain string
    A domain of DNS Zone Record resource.
    ResourceRecords []DnsZoneRecordResourceRecordArgs
    An array of contents with meta of DNS Zone Record resource.
    Type string
    A type of DNS Zone Record resource.
    Zone string
    A zone of DNS Zone Record resource.
    DnsZoneRecordId string
    The ID of this resource.
    Filters []DnsZoneRecordFilterArgs
    Metas []DnsZoneRecordMetaArgs
    Timeouts DnsZoneRecordTimeoutsArgs
    Ttl float64
    A ttl of DNS Zone Record resource.
    domain String
    A domain of DNS Zone Record resource.
    resourceRecords List<DnsZoneRecordResourceRecord>
    An array of contents with meta of DNS Zone Record resource.
    type String
    A type of DNS Zone Record resource.
    zone String
    A zone of DNS Zone Record resource.
    dnsZoneRecordId String
    The ID of this resource.
    filters List<DnsZoneRecordFilter>
    metas List<DnsZoneRecordMeta>
    timeouts DnsZoneRecordTimeouts
    ttl Double
    A ttl of DNS Zone Record resource.
    domain string
    A domain of DNS Zone Record resource.
    resourceRecords DnsZoneRecordResourceRecord[]
    An array of contents with meta of DNS Zone Record resource.
    type string
    A type of DNS Zone Record resource.
    zone string
    A zone of DNS Zone Record resource.
    dnsZoneRecordId string
    The ID of this resource.
    filters DnsZoneRecordFilter[]
    metas DnsZoneRecordMeta[]
    timeouts DnsZoneRecordTimeouts
    ttl number
    A ttl of DNS Zone Record resource.
    domain str
    A domain of DNS Zone Record resource.
    resource_records Sequence[DnsZoneRecordResourceRecordArgs]
    An array of contents with meta of DNS Zone Record resource.
    type str
    A type of DNS Zone Record resource.
    zone str
    A zone of DNS Zone Record resource.
    dns_zone_record_id str
    The ID of this resource.
    filters Sequence[DnsZoneRecordFilterArgs]
    metas Sequence[DnsZoneRecordMetaArgs]
    timeouts DnsZoneRecordTimeoutsArgs
    ttl float
    A ttl of DNS Zone Record resource.
    domain String
    A domain of DNS Zone Record resource.
    resourceRecords List<Property Map>
    An array of contents with meta of DNS Zone Record resource.
    type String
    A type of DNS Zone Record resource.
    zone String
    A zone of DNS Zone Record resource.
    dnsZoneRecordId String
    The ID of this resource.
    filters List<Property Map>
    metas List<Property Map>
    timeouts Property Map
    ttl Number
    A ttl of DNS Zone Record resource.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the DnsZoneRecord resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing DnsZoneRecord Resource

    Get an existing DnsZoneRecord resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: DnsZoneRecordState, opts?: CustomResourceOptions): DnsZoneRecord
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            dns_zone_record_id: Optional[str] = None,
            domain: Optional[str] = None,
            filters: Optional[Sequence[DnsZoneRecordFilterArgs]] = None,
            metas: Optional[Sequence[DnsZoneRecordMetaArgs]] = None,
            resource_records: Optional[Sequence[DnsZoneRecordResourceRecordArgs]] = None,
            timeouts: Optional[DnsZoneRecordTimeoutsArgs] = None,
            ttl: Optional[float] = None,
            type: Optional[str] = None,
            zone: Optional[str] = None) -> DnsZoneRecord
    func GetDnsZoneRecord(ctx *Context, name string, id IDInput, state *DnsZoneRecordState, opts ...ResourceOption) (*DnsZoneRecord, error)
    public static DnsZoneRecord Get(string name, Input<string> id, DnsZoneRecordState? state, CustomResourceOptions? opts = null)
    public static DnsZoneRecord get(String name, Output<String> id, DnsZoneRecordState state, CustomResourceOptions options)
    resources:  _:    type: gcore:DnsZoneRecord    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    DnsZoneRecordId string
    The ID of this resource.
    Domain string
    A domain of DNS Zone Record resource.
    Filters List<DnsZoneRecordFilter>
    Metas List<DnsZoneRecordMeta>
    ResourceRecords List<DnsZoneRecordResourceRecord>
    An array of contents with meta of DNS Zone Record resource.
    Timeouts DnsZoneRecordTimeouts
    Ttl double
    A ttl of DNS Zone Record resource.
    Type string
    A type of DNS Zone Record resource.
    Zone string
    A zone of DNS Zone Record resource.
    DnsZoneRecordId string
    The ID of this resource.
    Domain string
    A domain of DNS Zone Record resource.
    Filters []DnsZoneRecordFilterArgs
    Metas []DnsZoneRecordMetaArgs
    ResourceRecords []DnsZoneRecordResourceRecordArgs
    An array of contents with meta of DNS Zone Record resource.
    Timeouts DnsZoneRecordTimeoutsArgs
    Ttl float64
    A ttl of DNS Zone Record resource.
    Type string
    A type of DNS Zone Record resource.
    Zone string
    A zone of DNS Zone Record resource.
    dnsZoneRecordId String
    The ID of this resource.
    domain String
    A domain of DNS Zone Record resource.
    filters List<DnsZoneRecordFilter>
    metas List<DnsZoneRecordMeta>
    resourceRecords List<DnsZoneRecordResourceRecord>
    An array of contents with meta of DNS Zone Record resource.
    timeouts DnsZoneRecordTimeouts
    ttl Double
    A ttl of DNS Zone Record resource.
    type String
    A type of DNS Zone Record resource.
    zone String
    A zone of DNS Zone Record resource.
    dnsZoneRecordId string
    The ID of this resource.
    domain string
    A domain of DNS Zone Record resource.
    filters DnsZoneRecordFilter[]
    metas DnsZoneRecordMeta[]
    resourceRecords DnsZoneRecordResourceRecord[]
    An array of contents with meta of DNS Zone Record resource.
    timeouts DnsZoneRecordTimeouts
    ttl number
    A ttl of DNS Zone Record resource.
    type string
    A type of DNS Zone Record resource.
    zone string
    A zone of DNS Zone Record resource.
    dns_zone_record_id str
    The ID of this resource.
    domain str
    A domain of DNS Zone Record resource.
    filters Sequence[DnsZoneRecordFilterArgs]
    metas Sequence[DnsZoneRecordMetaArgs]
    resource_records Sequence[DnsZoneRecordResourceRecordArgs]
    An array of contents with meta of DNS Zone Record resource.
    timeouts DnsZoneRecordTimeoutsArgs
    ttl float
    A ttl of DNS Zone Record resource.
    type str
    A type of DNS Zone Record resource.
    zone str
    A zone of DNS Zone Record resource.
    dnsZoneRecordId String
    The ID of this resource.
    domain String
    A domain of DNS Zone Record resource.
    filters List<Property Map>
    metas List<Property Map>
    resourceRecords List<Property Map>
    An array of contents with meta of DNS Zone Record resource.
    timeouts Property Map
    ttl Number
    A ttl of DNS Zone Record resource.
    type String
    A type of DNS Zone Record resource.
    zone String
    A zone of DNS Zone Record resource.

    Supporting Types

    DnsZoneRecordFilter, DnsZoneRecordFilterArgs

    Type string
    A DNS Zone Record filter option that describe a name of filter.
    Limit double
    A DNS Zone Record filter option that describe how many records will be percolated.
    Strict bool
    A DNS Zone Record filter option that describe possibility to return answers if no records were percolated through filter.
    Type string
    A DNS Zone Record filter option that describe a name of filter.
    Limit float64
    A DNS Zone Record filter option that describe how many records will be percolated.
    Strict bool
    A DNS Zone Record filter option that describe possibility to return answers if no records were percolated through filter.
    type String
    A DNS Zone Record filter option that describe a name of filter.
    limit Double
    A DNS Zone Record filter option that describe how many records will be percolated.
    strict Boolean
    A DNS Zone Record filter option that describe possibility to return answers if no records were percolated through filter.
    type string
    A DNS Zone Record filter option that describe a name of filter.
    limit number
    A DNS Zone Record filter option that describe how many records will be percolated.
    strict boolean
    A DNS Zone Record filter option that describe possibility to return answers if no records were percolated through filter.
    type str
    A DNS Zone Record filter option that describe a name of filter.
    limit float
    A DNS Zone Record filter option that describe how many records will be percolated.
    strict bool
    A DNS Zone Record filter option that describe possibility to return answers if no records were percolated through filter.
    type String
    A DNS Zone Record filter option that describe a name of filter.
    limit Number
    A DNS Zone Record filter option that describe how many records will be percolated.
    strict Boolean
    A DNS Zone Record filter option that describe possibility to return answers if no records were percolated through filter.

    DnsZoneRecordMeta, DnsZoneRecordMetaArgs

    GeodnsLink string
    Geodns link (domain, or cl-) of DNS Zone RRSet resource.
    Healthchecks List<DnsZoneRecordMetaHealthcheck>
    Failover meta (eg. {"frequency": 60,"host": "www.gcore.com","httpstatuscode": null,"method": "GET","port": 80,"protocol": "HTTP","regexp": "","timeout": 10,"tls": false,"url": "/"}).
    GeodnsLink string
    Geodns link (domain, or cl-) of DNS Zone RRSet resource.
    Healthchecks []DnsZoneRecordMetaHealthcheck
    Failover meta (eg. {"frequency": 60,"host": "www.gcore.com","httpstatuscode": null,"method": "GET","port": 80,"protocol": "HTTP","regexp": "","timeout": 10,"tls": false,"url": "/"}).
    geodnsLink String
    Geodns link (domain, or cl-) of DNS Zone RRSet resource.
    healthchecks List<DnsZoneRecordMetaHealthcheck>
    Failover meta (eg. {"frequency": 60,"host": "www.gcore.com","httpstatuscode": null,"method": "GET","port": 80,"protocol": "HTTP","regexp": "","timeout": 10,"tls": false,"url": "/"}).
    geodnsLink string
    Geodns link (domain, or cl-) of DNS Zone RRSet resource.
    healthchecks DnsZoneRecordMetaHealthcheck[]
    Failover meta (eg. {"frequency": 60,"host": "www.gcore.com","httpstatuscode": null,"method": "GET","port": 80,"protocol": "HTTP","regexp": "","timeout": 10,"tls": false,"url": "/"}).
    geodns_link str
    Geodns link (domain, or cl-) of DNS Zone RRSet resource.
    healthchecks Sequence[DnsZoneRecordMetaHealthcheck]
    Failover meta (eg. {"frequency": 60,"host": "www.gcore.com","httpstatuscode": null,"method": "GET","port": 80,"protocol": "HTTP","regexp": "","timeout": 10,"tls": false,"url": "/"}).
    geodnsLink String
    Geodns link (domain, or cl-) of DNS Zone RRSet resource.
    healthchecks List<Property Map>
    Failover meta (eg. {"frequency": 60,"host": "www.gcore.com","httpstatuscode": null,"method": "GET","port": 80,"protocol": "HTTP","regexp": "","timeout": 10,"tls": false,"url": "/"}).

    DnsZoneRecordMetaHealthcheck, DnsZoneRecordMetaHealthcheckArgs

    Frequency double
    Frequency in seconds (10-3600).
    Protocol string
    Protocol, possible value: HTTP, TCP, UDP, ICMP.
    Timeout double
    Timeout in seconds (1-10).
    Command string
    Command to send if protocol=TCP/UDP, maximum length: 255.
    Host string
    Request host/virtualhost to send if protocol=HTTP, must be empty for non-HTTP
    HttpStatusCode double
    Expected status code if protocol=HTTP, must be empty for non-HTTP.
    Method string
    HTTP Method required if protocol=HTTP, must be empty for non-HTTP.
    Port double
    Port to check (1-65535).
    Regexp string
    HTTP body or response payload to check if protocol<>ICMP, must be empty for ICMP.
    Tls bool
    TLS/HTTPS enabled if protocol=HTTP, must be empty for non-HTTP.
    Url string
    URL path to check required if protocol=HTTP, must be empty for non-HTTP.
    Frequency float64
    Frequency in seconds (10-3600).
    Protocol string
    Protocol, possible value: HTTP, TCP, UDP, ICMP.
    Timeout float64
    Timeout in seconds (1-10).
    Command string
    Command to send if protocol=TCP/UDP, maximum length: 255.
    Host string
    Request host/virtualhost to send if protocol=HTTP, must be empty for non-HTTP
    HttpStatusCode float64
    Expected status code if protocol=HTTP, must be empty for non-HTTP.
    Method string
    HTTP Method required if protocol=HTTP, must be empty for non-HTTP.
    Port float64
    Port to check (1-65535).
    Regexp string
    HTTP body or response payload to check if protocol<>ICMP, must be empty for ICMP.
    Tls bool
    TLS/HTTPS enabled if protocol=HTTP, must be empty for non-HTTP.
    Url string
    URL path to check required if protocol=HTTP, must be empty for non-HTTP.
    frequency Double
    Frequency in seconds (10-3600).
    protocol String
    Protocol, possible value: HTTP, TCP, UDP, ICMP.
    timeout Double
    Timeout in seconds (1-10).
    command String
    Command to send if protocol=TCP/UDP, maximum length: 255.
    host String
    Request host/virtualhost to send if protocol=HTTP, must be empty for non-HTTP
    httpStatusCode Double
    Expected status code if protocol=HTTP, must be empty for non-HTTP.
    method String
    HTTP Method required if protocol=HTTP, must be empty for non-HTTP.
    port Double
    Port to check (1-65535).
    regexp String
    HTTP body or response payload to check if protocol<>ICMP, must be empty for ICMP.
    tls Boolean
    TLS/HTTPS enabled if protocol=HTTP, must be empty for non-HTTP.
    url String
    URL path to check required if protocol=HTTP, must be empty for non-HTTP.
    frequency number
    Frequency in seconds (10-3600).
    protocol string
    Protocol, possible value: HTTP, TCP, UDP, ICMP.
    timeout number
    Timeout in seconds (1-10).
    command string
    Command to send if protocol=TCP/UDP, maximum length: 255.
    host string
    Request host/virtualhost to send if protocol=HTTP, must be empty for non-HTTP
    httpStatusCode number
    Expected status code if protocol=HTTP, must be empty for non-HTTP.
    method string
    HTTP Method required if protocol=HTTP, must be empty for non-HTTP.
    port number
    Port to check (1-65535).
    regexp string
    HTTP body or response payload to check if protocol<>ICMP, must be empty for ICMP.
    tls boolean
    TLS/HTTPS enabled if protocol=HTTP, must be empty for non-HTTP.
    url string
    URL path to check required if protocol=HTTP, must be empty for non-HTTP.
    frequency float
    Frequency in seconds (10-3600).
    protocol str
    Protocol, possible value: HTTP, TCP, UDP, ICMP.
    timeout float
    Timeout in seconds (1-10).
    command str
    Command to send if protocol=TCP/UDP, maximum length: 255.
    host str
    Request host/virtualhost to send if protocol=HTTP, must be empty for non-HTTP
    http_status_code float
    Expected status code if protocol=HTTP, must be empty for non-HTTP.
    method str
    HTTP Method required if protocol=HTTP, must be empty for non-HTTP.
    port float
    Port to check (1-65535).
    regexp str
    HTTP body or response payload to check if protocol<>ICMP, must be empty for ICMP.
    tls bool
    TLS/HTTPS enabled if protocol=HTTP, must be empty for non-HTTP.
    url str
    URL path to check required if protocol=HTTP, must be empty for non-HTTP.
    frequency Number
    Frequency in seconds (10-3600).
    protocol String
    Protocol, possible value: HTTP, TCP, UDP, ICMP.
    timeout Number
    Timeout in seconds (1-10).
    command String
    Command to send if protocol=TCP/UDP, maximum length: 255.
    host String
    Request host/virtualhost to send if protocol=HTTP, must be empty for non-HTTP
    httpStatusCode Number
    Expected status code if protocol=HTTP, must be empty for non-HTTP.
    method String
    HTTP Method required if protocol=HTTP, must be empty for non-HTTP.
    port Number
    Port to check (1-65535).
    regexp String
    HTTP body or response payload to check if protocol<>ICMP, must be empty for ICMP.
    tls Boolean
    TLS/HTTPS enabled if protocol=HTTP, must be empty for non-HTTP.
    url String
    URL path to check required if protocol=HTTP, must be empty for non-HTTP.

    DnsZoneRecordResourceRecord, DnsZoneRecordResourceRecordArgs

    Content string
    A content of DNS Zone Record resource. (TXT: 'anyString', MX: '50 mail.company.io.', CAA: '0 issue "company.org; account=12345"')
    Enabled bool
    Manage of public appearing of DNS Zone Record resource.
    Meta DnsZoneRecordResourceRecordMeta
    Content string
    A content of DNS Zone Record resource. (TXT: 'anyString', MX: '50 mail.company.io.', CAA: '0 issue "company.org; account=12345"')
    Enabled bool
    Manage of public appearing of DNS Zone Record resource.
    Meta DnsZoneRecordResourceRecordMeta
    content String
    A content of DNS Zone Record resource. (TXT: 'anyString', MX: '50 mail.company.io.', CAA: '0 issue "company.org; account=12345"')
    enabled Boolean
    Manage of public appearing of DNS Zone Record resource.
    meta DnsZoneRecordResourceRecordMeta
    content string
    A content of DNS Zone Record resource. (TXT: 'anyString', MX: '50 mail.company.io.', CAA: '0 issue "company.org; account=12345"')
    enabled boolean
    Manage of public appearing of DNS Zone Record resource.
    meta DnsZoneRecordResourceRecordMeta
    content str
    A content of DNS Zone Record resource. (TXT: 'anyString', MX: '50 mail.company.io.', CAA: '0 issue "company.org; account=12345"')
    enabled bool
    Manage of public appearing of DNS Zone Record resource.
    meta DnsZoneRecordResourceRecordMeta
    content String
    A content of DNS Zone Record resource. (TXT: 'anyString', MX: '50 mail.company.io.', CAA: '0 issue "company.org; account=12345"')
    enabled Boolean
    Manage of public appearing of DNS Zone Record resource.
    meta Property Map

    DnsZoneRecordResourceRecordMeta, DnsZoneRecordResourceRecordMetaArgs

    Asns List<double>
    An asn meta (eg. 12345) of DNS Zone Record resource.
    Backup bool
    Set as backup record
    Continents List<string>
    Continents meta (eg. Asia) of DNS Zone Record resource.
    Countries List<string>
    Countries ISO codes meta (eg. us) of DNS Zone Record resource.
    Default bool
    Fallback meta equals true marks records which are used as a default answer (when nothing was selected by specified meta fields).
    Failover Dictionary<string, string>
    Computed UUID of failover healtcheck property
    Fallback bool
    Set as fallback record
    Ips List<string>
    An ip meta (eg. 127.0.0.0) of DNS Zone Record resource.
    Latlongs List<double>
    A latlong meta (eg. 27.988056, 86.925278) of DNS Zone Record resource.
    Notes string
    A notes meta (eg. Miami DC) of DNS Zone Record resource.
    Weight double
    A weight for this record
    Asns []float64
    An asn meta (eg. 12345) of DNS Zone Record resource.
    Backup bool
    Set as backup record
    Continents []string
    Continents meta (eg. Asia) of DNS Zone Record resource.
    Countries []string
    Countries ISO codes meta (eg. us) of DNS Zone Record resource.
    Default bool
    Fallback meta equals true marks records which are used as a default answer (when nothing was selected by specified meta fields).
    Failover map[string]string
    Computed UUID of failover healtcheck property
    Fallback bool
    Set as fallback record
    Ips []string
    An ip meta (eg. 127.0.0.0) of DNS Zone Record resource.
    Latlongs []float64
    A latlong meta (eg. 27.988056, 86.925278) of DNS Zone Record resource.
    Notes string
    A notes meta (eg. Miami DC) of DNS Zone Record resource.
    Weight float64
    A weight for this record
    asns List<Double>
    An asn meta (eg. 12345) of DNS Zone Record resource.
    backup Boolean
    Set as backup record
    continents List<String>
    Continents meta (eg. Asia) of DNS Zone Record resource.
    countries List<String>
    Countries ISO codes meta (eg. us) of DNS Zone Record resource.
    default_ Boolean
    Fallback meta equals true marks records which are used as a default answer (when nothing was selected by specified meta fields).
    failover Map<String,String>
    Computed UUID of failover healtcheck property
    fallback Boolean
    Set as fallback record
    ips List<String>
    An ip meta (eg. 127.0.0.0) of DNS Zone Record resource.
    latlongs List<Double>
    A latlong meta (eg. 27.988056, 86.925278) of DNS Zone Record resource.
    notes String
    A notes meta (eg. Miami DC) of DNS Zone Record resource.
    weight Double
    A weight for this record
    asns number[]
    An asn meta (eg. 12345) of DNS Zone Record resource.
    backup boolean
    Set as backup record
    continents string[]
    Continents meta (eg. Asia) of DNS Zone Record resource.
    countries string[]
    Countries ISO codes meta (eg. us) of DNS Zone Record resource.
    default boolean
    Fallback meta equals true marks records which are used as a default answer (when nothing was selected by specified meta fields).
    failover {[key: string]: string}
    Computed UUID of failover healtcheck property
    fallback boolean
    Set as fallback record
    ips string[]
    An ip meta (eg. 127.0.0.0) of DNS Zone Record resource.
    latlongs number[]
    A latlong meta (eg. 27.988056, 86.925278) of DNS Zone Record resource.
    notes string
    A notes meta (eg. Miami DC) of DNS Zone Record resource.
    weight number
    A weight for this record
    asns Sequence[float]
    An asn meta (eg. 12345) of DNS Zone Record resource.
    backup bool
    Set as backup record
    continents Sequence[str]
    Continents meta (eg. Asia) of DNS Zone Record resource.
    countries Sequence[str]
    Countries ISO codes meta (eg. us) of DNS Zone Record resource.
    default bool
    Fallback meta equals true marks records which are used as a default answer (when nothing was selected by specified meta fields).
    failover Mapping[str, str]
    Computed UUID of failover healtcheck property
    fallback bool
    Set as fallback record
    ips Sequence[str]
    An ip meta (eg. 127.0.0.0) of DNS Zone Record resource.
    latlongs Sequence[float]
    A latlong meta (eg. 27.988056, 86.925278) of DNS Zone Record resource.
    notes str
    A notes meta (eg. Miami DC) of DNS Zone Record resource.
    weight float
    A weight for this record
    asns List<Number>
    An asn meta (eg. 12345) of DNS Zone Record resource.
    backup Boolean
    Set as backup record
    continents List<String>
    Continents meta (eg. Asia) of DNS Zone Record resource.
    countries List<String>
    Countries ISO codes meta (eg. us) of DNS Zone Record resource.
    default Boolean
    Fallback meta equals true marks records which are used as a default answer (when nothing was selected by specified meta fields).
    failover Map<String>
    Computed UUID of failover healtcheck property
    fallback Boolean
    Set as fallback record
    ips List<String>
    An ip meta (eg. 127.0.0.0) of DNS Zone Record resource.
    latlongs List<Number>
    A latlong meta (eg. 27.988056, 86.925278) of DNS Zone Record resource.
    notes String
    A notes meta (eg. Miami DC) of DNS Zone Record resource.
    weight Number
    A weight for this record

    DnsZoneRecordTimeouts, DnsZoneRecordTimeoutsArgs

    Create string
    Delete string
    Create string
    Delete string
    create String
    delete String
    create string
    delete string
    create str
    delete str
    create String
    delete String

    Import

    import using zone:domain:type format

    $ pulumi import gcore:index/dnsZoneRecord:DnsZoneRecord example_rrset0 example.com:domain.example.com:A
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    gcore g-core/terraform-provider-gcore
    License
    Notes
    This Pulumi package is based on the gcore Terraform Provider.
    gcore logo
    gcore 0.22.0 published on Wednesday, Apr 30, 2025 by g-core