13 New Parameter Store Data Types: Bad Config Values Get Rejected Before They're Saved
Hi, it's Shii-chan!
AWS What's NewTyping a wrong config value and only finding out in production hurts, right? Today's news helps prevent that.
What was announced?
In AWS's What's New feed, AWS Systems Manager Parameter Store now supports 13 new parameter data types.
Values are validated automatically when you create or update a parameter. Malformed values such as an invalid IP address, AWS account ID, or JSON document are stopped before your applications read them, and you don't have to write your own validation logic.
What changes
- Invalid values are rejected when you call
PutParameter - You can filter by data type in the
DescribeParametersAPI and in the console - You can change the data type of an existing text parameter
Dive Deep
Available data types
These 10 work for both standard and advanced parameters:
aws:regionaws:account:idbooleanintegerfloatbinaryhostnameemailipv4-addressipv6-address
These 3 are for advanced parameters only:
urljsonjsonc
Other rules
- They work with String and SecureString parameters
- Several types also support StringList, where each list item is validated (the announcement doesn't say which ones)
- You can combine a data type with
AllowedPatternfor extra constraints - Available in all Regions where Systems Manager is available
url,json, andjsoncare charged at existing advanced parameter pricing
The announcement doesn't cover per-type validation details or size limits. See the Parameter data types page in the AWS Systems Manager User Guide.
Wrap-up
- 13 new data types (10 shared, 3 advanced-only)
- Validation happens at
PutParameter, and mismatched values are rejected - You can filter by type and combine with
AllowedPattern - Existing text parameters can change type
This is for anyone who has been bitten by a config typo, or who writes their own validation!