Mailgun v3.5.8 published on Tuesday, Jan 28, 2025 by Pulumi
mailgun.getDomain
Explore with Pulumi AI
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.index.Route53Record("mailgun-mx", {
    zoneId: zoneId,
    name: domainMailgun.name,
    type: "MX",
    ttl: 3600,
    records: [
        `${domain.receivingRecords?.[0]?.priority} ${domain.receivingRecords?.[0]?.value}.`,
        `${domain.receivingRecords?.[1]?.priority} ${domain.receivingRecords?.[1]?.value}.`,
    ],
});
import pulumi
import pulumi_aws as aws
import pulumi_mailgun as mailgun
domain = mailgun.get_domain(name="test.example.com")
mailgun_mx = aws.index.Route53Record("mailgun-mx",
    zone_id=zone_id,
    name=domain_mailgun.name,
    type=MX,
    ttl=3600,
    records=[
        f{domain.receiving_records[0].priority} {domain.receiving_records[0].value}.,
        f{domain.receiving_records[1].priority} {domain.receiving_records[1].value}.,
    ])
package main
import (
	"fmt"
	"github.com/pulumi/pulumi-aws/sdk/v4/go/aws"
	"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 = aws.NewRoute53Record(ctx, "mailgun-mx", &aws.Route53RecordArgs{
			ZoneId: zoneId,
			Name:   domainMailgun.Name,
			Type:   "MX",
			Ttl:    3600,
			Records: []string{
				fmt.Sprintf("%v %v.", domain.ReceivingRecords[0].Priority, domain.ReceivingRecords[0].Value),
				fmt.Sprintf("%v %v.", domain.ReceivingRecords[1].Priority, domain.ReceivingRecords[1].Value),
			},
		})
		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.Index.Route53Record("mailgun-mx", new()
    {
        ZoneId = zoneId,
        Name = domainMailgun.Name,
        Type = "MX",
        Ttl = 3600,
        Records = new[]
        {
            $"{domain.Apply(getDomainResult => getDomainResult.ReceivingRecords[0]?.Priority)} {domain.Apply(getDomainResult => getDomainResult.ReceivingRecords[0]?.Value)}.",
            $"{domain.Apply(getDomainResult => getDomainResult.ReceivingRecords[1]?.Priority)} {domain.Apply(getDomainResult => getDomainResult.ReceivingRecords[1]?.Value)}.",
        },
    });
});
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.route53Record;
import com.pulumi.aws.Route53RecordArgs;
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 Route53Record("mailgun-mx", Route53RecordArgs.builder()
            .zoneId(zoneId)
            .name(domainMailgun.name())
            .type("MX")
            .ttl(3600)
            .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())))
            .build());
    }
}
resources:
  mailgun-mx:
    type: aws:route53Record
    properties:
      zoneId: ${zoneId}
      name: ${domainMailgun.name}
      type: MX
      ttl: 3600
      records:
        - ${domain.receivingRecords[0].priority} ${domain.receivingRecords[0].value}.
        - ${domain.receivingRecords[1].priority} ${domain.receivingRecords[1].value}.
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(click_tracking: Optional[bool] = None,
               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,
               web_scheme: Optional[str] = None,
               wildcard: Optional[bool] = None,
               opts: Optional[InvokeOptions] = None) -> GetDomainResult
def get_domain_output(click_tracking: Optional[pulumi.Input[bool]] = None,
               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,
               web_scheme: 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)
public static Output<GetDomainResult> getDomain(GetDomainArgs args, InvokeOptions options)
fn::invoke:
  function: mailgun:index/getDomain:getDomain
  arguments:
    # arguments dictionaryThe following arguments are supported:
- Name string
 - The name of the domain.
 - Click
Tracking bool - The click tracking setting.
 - Dkim
Key intSize  - Dkim
Selector string - bool
 - Open
Tracking bool - The open tracking setting.
 - Region string
 - The region where domain will be created. Default value is 
us. - Smtp
Password string - The password to the SMTP server.
 - Spam
Action string - The spam filtering setting.
 - Web
Scheme string - The tracking web scheme.
 - Wildcard bool
 - Whether or not the domain will accept email for sub-domains.
 
- Name string
 - The name of the domain.
 - Click
Tracking bool - The click tracking setting.
 - Dkim
Key intSize  - Dkim
Selector string - bool
 - Open
Tracking bool - The open tracking setting.
 - Region string
 - The region where domain will be created. Default value is 
us. - Smtp
Password string - The password to the SMTP server.
 - Spam
Action string - The spam filtering setting.
 - Web
Scheme string - The tracking web scheme.
 - Wildcard bool
 - Whether or not the domain will accept email for sub-domains.
 
- name String
 - The name of the domain.
 - click
Tracking Boolean - The click tracking setting.
 - dkim
Key IntegerSize  - dkim
Selector String - Boolean
 - open
Tracking Boolean - The open tracking setting.
 - region String
 - The region where domain will be created. Default value is 
us. - smtp
Password String - The password to the SMTP server.
 - spam
Action String - The spam filtering setting.
 - web
Scheme String - The tracking web scheme.
 - wildcard Boolean
 - Whether or not the domain will accept email for sub-domains.
 
- name string
 - The name of the domain.
 - click
Tracking boolean - The click tracking setting.
 - dkim
Key numberSize  - dkim
Selector string - boolean
 - open
Tracking boolean - The open tracking setting.
 - region string
 - The region where domain will be created. Default value is 
us. - smtp
Password string - The password to the SMTP server.
 - spam
Action string - The spam filtering setting.
 - web
Scheme string - The tracking web scheme.
 - wildcard boolean
 - Whether or not the domain will accept email for sub-domains.
 
- name str
 - The name of the domain.
 - click_
tracking bool - The click tracking setting.
 - dkim_
key_ intsize  - dkim_
selector str - bool
 - open_
tracking bool - The open tracking setting.
 - 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.
 - web_
scheme str - The tracking web scheme.
 - wildcard bool
 - Whether or not the domain will accept email for sub-domains.
 
- name String
 - The name of the domain.
 - click
Tracking Boolean - The click tracking setting.
 - dkim
Key NumberSize  - dkim
Selector String - Boolean
 - open
Tracking Boolean - The open tracking setting.
 - region String
 - The region where domain will be created. Default value is 
us. - smtp
Password String - The password to the SMTP server.
 - spam
Action String - The spam filtering setting.
 - web
Scheme String - The tracking web scheme.
 - 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.
 - Receiving
Records List<GetDomain Receiving Record>  - A list of DNS records for receiving validation.
 - Receiving
Records List<GetSets Domain Receiving Records Set>  - Sending
Records List<GetDomain Sending Record>  - A list of DNS records for sending validation.
 - Sending
Records List<GetSets Domain Sending Records Set>  - Smtp
Login string - The login email for the SMTP server.
 - Click
Tracking bool - The click tracking setting.
 - Dkim
Key intSize  - Dkim
Selector string - bool
 - Open
Tracking bool - The open tracking setting.
 - Region string
 - Smtp
Password string - The password to the SMTP server.
 - Spam
Action string - The spam filtering setting.
 - Web
Scheme string - The tracking web scheme.
 - 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.
 - Receiving
Records []GetDomain Receiving Record  - A list of DNS records for receiving validation.
 - Receiving
Records []GetSets Domain Receiving Records Set  - Sending
Records []GetDomain Sending Record  - A list of DNS records for sending validation.
 - Sending
Records []GetSets Domain Sending Records Set  - Smtp
Login string - The login email for the SMTP server.
 - Click
Tracking bool - The click tracking setting.
 - Dkim
Key intSize  - Dkim
Selector string - bool
 - Open
Tracking bool - The open tracking setting.
 - Region string
 - Smtp
Password string - The password to the SMTP server.
 - Spam
Action string - The spam filtering setting.
 - Web
Scheme string - The tracking web scheme.
 - 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.
 - receiving
Records List<GetDomain Receiving Record>  - A list of DNS records for receiving validation.
 - receiving
Records List<GetSets Domain Receiving Records Set>  - sending
Records List<GetDomain Sending Record>  - A list of DNS records for sending validation.
 - sending
Records List<GetSets Domain Sending Records Set>  - smtp
Login String - The login email for the SMTP server.
 - click
Tracking Boolean - The click tracking setting.
 - dkim
Key IntegerSize  - dkim
Selector String - Boolean
 - open
Tracking Boolean - The open tracking setting.
 - region String
 - smtp
Password String - The password to the SMTP server.
 - spam
Action String - The spam filtering setting.
 - web
Scheme String - The tracking web scheme.
 - 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.
 - receiving
Records GetDomain Receiving Record[]  - A list of DNS records for receiving validation.
 - receiving
Records GetSets Domain Receiving Records Set[]  - sending
Records GetDomain Sending Record[]  - A list of DNS records for sending validation.
 - sending
Records GetSets Domain Sending Records Set[]  - smtp
Login string - The login email for the SMTP server.
 - click
Tracking boolean - The click tracking setting.
 - dkim
Key numberSize  - dkim
Selector string - boolean
 - open
Tracking boolean - The open tracking setting.
 - region string
 - smtp
Password string - The password to the SMTP server.
 - spam
Action string - The spam filtering setting.
 - web
Scheme string - The tracking web scheme.
 - 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[GetDomain Receiving Record]  - A list of DNS records for receiving validation.
 - receiving_
records_ Sequence[Getsets Domain Receiving Records Set]  - sending_
records Sequence[GetDomain Sending Record]  - A list of DNS records for sending validation.
 - sending_
records_ Sequence[Getsets Domain Sending Records Set]  - smtp_
login str - The login email for the SMTP server.
 - click_
tracking bool - The click tracking setting.
 - dkim_
key_ intsize  - dkim_
selector str - bool
 - open_
tracking bool - The open tracking setting.
 - region str
 - smtp_
password str - The password to the SMTP server.
 - spam_
action str - The spam filtering setting.
 - web_
scheme str - The tracking web scheme.
 - 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.
 - receiving
Records List<Property Map> - A list of DNS records for receiving validation.
 - receiving
Records List<Property Map>Sets  - sending
Records List<Property Map> - A list of DNS records for sending validation.
 - sending
Records List<Property Map>Sets  - smtp
Login String - The login email for the SMTP server.
 - click
Tracking Boolean - The click tracking setting.
 - dkim
Key NumberSize  - dkim
Selector String - Boolean
 - open
Tracking Boolean - The open tracking setting.
 - region String
 - smtp
Password String - The password to the SMTP server.
 - spam
Action String - The spam filtering setting.
 - web
Scheme String - The tracking web scheme.
 - 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.
 - Record
Type 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.
 - Record
Type 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.
 - record
Type 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.
 - record
Type 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.
 - record
Type 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.
 - Record
Type 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.
 - Record
Type 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.
 - record
Type 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.
 - record
Type 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.
 - record
Type 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.
 - Record
Type 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.
 - Record
Type 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.
 - record
Type 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.
 - record
Type 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.
 - record
Type 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.
 - Record
Type 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.
 - Record
Type 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.
 - record
Type 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.
 - record
Type 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.
 - record
Type 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 
mailgunTerraform Provider.