Join our biggest community event of the year—get a first look at Grafana 12, plus a science fair and sessions on Prometheus, OpenTelemetry, and more. Save 20% with 3+ or 10% when you bring a friend.
Retrieves a parameter from Amazon Systems Manager.
Throws
SystemsManagerClient methods throw errors in case of failure.
Error
Condition
InvalidSignatureError
when using invalid credentials
SystemsManagerServiceError
when AWS replied to the requested operation with an error
Example
JavaScript
import exec from'k6/execution';import{
AWSConfig,
SystemsManagerClient,}from'https://jslib.k6.io/aws/0.12.3/ssm.js';const awsConfig =newAWSConfig({region: __ENV.AWS_REGION,accessKeyId: __ENV.AWS_ACCESS_KEY_ID,secretAccessKey: __ENV.AWS_SECRET_ACCESS_KEY,sessionToken: __ENV.AWS_SESSION_TOKEN,});const systemsManager =newSystemsManagerClient(awsConfig);const testParameterName ='jslib-test-parameter';const testParameterValue ='jslib-test-value';const testParameterSecretName ='jslib-test-parameter-secret';// this value was created with --type SecureStringconst testParameterSecretValue ='jslib-test-secret-value';exportdefaultasyncfunction(){// Currently the parameter needs to be created before hand// Let's get its value// getParameter returns a parameter object: e.g. {name: string, value: string...}const parameter =await systemsManager.getParameter(testParameterName);if(parameter.value !== testParameterValue){
exec.test.abort('test parameter not found');}// Let's get the secret value with decryption// destructure the parameter object to get to the values you wantconst{value: encryptedParameterValue }=await systemsManager.getParameter(
testParameterSecretName,true);if(encryptedParameterValue !== testParameterSecretValue){
exec.test.abort('encrypted test parameter not found');}}
A k6 script querying a user’s Systems Manager Service parameter