1. Packages
  2. Mailgun
  3. API Docs
  4. getDomain
Mailgun v3.5.2 published on Thursday, Mar 21, 2024 by Pulumi

mailgun.getDomain

Explore with Pulumi AI

mailgun logo
Mailgun v3.5.2 published on Thursday, Mar 21, 2024 by Pulumi

    mailgun.Domain provides details about a Mailgun domain.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    import * as mailgun from "@pulumi/mailgun";
    
    const domain = mailgun.getDomain({
        name: "test.example.com",
    });
    const mailgun_mx = new aws.route53.Record("mailgun-mx", {
        name: data.mailgun.domain.name,
        records: [
            Promise.all([domain, domain]).then(([domain, domain1]) => `${domain.receivingRecords?.[0]?.priority} ${domain1.receivingRecords?.[0]?.value}.`),
            Promise.all([domain, domain]).then(([domain, domain1]) => `${domain.receivingRecords?.[1]?.priority} ${domain1.receivingRecords?.[1]?.value}.`),
        ],
        ttl: 3600,
        type: aws.route53.RecordType.MX,
        zoneId: _var.zone_id,
    });
    
    import pulumi
    import pulumi_aws as aws
    import pulumi_mailgun as mailgun
    
    domain = mailgun.get_domain(name="test.example.com")
    mailgun_mx = aws.route53.Record("mailgun-mx",
        name=data["mailgun"]["domain"]["name"],
        records=[
            f"{domain.receiving_records[0].priority} {domain.receiving_records[0].value}.",
            f"{domain.receiving_records[1].priority} {domain.receiving_records[1].value}.",
        ],
        ttl=3600,
        type=aws.route53.RecordType.MX,
        zone_id=var["zone_id"])
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/route53"
    	"github.com/pulumi/pulumi-mailgun/sdk/v3/go/mailgun"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		domain, err := mailgun.LookupDomain(ctx, &mailgun.LookupDomainArgs{
    			Name: "test.example.com",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = route53.NewRecord(ctx, "mailgun-mx", &route53.RecordArgs{
    			Name: pulumi.Any(data.Mailgun.Domain.Name),
    			Records: pulumi.StringArray{
    				pulumi.String(fmt.Sprintf("%v %v.", domain.ReceivingRecords[0].Priority, domain.ReceivingRecords[0].Value)),
    				pulumi.String(fmt.Sprintf("%v %v.", domain.ReceivingRecords[1].Priority, domain.ReceivingRecords[1].Value)),
    			},
    			Ttl:    pulumi.Int(3600),
    			Type:   pulumi.String(route53.RecordTypeMX),
    			ZoneId: pulumi.Any(_var.Zone_id),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    using Mailgun = Pulumi.Mailgun;
    
    return await Deployment.RunAsync(() => 
    {
        var domain = Mailgun.GetDomain.Invoke(new()
        {
            Name = "test.example.com",
        });
    
        var mailgun_mx = new Aws.Route53.Record("mailgun-mx", new()
        {
            Name = data.Mailgun.Domain.Name,
            Records = new[]
            {
                Output.Tuple(domain, domain).Apply(values =>
                {
                    var domain = values.Item1;
                    var domain1 = values.Item2;
                    return $"{domain.Apply(getDomainResult => getDomainResult.ReceivingRecords[0]?.Priority)} {domain1.ReceivingRecords[0]?.Value}.";
                }),
                Output.Tuple(domain, domain).Apply(values =>
                {
                    var domain = values.Item1;
                    var domain1 = values.Item2;
                    return $"{domain.Apply(getDomainResult => getDomainResult.ReceivingRecords[1]?.Priority)} {domain1.ReceivingRecords[1]?.Value}.";
                }),
            },
            Ttl = 3600,
            Type = Aws.Route53.RecordType.MX,
            ZoneId = @var.Zone_id,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.mailgun.MailgunFunctions;
    import com.pulumi.mailgun.inputs.GetDomainArgs;
    import com.pulumi.aws.route53.Record;
    import com.pulumi.aws.route53.RecordArgs;
    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 domain = MailgunFunctions.getDomain(GetDomainArgs.builder()
                .name("test.example.com")
                .build());
    
            var mailgun_mx = new Record("mailgun-mx", RecordArgs.builder()        
                .name(data.mailgun().domain().name())
                .records(            
                    String.format("%s %s.", domain.applyValue(getDomainResult -> getDomainResult.receivingRecords()[0].priority()),domain.applyValue(getDomainResult -> getDomainResult.receivingRecords()[0].value())),
                    String.format("%s %s.", domain.applyValue(getDomainResult -> getDomainResult.receivingRecords()[1].priority()),domain.applyValue(getDomainResult -> getDomainResult.receivingRecords()[1].value())))
                .ttl(3600)
                .type("MX")
                .zoneId(var_.zone_id())
                .build());
    
        }
    }
    
    resources:
      mailgun-mx:
        type: aws:route53:Record
        properties:
          name: ${data.mailgun.domain.name}
          records:
            - ${domain.receivingRecords[0].priority} ${domain.receivingRecords[0].value}.
            - ${domain.receivingRecords[1].priority} ${domain.receivingRecords[1].value}.
          ttl: 3600
          type: MX
          zoneId: ${var.zone_id}
    variables:
      domain:
        fn::invoke:
          Function: mailgun:getDomain
          Arguments:
            name: test.example.com
    

    Using getDomain

    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 getDomain(args: GetDomainArgs, opts?: InvokeOptions): Promise<GetDomainResult>
    function getDomainOutput(args: GetDomainOutputArgs, opts?: InvokeOptions): Output<GetDomainResult>
    def get_domain(dkim_key_size: Optional[int] = None,
                   dkim_selector: Optional[str] = None,
                   force_dkim_authority: Optional[bool] = None,
                   name: Optional[str] = None,
                   open_tracking: Optional[bool] = None,
                   region: Optional[str] = None,
                   smtp_password: Optional[str] = None,
                   spam_action: Optional[str] = None,
                   wildcard: Optional[bool] = None,
                   opts: Optional[InvokeOptions] = None) -> GetDomainResult
    def get_domain_output(dkim_key_size: Optional[pulumi.Input[int]] = None,
                   dkim_selector: Optional[pulumi.Input[str]] = None,
                   force_dkim_authority: Optional[pulumi.Input[bool]] = None,
                   name: Optional[pulumi.Input[str]] = None,
                   open_tracking: Optional[pulumi.Input[bool]] = None,
                   region: Optional[pulumi.Input[str]] = None,
                   smtp_password: Optional[pulumi.Input[str]] = None,
                   spam_action: Optional[pulumi.Input[str]] = None,
                   wildcard: Optional[pulumi.Input[bool]] = None,
                   opts: Optional[InvokeOptions] = None) -> Output[GetDomainResult]
    func LookupDomain(ctx *Context, args *LookupDomainArgs, opts ...InvokeOption) (*LookupDomainResult, error)
    func LookupDomainOutput(ctx *Context, args *LookupDomainOutputArgs, opts ...InvokeOption) LookupDomainResultOutput

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

    public static class GetDomain 
    {
        public static Task<GetDomainResult> InvokeAsync(GetDomainArgs args, InvokeOptions? opts = null)
        public static Output<GetDomainResult> Invoke(GetDomainInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetDomainResult> getDomain(GetDomainArgs args, InvokeOptions options)
    // Output-based functions aren't available in Java yet
    
    fn::invoke:
      function: mailgun:index/getDomain:getDomain
      arguments:
        # arguments dictionary

    The following arguments are supported:

    Name string
    The name of the domain.
    DkimKeySize int
    DkimSelector string
    ForceDkimAuthority bool
    OpenTracking bool
    Region string
    The region where domain will be created. Default value is us.
    SmtpPassword string
    The password to the SMTP server.
    SpamAction string
    The spam filtering setting.
    Wildcard bool
    Whether or not the domain will accept email for sub-domains.
    Name string
    The name of the domain.
    DkimKeySize int
    DkimSelector string
    ForceDkimAuthority bool
    OpenTracking bool
    Region string
    The region where domain will be created. Default value is us.
    SmtpPassword string
    The password to the SMTP server.
    SpamAction string
    The spam filtering setting.
    Wildcard bool
    Whether or not the domain will accept email for sub-domains.
    name String
    The name of the domain.
    dkimKeySize Integer
    dkimSelector String
    forceDkimAuthority Boolean
    openTracking Boolean
    region String
    The region where domain will be created. Default value is us.
    smtpPassword String
    The password to the SMTP server.
    spamAction String
    The spam filtering setting.
    wildcard Boolean
    Whether or not the domain will accept email for sub-domains.
    name string
    The name of the domain.
    dkimKeySize number
    dkimSelector string
    forceDkimAuthority boolean
    openTracking boolean
    region string
    The region where domain will be created. Default value is us.
    smtpPassword string
    The password to the SMTP server.
    spamAction string
    The spam filtering setting.
    wildcard boolean
    Whether or not the domain will accept email for sub-domains.
    name str
    The name of the domain.
    dkim_key_size int
    dkim_selector str
    force_dkim_authority bool
    open_tracking bool
    region str
    The region where domain will be created. Default value is us.
    smtp_password str
    The password to the SMTP server.
    spam_action str
    The spam filtering setting.
    wildcard bool
    Whether or not the domain will accept email for sub-domains.
    name String
    The name of the domain.
    dkimKeySize Number
    dkimSelector String
    forceDkimAuthority Boolean
    openTracking Boolean
    region String
    The region where domain will be created. Default value is us.
    smtpPassword String
    The password to the SMTP server.
    spamAction String
    The spam filtering setting.
    wildcard Boolean
    Whether or not the domain will accept email for sub-domains.

    getDomain Result

    The following output properties are available:

    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    The name of the record.
    ReceivingRecords List<GetDomainReceivingRecord>
    A list of DNS records for receiving validation.

    Deprecated:Use receiving_records_set instead.

    ReceivingRecordsSets List<GetDomainReceivingRecordsSet>
    SendingRecords List<GetDomainSendingRecord>
    A list of DNS records for sending validation.

    Deprecated:Use sending_records_set instead.

    SendingRecordsSets List<GetDomainSendingRecordsSet>
    SmtpLogin string
    The login email for the SMTP server.
    DkimKeySize int
    DkimSelector string
    ForceDkimAuthority bool
    OpenTracking bool
    Region string
    SmtpPassword string
    The password to the SMTP server.
    SpamAction string
    The spam filtering setting.
    Wildcard bool
    Whether or not the domain will accept email for sub-domains.
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    The name of the record.
    ReceivingRecords []GetDomainReceivingRecord
    A list of DNS records for receiving validation.

    Deprecated:Use receiving_records_set instead.

    ReceivingRecordsSets []GetDomainReceivingRecordsSet
    SendingRecords []GetDomainSendingRecord
    A list of DNS records for sending validation.

    Deprecated:Use sending_records_set instead.

    SendingRecordsSets []GetDomainSendingRecordsSet
    SmtpLogin string
    The login email for the SMTP server.
    DkimKeySize int
    DkimSelector string
    ForceDkimAuthority bool
    OpenTracking bool
    Region string
    SmtpPassword string
    The password to the SMTP server.
    SpamAction string
    The spam filtering setting.
    Wildcard bool
    Whether or not the domain will accept email for sub-domains.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    The name of the record.
    receivingRecords List<GetDomainReceivingRecord>
    A list of DNS records for receiving validation.

    Deprecated:Use receiving_records_set instead.

    receivingRecordsSets List<GetDomainReceivingRecordsSet>
    sendingRecords List<GetDomainSendingRecord>
    A list of DNS records for sending validation.

    Deprecated:Use sending_records_set instead.

    sendingRecordsSets List<GetDomainSendingRecordsSet>
    smtpLogin String
    The login email for the SMTP server.
    dkimKeySize Integer
    dkimSelector String
    forceDkimAuthority Boolean
    openTracking Boolean
    region String
    smtpPassword String
    The password to the SMTP server.
    spamAction String
    The spam filtering setting.
    wildcard Boolean
    Whether or not the domain will accept email for sub-domains.
    id string
    The provider-assigned unique ID for this managed resource.
    name string
    The name of the record.
    receivingRecords GetDomainReceivingRecord[]
    A list of DNS records for receiving validation.

    Deprecated:Use receiving_records_set instead.

    receivingRecordsSets GetDomainReceivingRecordsSet[]
    sendingRecords GetDomainSendingRecord[]
    A list of DNS records for sending validation.

    Deprecated:Use sending_records_set instead.

    sendingRecordsSets GetDomainSendingRecordsSet[]
    smtpLogin string
    The login email for the SMTP server.
    dkimKeySize number
    dkimSelector string
    forceDkimAuthority boolean
    openTracking boolean
    region string
    smtpPassword string
    The password to the SMTP server.
    spamAction string
    The spam filtering setting.
    wildcard boolean
    Whether or not the domain will accept email for sub-domains.
    id str
    The provider-assigned unique ID for this managed resource.
    name str
    The name of the record.
    receiving_records Sequence[GetDomainReceivingRecord]
    A list of DNS records for receiving validation.

    Deprecated:Use receiving_records_set instead.

    receiving_records_sets Sequence[GetDomainReceivingRecordsSet]
    sending_records Sequence[GetDomainSendingRecord]
    A list of DNS records for sending validation.

    Deprecated:Use sending_records_set instead.

    sending_records_sets Sequence[GetDomainSendingRecordsSet]
    smtp_login str
    The login email for the SMTP server.
    dkim_key_size int
    dkim_selector str
    force_dkim_authority bool
    open_tracking bool
    region str
    smtp_password str
    The password to the SMTP server.
    spam_action str
    The spam filtering setting.
    wildcard bool
    Whether or not the domain will accept email for sub-domains.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    The name of the record.
    receivingRecords List<Property Map>
    A list of DNS records for receiving validation.

    Deprecated:Use receiving_records_set instead.

    receivingRecordsSets List<Property Map>
    sendingRecords List<Property Map>
    A list of DNS records for sending validation.

    Deprecated:Use sending_records_set instead.

    sendingRecordsSets List<Property Map>
    smtpLogin String
    The login email for the SMTP server.
    dkimKeySize Number
    dkimSelector String
    forceDkimAuthority Boolean
    openTracking Boolean
    region String
    smtpPassword String
    The password to the SMTP server.
    spamAction String
    The spam filtering setting.
    wildcard Boolean
    Whether or not the domain will accept email for sub-domains.

    Supporting Types

    GetDomainReceivingRecord

    Id string
    Priority string
    The priority of the record.
    RecordType string
    The record type.
    Valid string
    "valid" if the record is valid.
    Value string
    The value of the record.
    Id string
    Priority string
    The priority of the record.
    RecordType string
    The record type.
    Valid string
    "valid" if the record is valid.
    Value string
    The value of the record.
    id String
    priority String
    The priority of the record.
    recordType String
    The record type.
    valid String
    "valid" if the record is valid.
    value String
    The value of the record.
    id string
    priority string
    The priority of the record.
    recordType string
    The record type.
    valid string
    "valid" if the record is valid.
    value string
    The value of the record.
    id str
    priority str
    The priority of the record.
    record_type str
    The record type.
    valid str
    "valid" if the record is valid.
    value str
    The value of the record.
    id String
    priority String
    The priority of the record.
    recordType String
    The record type.
    valid String
    "valid" if the record is valid.
    value String
    The value of the record.

    GetDomainReceivingRecordsSet

    Id string
    Priority string
    The priority of the record.
    RecordType string
    The record type.
    Valid string
    "valid" if the record is valid.
    Value string
    The value of the record.
    Id string
    Priority string
    The priority of the record.
    RecordType string
    The record type.
    Valid string
    "valid" if the record is valid.
    Value string
    The value of the record.
    id String
    priority String
    The priority of the record.
    recordType String
    The record type.
    valid String
    "valid" if the record is valid.
    value String
    The value of the record.
    id string
    priority string
    The priority of the record.
    recordType string
    The record type.
    valid string
    "valid" if the record is valid.
    value string
    The value of the record.
    id str
    priority str
    The priority of the record.
    record_type str
    The record type.
    valid str
    "valid" if the record is valid.
    value str
    The value of the record.
    id String
    priority String
    The priority of the record.
    recordType String
    The record type.
    valid String
    "valid" if the record is valid.
    value String
    The value of the record.

    GetDomainSendingRecord

    Id string
    Name string
    The name of the domain.
    RecordType string
    The record type.
    Valid string
    "valid" if the record is valid.
    Value string
    The value of the record.
    Id string
    Name string
    The name of the domain.
    RecordType string
    The record type.
    Valid string
    "valid" if the record is valid.
    Value string
    The value of the record.
    id String
    name String
    The name of the domain.
    recordType String
    The record type.
    valid String
    "valid" if the record is valid.
    value String
    The value of the record.
    id string
    name string
    The name of the domain.
    recordType string
    The record type.
    valid string
    "valid" if the record is valid.
    value string
    The value of the record.
    id str
    name str
    The name of the domain.
    record_type str
    The record type.
    valid str
    "valid" if the record is valid.
    value str
    The value of the record.
    id String
    name String
    The name of the domain.
    recordType String
    The record type.
    valid String
    "valid" if the record is valid.
    value String
    The value of the record.

    GetDomainSendingRecordsSet

    Id string
    Name string
    The name of the domain.
    RecordType string
    The record type.
    Valid string
    "valid" if the record is valid.
    Value string
    The value of the record.
    Id string
    Name string
    The name of the domain.
    RecordType string
    The record type.
    Valid string
    "valid" if the record is valid.
    Value string
    The value of the record.
    id String
    name String
    The name of the domain.
    recordType String
    The record type.
    valid String
    "valid" if the record is valid.
    value String
    The value of the record.
    id string
    name string
    The name of the domain.
    recordType string
    The record type.
    valid string
    "valid" if the record is valid.
    value string
    The value of the record.
    id str
    name str
    The name of the domain.
    record_type str
    The record type.
    valid str
    "valid" if the record is valid.
    value str
    The value of the record.
    id String
    name String
    The name of the domain.
    recordType String
    The record type.
    valid String
    "valid" if the record is valid.
    value String
    The value of the record.

    Package Details

    Repository
    Mailgun pulumi/pulumi-mailgun
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the mailgun Terraform Provider.
    mailgun logo
    Mailgun v3.5.2 published on Thursday, Mar 21, 2024 by Pulumi