Fugue.AWS.Route53.ResourceRecordSet.MX

Module Members

alias

(Function)

Create a new MX ResourceRecordSet alias.

Example usage:

import Fugue.AWS.Route53 as Route53

zone: Route53.HostedZone.external("123456789ABCDEF")

mxTarget: Route53.ResourceRecordSet.MX.new {
  name: "foo.example.com",
  values: [
    {priority: 10, hostname: "mail1.example.com"},
    {priority: 20, hostname: "mail2.example.com"},
  ],
  ttl: 60,
  hostedZone: zone
}

mx: Route53.ResourceRecordSet.MX.alias {
  name: "bar.example.com",
  hostedZone: zone,
  target: Route53.AliasTarget.resourceRecordSet {
    target: mxTarget,
    evaluateTargetHealth: False,
  }
}

Type Signature

 fun { name: String,
       hostedZone: HostedZone,
       target: AliasTarget,
       resourceId: Optional<String> } -> ResourceRecordSet
Argument: name

The fully qualified domain name of the record set.

Type: String

Argument: hostedZone

The hosted zone to create the record in.

Type: HostedZone

Argument: target

The target of the alias. See Fugue.AWS.Route53.AliasTarget for functions for constructing alias targets.

Type: AliasTarget

Argument: resourceId

Currently unused.

Type: Optional<String>

Returns:
Type: ResourceRecordSet

new

(Function)

Create a new MX ResourceRecordSet.

Example usage:

import Fugue.AWS.Route53 as Route53

zone: Route53.HostedZone.external("12345679ABCDEF")
healthCheck: Route53.HealthCheck.external("12345678-1234-1234-1234567890")

mx: Route53.ResourceRecordSet.MX.new {
  name: "foo.example.com",
  values: [
    {priority: 10, hostname: "mail1.example.com"},
    {priority: 20, hostname: "mail2.example.com"},
  ],
  ttl: 60,
  hostedZone: zone,
  healthCheck: healthCheck,
  weight: 5,
  setIdentifier: "foo"
}

Type Signature

 fun { name: String,
       values: List<Value>,
       ttl: Int,
       hostedZone: HostedZone,
       healthCheck: Optional<HealthCheck>,
       weight: Optional<Int>,
       region: Optional<Region>,
       geoLocation: Optional<GeoLocation>,
       failover: Optional<Failover>,
       setIdentifier: Optional<String>,
       resourceId: Optional<String> } -> ResourceRecordSet
Argument: name

The fully qualified domain name of the record set. e.g. “mail.test.com”

Type: String

Argument: values

The list of values specifying the mail servers and their priority.

Type: List<Value>

Argument: ttl

The time to live in seconds. Mutable.

Type: Int

Argument: hostedZone

The hosted zone to create the record in.

Type: HostedZone

Argument: healthCheck

Optional health check that determines if Route53 will return this resource record set.

Type: Optional<HealthCheck>

Argument: weight

When using weighted resource record sets, a weight that will determine the relative frequency with which this record set is returned. Mutually exclusive with region and failover. Requires setIdentifier.

Type: Optional<Int>

Argument: region

When using latency-based resource record sets, the region where the resource referred to by this record set is located. Mutually exclusive with weight and failover. Requires setIdentifier.

Type: Optional<Region>

Argument: geoLocation

When using Geolocation routing lets you choose the resources that serve your traffic based on the geographic location of your users, meaning the location that DNS queries originate from. Requires setIdentifier.

Type: Optional<GeoLocation>

Argument: failover

When using failover resource record sets, either PRIMARY or SECONDARY. Mutually exclusive with weight and region. Requires setIdentifier.

Type: Optional<Failover>

Argument: setIdentifier

When using weighted, failover or latency-based resource record sets, a unique identifier must be provided for each resource record set that uses the same combination of DNS name and type.

Type: Optional<String>

Argument: resourceId

Resource ID of the resource to import with Fugue Import. This field is only honored on fugue run. The resource ID is the Hosted Zone ID. Mutable. Example: Z119WBBTVP5WFX

Type: Optional<String>

Returns:
Type: ResourceRecordSet

Value

(Type)

type Value:
  priority: Int
  hostname: String

See https://en.wikipedia.org/wiki/MX_record for more details on the MX record format.

Record {

Field: priority

The priority of the record entry.

Type: Int

Field: hostname

The fully qualified domain name of the target mail server.

Type: String

}