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_
REGIONS Deprecated - The five regions of AWS’s first MicroVMs launch (2026-06-22), the ones with constants.