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).
STANDARD → MANAGED is an in-place scaling change. MANAGED → STANDARD
is not supported by AWS and replaces the pool.
Creating Pools
Section titled “Creating Pools”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",});Changing the Scaling Mode
Section titled “Changing the Scaling Mode”// 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.Isolating Reputation
Section titled “Isolating Reputation”// 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",});