Skip to content

DedicatedIpPool

Source: src/AWS/SES/DedicatedIpPool.ts

An Amazon SES v2 dedicated IP pool — a named group of dedicated IP addresses used to send email, so you can isolate the sending reputation of different kinds of mail (e.g. marketing vs. transactional).

STANDARDMANAGED is an in-place scaling change. MANAGEDSTANDARD is not supported by AWS and replaces the pool.

Standard Pool

import * as SES from "alchemy/AWS/SES";
const pool = yield* SES.DedicatedIpPool("Marketing", {
scalingMode: "STANDARD",
});

Managed Pool

const pool = yield* SES.DedicatedIpPool("Transactional", {
scalingMode: "MANAGED",
});

Explicit Pool Name

// Without poolName a deterministic lowercase name is derived from
// app/stage/id. Pool names allow lowercase letters, numbers, and dashes.
const pool = yield* SES.DedicatedIpPool("Marketing", {
poolName: "acme-marketing",
});
// STANDARD -> MANAGED is applied in place — the pool keeps its name and
// its dedicated IPs.
const pool = yield* SES.DedicatedIpPool("Marketing", {
scalingMode: "MANAGED", // was "STANDARD"
});
// MANAGED -> STANDARD has no AWS API, so it REPLACES the pool: a new pool
// is created and the old one deleted, dropping its dedicated IPs.
// Give each kind of mail its own pool so a marketing reputation hit
// cannot take down password resets.
const marketing = yield* SES.DedicatedIpPool("Marketing", {
scalingMode: "STANDARD",
});
const transactional = yield* SES.DedicatedIpPool("Transactional", {
scalingMode: "MANAGED",
});