published on Saturday, Oct 24, 2026 by pulumiverse
published on Saturday, Oct 24, 2026 by pulumiverse
Creates and manages a Scaleway Mailbox domain.
A domain is the prerequisite for creating mailboxes. After creation the resource exposes
all required DNS records in the dnsRecords attribute so you can delegate them to your DNS
provider. The domain status reflects validation progress.
Note This resource is in alpha and the API is subject to change.
Example Usage
Minimal domain
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";
const main = new scaleway.mailbox.Domain("main", {name: "mail.example.com"});
import pulumi
import pulumiverse_scaleway as scaleway
main = scaleway.mailbox.Domain("main", name="mail.example.com")
package main
import (
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/mailbox"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := mailbox.NewDomain(ctx, "main", &mailbox.DomainArgs{
Name: pulumi.String("mail.example.com"),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Scaleway = Pulumiverse.Scaleway;
return await Deployment.RunAsync(() =>
{
var main = new Scaleway.Mailbox.Domain("main", new()
{
Name = "mail.example.com",
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.mailbox.Domain;
import com.pulumi.scaleway.mailbox.DomainArgs;
import java.util.ArrayList;
import java.util.Arrays;
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) {
var main = new Domain("main", DomainArgs.builder()
.name("mail.example.com")
.build());
}
}
resources:
main:
type: scaleway:mailbox:Domain
properties:
name: mail.example.com
pulumi {
required_providers {
scaleway = {
source = "pulumi/scaleway"
}
}
}
resource "scaleway_mailbox_domain" "main" {
name = "mail.example.com"
}
Domain with DNS records configured via Scaleway DNS
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";
const config = new pulumi.Config();
const domainName = config.require("domainName");
const main = new scaleway.mailbox.Domain("main", {name: domainName});
// Iterate over required DNS records and create them in Scaleway DNS.
const mailboxDns: {[key: string]: scaleway.domain.Record} = {};
main.dnsRecords.apply(dnsRecords => {
for (const range of Object.entries(dnsRecords.filter(rec => rec.level == "required").reduce((__obj, rec) => ({ ...__obj, [`${rec.dnsType}-${rec.dnsName}`]: rec }), {})).sort().map(([k, v]) => ({key: k, value: v}))) {
mailboxDns[range.key] = new scaleway.domain.Record(`mailbox_dns-${range.key}`, {
dnsZone: domainName,
name: range.value.dnsName,
type: range.value.dnsType,
data: range.value.dnsValue,
});
}
});
import pulumi
from typing import Any
import pulumiverse_scaleway as scaleway
config = pulumi.Config()
domain_name = config.require("domainName")
main = scaleway.mailbox.Domain("main", name=domain_name)
# Iterate over required DNS records and create them in Scaleway DNS.
mailbox_dns: dict[str, scaleway.domain.Record] = {}
def create_mailbox_dns(range_body):
for mailbox_dns_range in [{"key": k, "value": v} for [k, v] in sorted((range_body).items())]:
mailbox_dns[mailbox_dns_range['key']] = scaleway.domain.Record(f"mailbox_dns-{mailbox_dns_range['key']}",
dns_zone=domain_name,
name=mailbox_dns_range["value"].dns_name,
type=mailbox_dns_range["value"].dns_type,
data=mailbox_dns_range["value"].dns_value)
main.dns_records.apply(lambda resolved_outputs: create_mailbox_dns({f"{rec.dns_type}-{rec.dns_name}": rec for rec in resolved_outputs['dns_records'] if rec.level == "required"}))
package main
import (
"fmt"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/domain"
"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/mailbox"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
cfg := config.New(ctx, "")
domainName := cfg.Require("domainName")
main, err := mailbox.NewDomain(ctx, "main", &mailbox.DomainArgs{
Name: pulumi.String(domainName),
})
if err != nil {
return err
}
// Iterate over required DNS records and create them in Scaleway DNS.
forResult0 := mailbox.DomainDnsRecordMap{}
for _, rec := range dnsRecords {
if rec.Level == "required" {
forResult0[fmt.Sprintf("%v-%v", rec.DnsType, rec.DnsName)] = rec
}
}
var mailboxDns []*domain.Record
for key0, val0 := range map[string]mailbox.DomainDnsRecord(main.DnsRecords.ApplyT(func(dnsRecords []mailbox.DomainDnsRecord) (map[string]mailbox.DomainDnsRecord, error) {
return forResult0, nil
}).(pulumi.MapOutput)) {
__res, err := domain.NewRecord(ctx, fmt.Sprintf("mailbox_dns-%v", key0), &domain.RecordArgs{
DnsZone: pulumi.String(domainName),
Name: pulumi.String(val0),
Type: pulumi.String(val0),
Data: pulumi.String(val0),
})
if err != nil {
return err
}
mailboxDns = append(mailboxDns, __res)
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Scaleway = Pulumiverse.Scaleway;
return await Deployment.RunAsync(() =>
{
var config = new Config();
var domainName = config.Require("domainName");
var main = new Scaleway.Mailbox.Domain("main", new()
{
Name = domainName,
});
// Iterate over required DNS records and create them in Scaleway DNS.
var mailboxDns = new List<Scaleway.Domain.Record>();
foreach (var range in main.DnsRecords.Apply(dnsRecords => dnsRecords.ToDictionary(item => {
var rec = item.Value;
return $"{rec.DnsType}-{rec.DnsName}";
}, item => {
var rec = item.Value;
return rec;
})).Select(pair => new { pair.Key, pair.Value }))
{
mailboxDns.Add(new Scaleway.Domain.Record($"mailbox_dns-{range.Key}", new()
{
DnsZone = domainName,
Name = range.Value.DnsName,
Type = range.Value.DnsType,
Data = range.Value.DnsValue,
}));
}
});
Example coming soon!
configuration:
domainName:
type: string
resources:
main:
type: scaleway:mailbox:Domain
properties:
name: ${domainName}
# Iterate over required DNS records and create them in Scaleway DNS.
mailboxDns:
type: scaleway:domain:Record
name: mailbox_dns
properties:
dnsZone: ${domainName}
name: ${range.value.dnsName}
type: ${range.value.dnsType}
data: ${range.value.dnsValue}
options: {}
pulumi {
required_providers {
scaleway = {
source = "pulumi/scaleway"
}
}
}
resource "scaleway_mailbox_domain" "main" {
name = var.domainName
}
# Iterate over required DNS records and create them in Scaleway DNS.
resource "scaleway_domain_record" "mailbox_dns" {
for_each = {for rec in scaleway_mailbox_domain.main.dns_records :"${rec.dnsType}-${rec.dnsName}"=> rec if rec.level == "required"}
dns_zone = var.domainName
name = each.value.dnsName
type = each.value.dnsType
data = each.value.dnsValue
}
variable "domainName" {
type = string
}
Domain in a specific project
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";
const mailProject = new scaleway.account.Project("mail_project", {name: "mail-project"});
const projectDomain = new scaleway.mailbox.Domain("project_domain", {
name: "mail.example.com",
projectId: mailProject.id,
});
import pulumi
import pulumiverse_scaleway as scaleway
mail_project = scaleway.account.Project("mail_project", name="mail-project")
project_domain = scaleway.mailbox.Domain("project_domain",
name="mail.example.com",
project_id=mail_project.id)
package main
import (
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/account"
"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/mailbox"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
mailProject, err := account.NewProject(ctx, "mail_project", &account.ProjectArgs{
Name: pulumi.String("mail-project"),
})
if err != nil {
return err
}
_, err = mailbox.NewDomain(ctx, "project_domain", &mailbox.DomainArgs{
Name: pulumi.String("mail.example.com"),
ProjectId: mailProject.ID().ToIDOutput().ToStringOutput(),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Scaleway = Pulumiverse.Scaleway;
return await Deployment.RunAsync(() =>
{
var mailProject = new Scaleway.Account.Project("mail_project", new()
{
Name = "mail-project",
});
var projectDomain = new Scaleway.Mailbox.Domain("project_domain", new()
{
Name = "mail.example.com",
ProjectId = mailProject.Id,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.account.Project;
import com.pulumi.scaleway.account.ProjectArgs;
import com.pulumi.scaleway.mailbox.Domain;
import com.pulumi.scaleway.mailbox.DomainArgs;
import java.util.ArrayList;
import java.util.Arrays;
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) {
var mailProject = new Project("mailProject", ProjectArgs.builder()
.name("mail-project")
.build());
var projectDomain = new Domain("projectDomain", DomainArgs.builder()
.name("mail.example.com")
.projectId(mailProject.id())
.build());
}
}
resources:
mailProject:
type: scaleway:account:Project
name: mail_project
properties:
name: mail-project
projectDomain:
type: scaleway:mailbox:Domain
name: project_domain
properties:
name: mail.example.com
projectId: ${mailProject.id}
pulumi {
required_providers {
scaleway = {
source = "pulumi/scaleway"
}
}
}
resource "scaleway_account_project" "mail_project" {
name = "mail-project"
}
resource "scaleway_mailbox_domain" "project_domain" {
name = "mail.example.com"
project_id = scaleway_account_project.mail_project.id
}
Create Domain Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Domain(name: string, args?: DomainArgs, opts?: CustomResourceOptions);@overload
def Domain(resource_name: str,
args: Optional[DomainArgs] = None,
opts: Optional[ResourceOptions] = None)
@overload
def Domain(resource_name: str,
opts: Optional[ResourceOptions] = None,
name: Optional[str] = None,
project_id: Optional[str] = None)func NewDomain(ctx *Context, name string, args *DomainArgs, opts ...ResourceOption) (*Domain, error)public Domain(string name, DomainArgs? args = null, CustomResourceOptions? opts = null)
public Domain(String name, DomainArgs args)
public Domain(String name, DomainArgs args, CustomResourceOptions options)
type: scaleway:mailbox:Domain
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
resource "scaleway_mailbox_domain" "name" {
# resource properties
}Parameters
- name string
- The unique name of the resource.
- args DomainArgs
- 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 DomainArgs
- 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 DomainArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args DomainArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args DomainArgs
- 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 exampledomainResourceResourceFromMailboxdomain = new Scaleway.Mailbox.Domain("exampledomainResourceResourceFromMailboxdomain", new()
{
Name = "string",
ProjectId = "string",
});
example, err := mailbox.NewDomain(ctx, "exampledomainResourceResourceFromMailboxdomain", &mailbox.DomainArgs{
Name: pulumi.String("string"),
ProjectId: pulumi.String("string"),
})
resource "scaleway_mailbox_domain" "exampledomainResourceResourceFromMailboxdomain" {
lifecycle {
create_before_destroy = true
}
name = "string"
project_id = "string"
}
var exampledomainResourceResourceFromMailboxdomain = new com.pulumi.scaleway.mailbox.Domain("exampledomainResourceResourceFromMailboxdomain", com.pulumi.scaleway.mailbox.DomainArgs.builder()
.name("string")
.projectId("string")
.build());
exampledomain_resource_resource_from_mailboxdomain = scaleway.mailbox.Domain("exampledomainResourceResourceFromMailboxdomain",
name="string",
project_id="string")
const exampledomainResourceResourceFromMailboxdomain = new scaleway.mailbox.Domain("exampledomainResourceResourceFromMailboxdomain", {
name: "string",
projectId: "string",
});
type: scaleway:mailbox:Domain
properties:
name: string
projectId: string
Domain 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 Domain resource accepts the following input properties:
- name string
- Fully qualified domain name (e.g.
mail.example.com). - project_
id string projectId) The ID of the project the domain is associated with. Changing this forces a new domain.Note Mailbox domains cannot be updated in place. Changes to
nameorprojectIdforce resource replacement.
- name str
- Fully qualified domain name (e.g.
mail.example.com). - project_
id str projectId) The ID of the project the domain is associated with. Changing this forces a new domain.Note Mailbox domains cannot be updated in place. Changes to
nameorprojectIdforce resource replacement.
Outputs
All input properties are implicitly available as output properties. Additionally, the Domain resource produces the following output properties:
- Created
At string - Date and time of domain creation (RFC 3339 format).
- Dns
Records List<Pulumiverse.Scaleway. Mailbox. Outputs. Domain Dns Record> - List of DNS records to configure in your DNS zone. Each entry has:
- Id string
- The provider-assigned unique ID for this managed resource.
- Imap
Url string - IMAP server URL for configuring email clients.
- Mailbox
Total intCount - Number of mailboxes currently provisioned on this domain.
- Pop3Url string
- POP3 server URL for configuring email clients.
- Smtp
Url string - SMTP server URL for configuring email clients.
- Status string
- Validation status (
valid,invalid,notFound,validating). - Updated
At string - Date and time of last update (RFC 3339 format).
- Webmail
Url string - URL of the domain's webmail interface.
- Created
At string - Date and time of domain creation (RFC 3339 format).
- Dns
Records []DomainDns Record - List of DNS records to configure in your DNS zone. Each entry has:
- Id string
- The provider-assigned unique ID for this managed resource.
- Imap
Url string - IMAP server URL for configuring email clients.
- Mailbox
Total intCount - Number of mailboxes currently provisioned on this domain.
- Pop3Url string
- POP3 server URL for configuring email clients.
- Smtp
Url string - SMTP server URL for configuring email clients.
- Status string
- Validation status (
valid,invalid,notFound,validating). - Updated
At string - Date and time of last update (RFC 3339 format).
- Webmail
Url string - URL of the domain's webmail interface.
- created_
at string - Date and time of domain creation (RFC 3339 format).
- dns_
records list(object) - List of DNS records to configure in your DNS zone. Each entry has:
- id string
- The provider-assigned unique ID for this managed resource.
- imap_
url string - IMAP server URL for configuring email clients.
- mailbox_
total_ numbercount - Number of mailboxes currently provisioned on this domain.
- pop3_
url string - POP3 server URL for configuring email clients.
- smtp_
url string - SMTP server URL for configuring email clients.
- status string
- Validation status (
valid,invalid,notFound,validating). - updated_
at string - Date and time of last update (RFC 3339 format).
- webmail_
url string - URL of the domain's webmail interface.
- created
At String - Date and time of domain creation (RFC 3339 format).
- dns
Records List<DomainDns Record> - List of DNS records to configure in your DNS zone. Each entry has:
- id String
- The provider-assigned unique ID for this managed resource.
- imap
Url String - IMAP server URL for configuring email clients.
- mailbox
Total IntegerCount - Number of mailboxes currently provisioned on this domain.
- pop3Url String
- POP3 server URL for configuring email clients.
- smtp
Url String - SMTP server URL for configuring email clients.
- status String
- Validation status (
valid,invalid,notFound,validating). - updated
At String - Date and time of last update (RFC 3339 format).
- webmail
Url String - URL of the domain's webmail interface.
- created
At string - Date and time of domain creation (RFC 3339 format).
- dns
Records DomainDns Record[] - List of DNS records to configure in your DNS zone. Each entry has:
- id string
- The provider-assigned unique ID for this managed resource.
- imap
Url string - IMAP server URL for configuring email clients.
- mailbox
Total numberCount - Number of mailboxes currently provisioned on this domain.
- pop3Url string
- POP3 server URL for configuring email clients.
- smtp
Url string - SMTP server URL for configuring email clients.
- status string
- Validation status (
valid,invalid,notFound,validating). - updated
At string - Date and time of last update (RFC 3339 format).
- webmail
Url string - URL of the domain's webmail interface.
- created_
at str - Date and time of domain creation (RFC 3339 format).
- dns_
records Sequence[DomainDns Record] - List of DNS records to configure in your DNS zone. Each entry has:
- id str
- The provider-assigned unique ID for this managed resource.
- imap_
url str - IMAP server URL for configuring email clients.
- mailbox_
total_ intcount - Number of mailboxes currently provisioned on this domain.
- pop3_
url str - POP3 server URL for configuring email clients.
- smtp_
url str - SMTP server URL for configuring email clients.
- status str
- Validation status (
valid,invalid,notFound,validating). - updated_
at str - Date and time of last update (RFC 3339 format).
- webmail_
url str - URL of the domain's webmail interface.
- created
At String - Date and time of domain creation (RFC 3339 format).
- dns
Records List<Property Map> - List of DNS records to configure in your DNS zone. Each entry has:
- id String
- The provider-assigned unique ID for this managed resource.
- imap
Url String - IMAP server URL for configuring email clients.
- mailbox
Total NumberCount - Number of mailboxes currently provisioned on this domain.
- pop3Url String
- POP3 server URL for configuring email clients.
- smtp
Url String - SMTP server URL for configuring email clients.
- status String
- Validation status (
valid,invalid,notFound,validating). - updated
At String - Date and time of last update (RFC 3339 format).
- webmail
Url String - URL of the domain's webmail interface.
Look up Existing Domain Resource
Get an existing Domain 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?: DomainState, opts?: CustomResourceOptions): Domain@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
created_at: Optional[str] = None,
dns_records: Optional[Sequence[DomainDnsRecordArgs]] = None,
imap_url: Optional[str] = None,
mailbox_total_count: Optional[int] = None,
name: Optional[str] = None,
pop3_url: Optional[str] = None,
project_id: Optional[str] = None,
smtp_url: Optional[str] = None,
status: Optional[str] = None,
updated_at: Optional[str] = None,
webmail_url: Optional[str] = None) -> Domainfunc GetDomain(ctx *Context, name string, id IDInput, state *DomainState, opts ...ResourceOption) (*Domain, error)public static Domain Get(string name, Input<string> id, DomainState? state, CustomResourceOptions? opts = null)public static Domain get(String name, Output<String> id, DomainState state, CustomResourceOptions options)resources: _: type: scaleway:mailbox:Domain get: id: ${id}import {
to = scaleway_mailbox_domain.example
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.
- Created
At string - Date and time of domain creation (RFC 3339 format).
- Dns
Records List<Pulumiverse.Scaleway. Mailbox. Inputs. Domain Dns Record> - List of DNS records to configure in your DNS zone. Each entry has:
- Imap
Url string - IMAP server URL for configuring email clients.
- Mailbox
Total intCount - Number of mailboxes currently provisioned on this domain.
- Name string
- Fully qualified domain name (e.g.
mail.example.com). - Pop3Url string
- POP3 server URL for configuring email clients.
- Project
Id string projectId) The ID of the project the domain is associated with. Changing this forces a new domain.Note Mailbox domains cannot be updated in place. Changes to
nameorprojectIdforce resource replacement.- Smtp
Url string - SMTP server URL for configuring email clients.
- Status string
- Validation status (
valid,invalid,notFound,validating). - Updated
At string - Date and time of last update (RFC 3339 format).
- Webmail
Url string - URL of the domain's webmail interface.
- Created
At string - Date and time of domain creation (RFC 3339 format).
- Dns
Records []DomainDns Record Args - List of DNS records to configure in your DNS zone. Each entry has:
- Imap
Url string - IMAP server URL for configuring email clients.
- Mailbox
Total intCount - Number of mailboxes currently provisioned on this domain.
- Name string
- Fully qualified domain name (e.g.
mail.example.com). - Pop3Url string
- POP3 server URL for configuring email clients.
- Project
Id string projectId) The ID of the project the domain is associated with. Changing this forces a new domain.Note Mailbox domains cannot be updated in place. Changes to
nameorprojectIdforce resource replacement.- Smtp
Url string - SMTP server URL for configuring email clients.
- Status string
- Validation status (
valid,invalid,notFound,validating). - Updated
At string - Date and time of last update (RFC 3339 format).
- Webmail
Url string - URL of the domain's webmail interface.
- created_
at string - Date and time of domain creation (RFC 3339 format).
- dns_
records list(object) - List of DNS records to configure in your DNS zone. Each entry has:
- imap_
url string - IMAP server URL for configuring email clients.
- mailbox_
total_ numbercount - Number of mailboxes currently provisioned on this domain.
- name string
- Fully qualified domain name (e.g.
mail.example.com). - pop3_
url string - POP3 server URL for configuring email clients.
- project_
id string projectId) The ID of the project the domain is associated with. Changing this forces a new domain.Note Mailbox domains cannot be updated in place. Changes to
nameorprojectIdforce resource replacement.- smtp_
url string - SMTP server URL for configuring email clients.
- status string
- Validation status (
valid,invalid,notFound,validating). - updated_
at string - Date and time of last update (RFC 3339 format).
- webmail_
url string - URL of the domain's webmail interface.
- created
At String - Date and time of domain creation (RFC 3339 format).
- dns
Records List<DomainDns Record> - List of DNS records to configure in your DNS zone. Each entry has:
- imap
Url String - IMAP server URL for configuring email clients.
- mailbox
Total IntegerCount - Number of mailboxes currently provisioned on this domain.
- name String
- Fully qualified domain name (e.g.
mail.example.com). - pop3Url String
- POP3 server URL for configuring email clients.
- project
Id String projectId) The ID of the project the domain is associated with. Changing this forces a new domain.Note Mailbox domains cannot be updated in place. Changes to
nameorprojectIdforce resource replacement.- smtp
Url String - SMTP server URL for configuring email clients.
- status String
- Validation status (
valid,invalid,notFound,validating). - updated
At String - Date and time of last update (RFC 3339 format).
- webmail
Url String - URL of the domain's webmail interface.
- created
At string - Date and time of domain creation (RFC 3339 format).
- dns
Records DomainDns Record[] - List of DNS records to configure in your DNS zone. Each entry has:
- imap
Url string - IMAP server URL for configuring email clients.
- mailbox
Total numberCount - Number of mailboxes currently provisioned on this domain.
- name string
- Fully qualified domain name (e.g.
mail.example.com). - pop3Url string
- POP3 server URL for configuring email clients.
- project
Id string projectId) The ID of the project the domain is associated with. Changing this forces a new domain.Note Mailbox domains cannot be updated in place. Changes to
nameorprojectIdforce resource replacement.- smtp
Url string - SMTP server URL for configuring email clients.
- status string
- Validation status (
valid,invalid,notFound,validating). - updated
At string - Date and time of last update (RFC 3339 format).
- webmail
Url string - URL of the domain's webmail interface.
- created_
at str - Date and time of domain creation (RFC 3339 format).
- dns_
records Sequence[DomainDns Record Args] - List of DNS records to configure in your DNS zone. Each entry has:
- imap_
url str - IMAP server URL for configuring email clients.
- mailbox_
total_ intcount - Number of mailboxes currently provisioned on this domain.
- name str
- Fully qualified domain name (e.g.
mail.example.com). - pop3_
url str - POP3 server URL for configuring email clients.
- project_
id str projectId) The ID of the project the domain is associated with. Changing this forces a new domain.Note Mailbox domains cannot be updated in place. Changes to
nameorprojectIdforce resource replacement.- smtp_
url str - SMTP server URL for configuring email clients.
- status str
- Validation status (
valid,invalid,notFound,validating). - updated_
at str - Date and time of last update (RFC 3339 format).
- webmail_
url str - URL of the domain's webmail interface.
- created
At String - Date and time of domain creation (RFC 3339 format).
- dns
Records List<Property Map> - List of DNS records to configure in your DNS zone. Each entry has:
- imap
Url String - IMAP server URL for configuring email clients.
- mailbox
Total NumberCount - Number of mailboxes currently provisioned on this domain.
- name String
- Fully qualified domain name (e.g.
mail.example.com). - pop3Url String
- POP3 server URL for configuring email clients.
- project
Id String projectId) The ID of the project the domain is associated with. Changing this forces a new domain.Note Mailbox domains cannot be updated in place. Changes to
nameorprojectIdforce resource replacement.- smtp
Url String - SMTP server URL for configuring email clients.
- status String
- Validation status (
valid,invalid,notFound,validating). - updated
At String - Date and time of last update (RFC 3339 format).
- webmail
Url String - URL of the domain's webmail interface.
Supporting Types
DomainDnsRecord, DomainDnsRecordArgs
- Dns
Name string - Fully qualified name for this record.
- Dns
Type string - Record type (TXT, MX, CNAME, SRV…).
- Dns
Value string - Value to set for this record.
- Error string
- Error detail when the record is invalid or not found.
- Level string
- Requirement level (
required,recommended,optional). - Status string
- Validation status (
valid,invalid,notFound,validating).
- Dns
Name string - Fully qualified name for this record.
- Dns
Type string - Record type (TXT, MX, CNAME, SRV…).
- Dns
Value string - Value to set for this record.
- Error string
- Error detail when the record is invalid or not found.
- Level string
- Requirement level (
required,recommended,optional). - Status string
- Validation status (
valid,invalid,notFound,validating).
- dns_
name string - Fully qualified name for this record.
- dns_
type string - Record type (TXT, MX, CNAME, SRV…).
- dns_
value string - Value to set for this record.
- error string
- Error detail when the record is invalid or not found.
- level string
- Requirement level (
required,recommended,optional). - status string
- Validation status (
valid,invalid,notFound,validating).
- dns
Name String - Fully qualified name for this record.
- dns
Type String - Record type (TXT, MX, CNAME, SRV…).
- dns
Value String - Value to set for this record.
- error String
- Error detail when the record is invalid or not found.
- level String
- Requirement level (
required,recommended,optional). - status String
- Validation status (
valid,invalid,notFound,validating).
- dns
Name string - Fully qualified name for this record.
- dns
Type string - Record type (TXT, MX, CNAME, SRV…).
- dns
Value string - Value to set for this record.
- error string
- Error detail when the record is invalid or not found.
- level string
- Requirement level (
required,recommended,optional). - status string
- Validation status (
valid,invalid,notFound,validating).
- dns_
name str - Fully qualified name for this record.
- dns_
type str - Record type (TXT, MX, CNAME, SRV…).
- dns_
value str - Value to set for this record.
- error str
- Error detail when the record is invalid or not found.
- level str
- Requirement level (
required,recommended,optional). - status str
- Validation status (
valid,invalid,notFound,validating).
- dns
Name String - Fully qualified name for this record.
- dns
Type String - Record type (TXT, MX, CNAME, SRV…).
- dns
Value String - Value to set for this record.
- error String
- Error detail when the record is invalid or not found.
- level String
- Requirement level (
required,recommended,optional). - status String
- Validation status (
valid,invalid,notFound,validating).
Import
Mailbox domains can be imported using their UUID:
$ pulumi import scaleway:mailbox/domain:Domain example 11111111-1111-1111-1111-111111111111
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- scaleway pulumiverse/pulumi-scaleway
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
scalewayTerraform Provider.
published on Saturday, Oct 24, 2026 by pulumiverse