Discovering public parameters in Parameter Store
You can search for public parameters using the Parameter Store console or the AWS Command Line Interface.
A public parameter name begins with aws/service/list
. The next part
of the name corresponds to the service that owns that parameter.
The following is a list of some services which provide public parameters:
-
ami-amazon-linux-latest
-
ami-windows-latest
-
ec2-macos
-
appmesh
-
aws-for-fluent-bit
-
bottlerocket
-
canonical
-
cloud9
-
datasync
-
debian
-
ecs
-
eks
-
freebsd
-
global-infrastructure
-
marketplace
-
storagegateway
Not all public parameters are published to every AWS Region.
Finding public parameters using the Parameter Store console
You must have at least one parameter in your AWS account and AWS Region before you can search for public parameters using the console.
To find public parameters using the console
Open the AWS Systems Manager console at https://console.aws.amazon.com/systems-manager/
. In the navigation pane, choose Parameter Store.
-
Choose the Public parameters tab.
-
Choose the Select a service dropdown. Choose the service whose parameters you want to use.
-
(Optional) Filter the parameters owned by the service you selected by entering more information into the search bar.
-
Choose the public parameter you want to use.
Finding public parameters using the AWS CLI
Use describe-parameters
for discovery of public parameters.
Use get-parameters-by-path
to get the actual path for a service
listed under /aws/service/list
. To get the service's path, remove
/list
from the path. For example,
/aws/service/list/ecs
becomes
/aws/service/ecs
.
To retrieve a list of public parameters owned by different services in Parameter Store, run the following command.
aws ssm get-parameters-by-path --path /aws/service/list
The command returns information like the following. This example has been truncated for space.
{ "Parameters": [ { "Name": "/aws/service/list/ami-al-latest", "Type": "String", "Value": "/aws/service/ami-al-latest/", "Version": 1, "LastModifiedDate": "2021-01-29T10:25:10.902000-08:00", "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/list/ami-al-latest", "DataType": "text" }, { "Name": "/aws/service/list/ami-windows-latest", "Type": "String", "Value": "/aws/service/ami-windows-latest/", "Version": 1, "LastModifiedDate": "2021-01-29T10:25:12.567000-08:00", "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/list/ami-windows-latest", "DataType": "text" }, { "Name": "/aws/service/list/aws-storage-gateway-latest", "Type": "String", "Value": "/aws/service/aws-storage-gateway-latest/", "Version": 1, "LastModifiedDate": "2021-01-29T10:25:09.903000-08:00", "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/list/aws-storage-gateway-latest", "DataType": "text" }, { "Name": "/aws/service/list/global-infrastructure", "Type": "String", "Value": "/aws/service/global-infrastructure/", "Version": 1, "LastModifiedDate": "2021-01-29T10:25:11.901000-08:00", "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/list/global-infrastructure", "DataType": "text" } ] }
If you want to view parameters owned by a specific service, choose the service
from the list that was produced after running the earlier command. Then, make a
get-parameters-by-path
call using the name of your desired
service.
For example, /aws/service/global-infrastructure
. The path might
be one-level (only calls parameters that match the exact values given) or
recursive (contains elements in the path beyond what you have given).
Note
The /aws/service/global-infrastructure
path is not supported
for queries in all Regions. For information, see Calling
public parameters for AWS services, Regions, endpoints, Availability Zones,
local zones, and Wavelength Zones in Parameter Store.
If no results are returned for the service you specify, add the
--recursive
flag and run the command again.
aws ssm get-parameters-by-path --path /aws/service/global-infrastructure
This returns all parameters owned by global-infrastructure
. The
following is an example.
{ "Parameters": [ { "Name": "/aws/service/global-infrastructure/current-region", "Type": "String", "LastModifiedDate": "2019-06-21T05:15:34.252000-07:00", "Version": 1, "Tier": "Standard", "Policies": [], "DataType": "text" }, { "Name": "/aws/service/global-infrastructure/version", "Type": "String", "LastModifiedDate": "2019-02-04T06:59:32.875000-08:00", "Version": 1, "Tier": "Standard", "Policies": [], "DataType": "text" } ] }
You can also view parameters owned by a specific service by using the
Option:BeginsWith
filter.
aws ssm describe-parameters --parameter-filters "Key=Name, Option=BeginsWith, Values=/aws/service/ami-amazon-linux-latest"
The command returns information like the following. This example output has been truncated for space.
{ "Parameters": [ { "Name": "/aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-ebs", "Type": "String", "LastModifiedDate": "2021-01-26T13:39:40.686000-08:00", "Version": 25, "Tier": "Standard", "Policies": [], "DataType": "text" }, { "Name": "/aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-gp2", "Type": "String", "LastModifiedDate": "2021-01-26T13:39:40.807000-08:00", "Version": 25, "Tier": "Standard", "Policies": [], "DataType": "text" }, { "Name": "/aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-s3", "Type": "String", "LastModifiedDate": "2021-01-26T13:39:40.920000-08:00", "Version": 25, "Tier": "Standard", "Policies": [], "DataType": "text" } ] }
Note
The returned parameters might be different when you use
Option=BeginsWith
because it uses a different search
pattern.