Skip to main content

Module region

Module region 

Source
Expand description

An AWS region: any well-formed name, plus the regions AWS was measured running MicroVMs in (TRAP-6).

§Why any name

AWS adds MicroVMs regions faster than a client release can follow: it launched in five regions on 2026-06-22, five more on 2026-08-19 and four more on 2026-10-22. A client that refuses a region AWS has launched in is wrong for every caller there until its next release, so since 1.3.0 Region parses any well-formed region name, as aws-types’ Region does, and keeps the measured set as data in MEASURED_REGIONS.

§What the measured set is for

In a region without MicroVMs, the first control-plane call can answer AccessDeniedException with the message field null. A denied implied IAM action, such as tagging an image on creation, returns the same response (measured 2026-10-17, us-east-1, API 2025-09-09; docs/PLATFORM.md). Nothing before that call can tell the two apart: the service model’s endpointPrefix is lambda, so an endpoint resolves for every region, and a ListMicrovms that answers is not evidence either, since regions AWS lists as planned, such as ca-central-1, answered it on 2026-10-24. So the client reports instead of refusing. When that response arrives for a region outside MEASURED_REGIONS, the error names the region as a cause to verify alongside the IAM policy (TRAP-6), and preflight’s region line reports the region as unmeasured, as an advisory.

MEASURED_REGIONS is the 14 regions the Pricing API priced MicroVMs in on 2026-10-24, which are the 14 AWS’s launch posts name. No SDK call states the set: get_available_endpoints returns an empty list while get_available_regions returns all 34 Lambda regions.

§The variants are deprecated

Until 1.3.0 this enum was closed over the five regions of the first launch, plus Region::Unlisted for a name a caller opted into. Its variants still work in 1.x, and a name outside the five still parses to Unlisted, but they’re deprecated: the constants Region::US_EAST_1 and four more replace the five, and Region::as_str reads any region. docs/STABILITY.md keeps a deprecated item working for at least six calendar months and two minor releases, so 2.0.0 at the earliest makes Region a name with no variants (#743).

§What parsing checks

The shape only. A region name becomes the middle of the endpoint’s host name (lambda.<region>.amazonaws.com), so FromStr accepts lowercase ASCII letters, digits and hyphens, starting with a letter and ending with a digit, with at least one hyphen and no two in a row, at most 63 characters. That refuses the typos an environment variable carries, a case change or a trailing space, and anything that would change the host.

Enums§

Region
An AWS region, by its name.

Constants§

MEASURED_REGIONS
The regions AWS was measured running MicroVMs in: the 14 the Pricing API priced on 2026-10-24, in the order AWS launched them (2026-06-22, 2026-08-19, 2026-10-22).
MICROVM_REGIONSDeprecated
The five regions of AWS’s first MicroVMs launch (2026-06-22), the ones with constants.