1. Packages
  2. Scaleway
  3. API Docs
  4. getDomainRecord
Scaleway v1.20.0 published on Monday, Nov 4, 2024 by pulumiverse

scaleway.getDomainRecord

Explore with Pulumi AI

scaleway logo
Scaleway v1.20.0 published on Monday, Nov 4, 2024 by pulumiverse

    The scaleway.DomainRecord data source is used to get information about an existing domain record.

    Refer to the Domains and DNS product documentation and API documentation for more information.

    Query domain records

    The following commands allow you to:

    • query a domain record specified by the DNS zone (domain.tld), the record name (www), the record type (A), and the record content (1.2.3.4).
    • query a domain record specified by the DNS zone (domain.tld) and the unique record ID (11111111-1111-1111-1111-111111111111).
    import * as pulumi from "@pulumi/pulumi";
    import * as scaleway from "@pulumi/scaleway";
    
    // Query record by DNS zone, record name, type and content
    const byContent = scaleway.getDomainRecord({
        dnsZone: "domain.tld",
        name: "www",
        type: "A",
        data: "1.2.3.4",
    });
    // Query record by DNS zone and record ID
    const byId = scaleway.getDomainRecord({
        dnsZone: "domain.tld",
        recordId: "11111111-1111-1111-1111-111111111111",
    });
    
    import pulumi
    import pulumi_scaleway as scaleway
    
    # Query record by DNS zone, record name, type and content
    by_content = scaleway.get_domain_record(dns_zone="domain.tld",
        name="www",
        type="A",
        data="1.2.3.4")
    # Query record by DNS zone and record ID
    by_id = scaleway.get_domain_record(dns_zone="domain.tld",
        record_id="11111111-1111-1111-1111-111111111111")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Query record by DNS zone, record name, type and content
    		_, err := scaleway.LookupDomainRecord(ctx, &scaleway.LookupDomainRecordArgs{
    			DnsZone: pulumi.StringRef("domain.tld"),
    			Name:    pulumi.StringRef("www"),
    			Type:    pulumi.StringRef("A"),
    			Data:    pulumi.StringRef("1.2.3.4"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		// Query record by DNS zone and record ID
    		_, err = scaleway.LookupDomainRecord(ctx, &scaleway.LookupDomainRecordArgs{
    			DnsZone:  pulumi.StringRef("domain.tld"),
    			RecordId: pulumi.StringRef("11111111-1111-1111-1111-111111111111"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Scaleway = Pulumi.Scaleway;
    
    return await Deployment.RunAsync(() => 
    {
        // Query record by DNS zone, record name, type and content
        var byContent = Scaleway.GetDomainRecord.Invoke(new()
        {
            DnsZone = "domain.tld",
            Name = "www",
            Type = "A",
            Data = "1.2.3.4",
        });
    
        // Query record by DNS zone and record ID
        var byId = Scaleway.GetDomainRecord.Invoke(new()
        {
            DnsZone = "domain.tld",
            RecordId = "11111111-1111-1111-1111-111111111111",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.scaleway.ScalewayFunctions;
    import com.pulumi.scaleway.inputs.GetDomainRecordArgs;
    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) {
            // Query record by DNS zone, record name, type and content
            final var byContent = ScalewayFunctions.getDomainRecord(GetDomainRecordArgs.builder()
                .dnsZone("domain.tld")
                .name("www")
                .type("A")
                .data("1.2.3.4")
                .build());
    
            // Query record by DNS zone and record ID
            final var byId = ScalewayFunctions.getDomainRecord(GetDomainRecordArgs.builder()
                .dnsZone("domain.tld")
                .recordId("11111111-1111-1111-1111-111111111111")
                .build());
    
        }
    }
    
    variables:
      # Query record by DNS zone, record name, type and content
      byContent:
        fn::invoke:
          Function: scaleway:getDomainRecord
          Arguments:
            dnsZone: domain.tld
            name: www
            type: A
            data: 1.2.3.4
      # Query record by DNS zone and record ID
      byId:
        fn::invoke:
          Function: scaleway:getDomainRecord
          Arguments:
            dnsZone: domain.tld
            recordId: 11111111-1111-1111-1111-111111111111
    

    Using getDomainRecord

    Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

    function getDomainRecord(args: GetDomainRecordArgs, opts?: InvokeOptions): Promise<GetDomainRecordResult>
    function getDomainRecordOutput(args: GetDomainRecordOutputArgs, opts?: InvokeOptions): Output<GetDomainRecordResult>
    def get_domain_record(data: Optional[str] = None,
                          dns_zone: Optional[str] = None,
                          name: Optional[str] = None,
                          project_id: Optional[str] = None,
                          record_id: Optional[str] = None,
                          type: Optional[str] = None,
                          opts: Optional[InvokeOptions] = None) -> GetDomainRecordResult
    def get_domain_record_output(data: Optional[pulumi.Input[str]] = None,
                          dns_zone: Optional[pulumi.Input[str]] = None,
                          name: Optional[pulumi.Input[str]] = None,
                          project_id: Optional[pulumi.Input[str]] = None,
                          record_id: Optional[pulumi.Input[str]] = None,
                          type: Optional[pulumi.Input[str]] = None,
                          opts: Optional[InvokeOptions] = None) -> Output[GetDomainRecordResult]
    func LookupDomainRecord(ctx *Context, args *LookupDomainRecordArgs, opts ...InvokeOption) (*LookupDomainRecordResult, error)
    func LookupDomainRecordOutput(ctx *Context, args *LookupDomainRecordOutputArgs, opts ...InvokeOption) LookupDomainRecordResultOutput

    > Note: This function is named LookupDomainRecord in the Go SDK.

    public static class GetDomainRecord 
    {
        public static Task<GetDomainRecordResult> InvokeAsync(GetDomainRecordArgs args, InvokeOptions? opts = null)
        public static Output<GetDomainRecordResult> Invoke(GetDomainRecordInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetDomainRecordResult> getDomainRecord(GetDomainRecordArgs args, InvokeOptions options)
    // Output-based functions aren't available in Java yet
    
    fn::invoke:
      function: scaleway:index/getDomainRecord:getDomainRecord
      arguments:
        # arguments dictionary

    The following arguments are supported:

    Data string
    The content of the record (e.g., an IPv4 address for an A record or a string for a TXT record). Cannot be used with record_id.
    DnsZone string
    The DNS zone (domain) to which the record belongs. This is a required field in both examples above but is optional in the context of defining the data source.
    Name string
    The name of the record, which can be an empty string for a root record. Cannot be used with record_id.
    ProjectId string
    ). The ID of the Project associated with the domain.
    RecordId string
    The unique identifier of the record. Cannot be used with name, type, and data.
    Type string
    The type of the record (A, AAAA, MX, CNAME, etc.). Cannot be used with record_id.
    Data string
    The content of the record (e.g., an IPv4 address for an A record or a string for a TXT record). Cannot be used with record_id.
    DnsZone string
    The DNS zone (domain) to which the record belongs. This is a required field in both examples above but is optional in the context of defining the data source.
    Name string
    The name of the record, which can be an empty string for a root record. Cannot be used with record_id.
    ProjectId string
    ). The ID of the Project associated with the domain.
    RecordId string
    The unique identifier of the record. Cannot be used with name, type, and data.
    Type string
    The type of the record (A, AAAA, MX, CNAME, etc.). Cannot be used with record_id.
    data String
    The content of the record (e.g., an IPv4 address for an A record or a string for a TXT record). Cannot be used with record_id.
    dnsZone String
    The DNS zone (domain) to which the record belongs. This is a required field in both examples above but is optional in the context of defining the data source.
    name String
    The name of the record, which can be an empty string for a root record. Cannot be used with record_id.
    projectId String
    ). The ID of the Project associated with the domain.
    recordId String
    The unique identifier of the record. Cannot be used with name, type, and data.
    type String
    The type of the record (A, AAAA, MX, CNAME, etc.). Cannot be used with record_id.
    data string
    The content of the record (e.g., an IPv4 address for an A record or a string for a TXT record). Cannot be used with record_id.
    dnsZone string
    The DNS zone (domain) to which the record belongs. This is a required field in both examples above but is optional in the context of defining the data source.
    name string
    The name of the record, which can be an empty string for a root record. Cannot be used with record_id.
    projectId string
    ). The ID of the Project associated with the domain.
    recordId string
    The unique identifier of the record. Cannot be used with name, type, and data.
    type string
    The type of the record (A, AAAA, MX, CNAME, etc.). Cannot be used with record_id.
    data str
    The content of the record (e.g., an IPv4 address for an A record or a string for a TXT record). Cannot be used with record_id.
    dns_zone str
    The DNS zone (domain) to which the record belongs. This is a required field in both examples above but is optional in the context of defining the data source.
    name str
    The name of the record, which can be an empty string for a root record. Cannot be used with record_id.
    project_id str
    ). The ID of the Project associated with the domain.
    record_id str
    The unique identifier of the record. Cannot be used with name, type, and data.
    type str
    The type of the record (A, AAAA, MX, CNAME, etc.). Cannot be used with record_id.
    data String
    The content of the record (e.g., an IPv4 address for an A record or a string for a TXT record). Cannot be used with record_id.
    dnsZone String
    The DNS zone (domain) to which the record belongs. This is a required field in both examples above but is optional in the context of defining the data source.
    name String
    The name of the record, which can be an empty string for a root record. Cannot be used with record_id.
    projectId String
    ). The ID of the Project associated with the domain.
    recordId String
    The unique identifier of the record. Cannot be used with name, type, and data.
    type String
    The type of the record (A, AAAA, MX, CNAME, etc.). Cannot be used with record_id.

    getDomainRecord Result

    The following output properties are available:

    Fqdn string
    GeoIps List<Pulumiverse.Scaleway.Outputs.GetDomainRecordGeoIp>
    Information about dynamic records based on user geolocation. Find out more about dynamic records.
    HttpServices List<Pulumiverse.Scaleway.Outputs.GetDomainRecordHttpService>
    Information about dynamic records based on URL resolution. Find out more about dynamic records.
    Id string
    The provider-assigned unique ID for this managed resource.
    KeepEmptyZone bool
    Priority int
    The priority of the record, mainly used with MX records.
    RootZone bool
    Ttl int
    The Time To Live (TTL) of the record in seconds.
    Views List<Pulumiverse.Scaleway.Outputs.GetDomainRecordView>
    Information about dynamic records based on the client’s (resolver) subnet. Find out more about dynamic records.
    Weighteds List<Pulumiverse.Scaleway.Outputs.GetDomainRecordWeighted>
    Information about dynamic records based on IP weights. Find out more about dynamic records.
    Data string
    DnsZone string
    Name string
    ProjectId string
    RecordId string
    Type string
    Fqdn string
    GeoIps []GetDomainRecordGeoIp
    Information about dynamic records based on user geolocation. Find out more about dynamic records.
    HttpServices []GetDomainRecordHttpService
    Information about dynamic records based on URL resolution. Find out more about dynamic records.
    Id string
    The provider-assigned unique ID for this managed resource.
    KeepEmptyZone bool
    Priority int
    The priority of the record, mainly used with MX records.
    RootZone bool
    Ttl int
    The Time To Live (TTL) of the record in seconds.
    Views []GetDomainRecordView
    Information about dynamic records based on the client’s (resolver) subnet. Find out more about dynamic records.
    Weighteds []GetDomainRecordWeighted
    Information about dynamic records based on IP weights. Find out more about dynamic records.
    Data string
    DnsZone string
    Name string
    ProjectId string
    RecordId string
    Type string
    fqdn String
    geoIps List<GetDomainRecordGeoIp>
    Information about dynamic records based on user geolocation. Find out more about dynamic records.
    httpServices List<GetDomainRecordHttpService>
    Information about dynamic records based on URL resolution. Find out more about dynamic records.
    id String
    The provider-assigned unique ID for this managed resource.
    keepEmptyZone Boolean
    priority Integer
    The priority of the record, mainly used with MX records.
    rootZone Boolean
    ttl Integer
    The Time To Live (TTL) of the record in seconds.
    views List<GetDomainRecordView>
    Information about dynamic records based on the client’s (resolver) subnet. Find out more about dynamic records.
    weighteds List<GetDomainRecordWeighted>
    Information about dynamic records based on IP weights. Find out more about dynamic records.
    data String
    dnsZone String
    name String
    projectId String
    recordId String
    type String
    fqdn string
    geoIps GetDomainRecordGeoIp[]
    Information about dynamic records based on user geolocation. Find out more about dynamic records.
    httpServices GetDomainRecordHttpService[]
    Information about dynamic records based on URL resolution. Find out more about dynamic records.
    id string
    The provider-assigned unique ID for this managed resource.
    keepEmptyZone boolean
    priority number
    The priority of the record, mainly used with MX records.
    rootZone boolean
    ttl number
    The Time To Live (TTL) of the record in seconds.
    views GetDomainRecordView[]
    Information about dynamic records based on the client’s (resolver) subnet. Find out more about dynamic records.
    weighteds GetDomainRecordWeighted[]
    Information about dynamic records based on IP weights. Find out more about dynamic records.
    data string
    dnsZone string
    name string
    projectId string
    recordId string
    type string
    fqdn str
    geo_ips Sequence[GetDomainRecordGeoIp]
    Information about dynamic records based on user geolocation. Find out more about dynamic records.
    http_services Sequence[GetDomainRecordHttpService]
    Information about dynamic records based on URL resolution. Find out more about dynamic records.
    id str
    The provider-assigned unique ID for this managed resource.
    keep_empty_zone bool
    priority int
    The priority of the record, mainly used with MX records.
    root_zone bool
    ttl int
    The Time To Live (TTL) of the record in seconds.
    views Sequence[GetDomainRecordView]
    Information about dynamic records based on the client’s (resolver) subnet. Find out more about dynamic records.
    weighteds Sequence[GetDomainRecordWeighted]
    Information about dynamic records based on IP weights. Find out more about dynamic records.
    data str
    dns_zone str
    name str
    project_id str
    record_id str
    type str
    fqdn String
    geoIps List<Property Map>
    Information about dynamic records based on user geolocation. Find out more about dynamic records.
    httpServices List<Property Map>
    Information about dynamic records based on URL resolution. Find out more about dynamic records.
    id String
    The provider-assigned unique ID for this managed resource.
    keepEmptyZone Boolean
    priority Number
    The priority of the record, mainly used with MX records.
    rootZone Boolean
    ttl Number
    The Time To Live (TTL) of the record in seconds.
    views List<Property Map>
    Information about dynamic records based on the client’s (resolver) subnet. Find out more about dynamic records.
    weighteds List<Property Map>
    Information about dynamic records based on IP weights. Find out more about dynamic records.
    data String
    dnsZone String
    name String
    projectId String
    recordId String
    type String

    Supporting Types

    GetDomainRecordGeoIp

    matches List<Property Map>
    The list of matches

    GetDomainRecordGeoIpMatch

    Continents List<string>
    List of continents (eg: EU for Europe, NA for North America, AS for Asia...). List of all continents code: https://api.scaleway.com/domain-private/v2beta1/continents
    Countries List<string>
    List of countries (eg: FR for France, US for the United States, GB for Great Britain...). List of all countries code: https://api.scaleway.com/domain-private/v2beta1/countries
    Data string
    The content of the record (e.g., an IPv4 address for an A record or a string for a TXT record). Cannot be used with record_id.
    Continents []string
    List of continents (eg: EU for Europe, NA for North America, AS for Asia...). List of all continents code: https://api.scaleway.com/domain-private/v2beta1/continents
    Countries []string
    List of countries (eg: FR for France, US for the United States, GB for Great Britain...). List of all countries code: https://api.scaleway.com/domain-private/v2beta1/countries
    Data string
    The content of the record (e.g., an IPv4 address for an A record or a string for a TXT record). Cannot be used with record_id.
    continents List<String>
    List of continents (eg: EU for Europe, NA for North America, AS for Asia...). List of all continents code: https://api.scaleway.com/domain-private/v2beta1/continents
    countries List<String>
    List of countries (eg: FR for France, US for the United States, GB for Great Britain...). List of all countries code: https://api.scaleway.com/domain-private/v2beta1/countries
    data String
    The content of the record (e.g., an IPv4 address for an A record or a string for a TXT record). Cannot be used with record_id.
    continents string[]
    List of continents (eg: EU for Europe, NA for North America, AS for Asia...). List of all continents code: https://api.scaleway.com/domain-private/v2beta1/continents
    countries string[]
    List of countries (eg: FR for France, US for the United States, GB for Great Britain...). List of all countries code: https://api.scaleway.com/domain-private/v2beta1/countries
    data string
    The content of the record (e.g., an IPv4 address for an A record or a string for a TXT record). Cannot be used with record_id.
    continents Sequence[str]
    List of continents (eg: EU for Europe, NA for North America, AS for Asia...). List of all continents code: https://api.scaleway.com/domain-private/v2beta1/continents
    countries Sequence[str]
    List of countries (eg: FR for France, US for the United States, GB for Great Britain...). List of all countries code: https://api.scaleway.com/domain-private/v2beta1/countries
    data str
    The content of the record (e.g., an IPv4 address for an A record or a string for a TXT record). Cannot be used with record_id.
    continents List<String>
    List of continents (eg: EU for Europe, NA for North America, AS for Asia...). List of all continents code: https://api.scaleway.com/domain-private/v2beta1/continents
    countries List<String>
    List of countries (eg: FR for France, US for the United States, GB for Great Britain...). List of all countries code: https://api.scaleway.com/domain-private/v2beta1/countries
    data String
    The content of the record (e.g., an IPv4 address for an A record or a string for a TXT record). Cannot be used with record_id.

    GetDomainRecordHttpService

    Ips List<string>
    IPs to check
    MustContain string
    Text to search
    Strategy string
    Strategy to return an IP from the IPs list
    Url string
    URL to match the must_contain text to validate an IP
    UserAgent string
    User-agent used when checking the URL
    Ips []string
    IPs to check
    MustContain string
    Text to search
    Strategy string
    Strategy to return an IP from the IPs list
    Url string
    URL to match the must_contain text to validate an IP
    UserAgent string
    User-agent used when checking the URL
    ips List<String>
    IPs to check
    mustContain String
    Text to search
    strategy String
    Strategy to return an IP from the IPs list
    url String
    URL to match the must_contain text to validate an IP
    userAgent String
    User-agent used when checking the URL
    ips string[]
    IPs to check
    mustContain string
    Text to search
    strategy string
    Strategy to return an IP from the IPs list
    url string
    URL to match the must_contain text to validate an IP
    userAgent string
    User-agent used when checking the URL
    ips Sequence[str]
    IPs to check
    must_contain str
    Text to search
    strategy str
    Strategy to return an IP from the IPs list
    url str
    URL to match the must_contain text to validate an IP
    user_agent str
    User-agent used when checking the URL
    ips List<String>
    IPs to check
    mustContain String
    Text to search
    strategy String
    Strategy to return an IP from the IPs list
    url String
    URL to match the must_contain text to validate an IP
    userAgent String
    User-agent used when checking the URL

    GetDomainRecordView

    Data string
    The content of the record (e.g., an IPv4 address for an A record or a string for a TXT record). Cannot be used with record_id.
    Subnet string
    The subnet of the view
    Data string
    The content of the record (e.g., an IPv4 address for an A record or a string for a TXT record). Cannot be used with record_id.
    Subnet string
    The subnet of the view
    data String
    The content of the record (e.g., an IPv4 address for an A record or a string for a TXT record). Cannot be used with record_id.
    subnet String
    The subnet of the view
    data string
    The content of the record (e.g., an IPv4 address for an A record or a string for a TXT record). Cannot be used with record_id.
    subnet string
    The subnet of the view
    data str
    The content of the record (e.g., an IPv4 address for an A record or a string for a TXT record). Cannot be used with record_id.
    subnet str
    The subnet of the view
    data String
    The content of the record (e.g., an IPv4 address for an A record or a string for a TXT record). Cannot be used with record_id.
    subnet String
    The subnet of the view

    GetDomainRecordWeighted

    Ip string
    The weighted IP
    Weight int
    The weight of the IP
    Ip string
    The weighted IP
    Weight int
    The weight of the IP
    ip String
    The weighted IP
    weight Integer
    The weight of the IP
    ip string
    The weighted IP
    weight number
    The weight of the IP
    ip str
    The weighted IP
    weight int
    The weight of the IP
    ip String
    The weighted IP
    weight Number
    The weight of the IP

    Package Details

    Repository
    scaleway pulumiverse/pulumi-scaleway
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the scaleway Terraform Provider.
    scaleway logo
    Scaleway v1.20.0 published on Monday, Nov 4, 2024 by pulumiverse