<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>SecretsManagerClient on Grafana Labs</title><link>https://grafana.com/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/</link><description>Recent content in SecretsManagerClient on Grafana Labs</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/index.xml" rel="self" type="application/rss+xml"/><item><title>createSecret</title><link>https://grafana.com/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/createsecret/</link><pubDate>Mon, 21 Sep 2026 15:16:28 +0000</pubDate><guid>https://grafana.com/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/createsecret/</guid><content><![CDATA[&lt;h1 id=&#34;createsecret&#34;&gt;createSecret&lt;/h1&gt;
&lt;p&gt;&lt;code&gt;SecretsManagerClient.createSecret&lt;/code&gt; creates a secret in AWS&amp;rsquo; secrets manager.&lt;/p&gt;
&lt;h3 id=&#34;parameters&#34;&gt;Parameters&lt;/h3&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Parameter&lt;/th&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;name&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;The friendly name of the secret. You can use forward slashes in the name to represent a path hierarchy.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;secretString&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;The text data to encrypt and store in this new version of the secret. We recommend you use a JSON structure of key/value pairs for your secret value.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;description&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;The description of the secret.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;versionID (optional)&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Optional unique version identifier for the created secret. If no versionID is provided, an auto-generated UUID will be used instead.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;tags (optional)&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Array&amp;lt;{&amp;ldquo;key&amp;rdquo;: &amp;ldquo;value&amp;rdquo;},&amp;gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;A list of tags to attach to the secret. Each tag is a key and value pair of strings in a JSON text string&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;returns&#34;&gt;Returns&lt;/h3&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Promise&amp;lt;
    &lt;a href=&#34;/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/secret/&#34;&gt;Secret&lt;/a&gt;&amp;gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;A Promise that fulfills with a 
    &lt;a href=&#34;/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/secret/&#34;&gt;Secret&lt;/a&gt; object that contains the details of the created secret.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;example&#34;&gt;Example&lt;/h3&gt;
&lt;!-- md-k6:skip --&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JavaScript&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-javascript&#34;&gt;import {
  AWSConfig,
  SecretsManagerClient,
} from &amp;#39;https://jslib.k6.io/aws/0.14.0/secrets-manager.js&amp;#39;;

const awsConfig = new AWSConfig({
  region: __ENV.AWS_REGION,
  accessKeyId: __ENV.AWS_ACCESS_KEY_ID,
  secretAccessKey: __ENV.AWS_SECRET_ACCESS_KEY,
});

const secretsManager = new SecretsManagerClient(awsConfig);
const testSecretName = &amp;#39;jslib-test-secret&amp;#39;;
const testSecretValue = &amp;#39;jslib-test-value&amp;#39;;

export default async function () {
  // Let&amp;#39;s create our test secret.
  const testSecret = await secretsManager.createSecret(
    testSecretName,
    testSecretValue,
    &amp;#39;this is a test secret, delete me.&amp;#39;
  );

  // Let&amp;#39;s get its value and verify it was indeed created.
  const createdSecret = await secretsManager.getSecret(testSecretName);
  console.log(JSON.stringify(createdSecret));
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;em&gt;A k6 script that will create a secret in AWS secrets manager&lt;/em&gt;&lt;/p&gt;
]]></content><description>&lt;h1 id="createsecret">createSecret&lt;/h1>
&lt;p>&lt;code>SecretsManagerClient.createSecret&lt;/code> creates a secret in AWS&amp;rsquo; secrets manager.&lt;/p>
&lt;h3 id="parameters">Parameters&lt;/h3>
&lt;section class="expand-table-wrapper">&lt;div class="button-div">
&lt;button class="expand-table-btn">Expand table&lt;/button>
&lt;/div>&lt;div class="responsive-table-wrapper">
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">Parameter&lt;/th>
&lt;th style="text-align: left">Type&lt;/th>
&lt;th style="text-align: left">Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">name&lt;/td>
&lt;td style="text-align: left">string&lt;/td>
&lt;td style="text-align: left">The friendly name of the secret. You can use forward slashes in the name to represent a path hierarchy.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">secretString&lt;/td>
&lt;td style="text-align: left">string&lt;/td>
&lt;td style="text-align: left">The text data to encrypt and store in this new version of the secret. We recommend you use a JSON structure of key/value pairs for your secret value.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">description&lt;/td>
&lt;td style="text-align: left">string&lt;/td>
&lt;td style="text-align: left">The description of the secret.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">versionID (optional)&lt;/td>
&lt;td style="text-align: left">string&lt;/td>
&lt;td style="text-align: left">Optional unique version identifier for the created secret. If no versionID is provided, an auto-generated UUID will be used instead.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">tags (optional)&lt;/td>
&lt;td style="text-align: left">Array&amp;lt;{&amp;ldquo;key&amp;rdquo;: &amp;ldquo;value&amp;rdquo;},&amp;gt;&lt;/td>
&lt;td style="text-align: left">A list of tags to attach to the secret. Each tag is a key and value pair of strings in a JSON text string&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/div>
&lt;/section>&lt;h3 id="returns">Returns&lt;/h3>
&lt;section class="expand-table-wrapper">&lt;div class="button-div">
&lt;button class="expand-table-btn">Expand table&lt;/button>
&lt;/div>&lt;div class="responsive-table-wrapper">
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">Type&lt;/th>
&lt;th style="text-align: left">Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">Promise&amp;lt;
&lt;a href="/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/secret/">Secret&lt;/a>&amp;gt;&lt;/td>
&lt;td style="text-align: left">A Promise that fulfills with a
&lt;a href="/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/secret/">Secret&lt;/a> object that contains the details of the created secret.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/div>
&lt;/section>&lt;h3 id="example">Example&lt;/h3>
&lt;!-- md-k6:skip -->
&lt;div class="code-snippet ">&lt;div class="lang-toolbar">
&lt;span class="lang-toolbar__item lang-toolbar__item-active">JavaScript&lt;/span>
&lt;span class="code-clipboard">
&lt;button x-data="app_code_snippet()" x-init="init()" @click="copy()">
&lt;img class="code-clipboard__icon" src="/media/images/icons/icon-copy-small-2.svg" alt="Copy code to clipboard" width="14" height="13">
&lt;span>Copy&lt;/span>
&lt;/button>
&lt;/span>
&lt;div class="lang-toolbar__border">&lt;/div>
&lt;/div>&lt;div class="code-snippet ">
&lt;pre data-expanded="false">&lt;code class="language-javascript">import {
AWSConfig,
SecretsManagerClient,
} from &amp;#39;https://jslib.k6.io/aws/0.14.0/secrets-manager.js&amp;#39;;
const awsConfig = new AWSConfig({
region: __ENV.AWS_REGION,
accessKeyId: __ENV.AWS_ACCESS_KEY_ID,
secretAccessKey: __ENV.AWS_SECRET_ACCESS_KEY,
});
const secretsManager = new SecretsManagerClient(awsConfig);
const testSecretName = &amp;#39;jslib-test-secret&amp;#39;;
const testSecretValue = &amp;#39;jslib-test-value&amp;#39;;
export default async function () {
// Let&amp;#39;s create our test secret.
const testSecret = await secretsManager.createSecret(
testSecretName,
testSecretValue,
&amp;#39;this is a test secret, delete me.&amp;#39;
);
// Let&amp;#39;s get its value and verify it was indeed created.
const createdSecret = await secretsManager.getSecret(testSecretName);
console.log(JSON.stringify(createdSecret));
}&lt;/code>&lt;/pre>
&lt;/div>
&lt;/div>
&lt;p>&lt;em>A k6 script that will create a secret in AWS secrets manager&lt;/em>&lt;/p></description></item><item><title>deleteSecret</title><link>https://grafana.com/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/deletesecret/</link><pubDate>Mon, 21 Sep 2026 15:16:28 +0000</pubDate><guid>https://grafana.com/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/deletesecret/</guid><content><![CDATA[&lt;h1 id=&#34;deletesecret&#34;&gt;deleteSecret&lt;/h1&gt;
&lt;p&gt;&lt;code&gt;SecretsManagerClient.deleteSecret&lt;/code&gt; deletes a secret from AWS&amp;rsquo; secrets manager.&lt;/p&gt;
&lt;h3 id=&#34;parameters&#34;&gt;Parameters&lt;/h3&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Parameter&lt;/th&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;secretID&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;The ARN or name of the secret to update.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;options&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;{ recoveryWindow: 30, noRecovery: false }&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Use options to control the deletion behavior. recoveryWindow defines how long a secret will remain “soft-deleted”, in days, before being hard-deleted. noRecovery set to true would hard-delete the secret immediately. Note that both options are exclusive.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;returns&#34;&gt;Returns&lt;/h3&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;Promise&amp;lt;void&amp;gt;&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;A promise that will be resolved when the secret is deleted&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;example&#34;&gt;Example&lt;/h3&gt;
&lt;!-- md-k6:skip --&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JavaScript&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-javascript&#34;&gt;import {
  AWSConfig,
  SecretsManagerClient,
} from &amp;#39;https://jslib.k6.io/aws/0.14.0/secrets-manager.js&amp;#39;;

const awsConfig = new AWSConfig({
  region: __ENV.AWS_REGION,
  accessKeyId: __ENV.AWS_ACCESS_KEY_ID,
  secretAccessKey: __ENV.AWS_SECRET_ACCESS_KEY,
});

const secretsManager = new SecretsManagerClient(awsConfig);
const testSecretName = &amp;#39;jslib-test-secret&amp;#39;;
const testSecretValue = &amp;#39;jslib-test-value&amp;#39;;

export default async function () {
  // Let&amp;#39;s make sure our test secret is created
  const testSecret = await secretsManager.createSecret(
    testSecretName,
    testSecretValue,
    &amp;#39;this is a test secret, delete me.&amp;#39;
  );

  // Let&amp;#39;s hard delete our test secret and verify it worked
  await secretsManager.deleteSecret(testSecretName, { noRecovery: true });
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;em&gt;A k6 script that will delete a secret in AWS secrets manager&lt;/em&gt;&lt;/p&gt;
]]></content><description>&lt;h1 id="deletesecret">deleteSecret&lt;/h1>
&lt;p>&lt;code>SecretsManagerClient.deleteSecret&lt;/code> deletes a secret from AWS&amp;rsquo; secrets manager.&lt;/p>
&lt;h3 id="parameters">Parameters&lt;/h3>
&lt;section class="expand-table-wrapper">&lt;div class="button-div">
&lt;button class="expand-table-btn">Expand table&lt;/button>
&lt;/div>&lt;div class="responsive-table-wrapper">
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">Parameter&lt;/th>
&lt;th style="text-align: left">Type&lt;/th>
&lt;th style="text-align: left">Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">secretID&lt;/td>
&lt;td style="text-align: left">string&lt;/td>
&lt;td style="text-align: left">The ARN or name of the secret to update.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">options&lt;/td>
&lt;td style="text-align: left">{ recoveryWindow: 30, noRecovery: false }&lt;/td>
&lt;td style="text-align: left">Use options to control the deletion behavior. recoveryWindow defines how long a secret will remain “soft-deleted”, in days, before being hard-deleted. noRecovery set to true would hard-delete the secret immediately. Note that both options are exclusive.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/div>
&lt;/section>&lt;h3 id="returns">Returns&lt;/h3>
&lt;section class="expand-table-wrapper">&lt;div class="button-div">
&lt;button class="expand-table-btn">Expand table&lt;/button>
&lt;/div>&lt;div class="responsive-table-wrapper">
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">Type&lt;/th>
&lt;th style="text-align: left">Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">&lt;code>Promise&amp;lt;void&amp;gt;&lt;/code>&lt;/td>
&lt;td style="text-align: left">A promise that will be resolved when the secret is deleted&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/div>
&lt;/section>&lt;h3 id="example">Example&lt;/h3>
&lt;!-- md-k6:skip -->
&lt;div class="code-snippet ">&lt;div class="lang-toolbar">
&lt;span class="lang-toolbar__item lang-toolbar__item-active">JavaScript&lt;/span>
&lt;span class="code-clipboard">
&lt;button x-data="app_code_snippet()" x-init="init()" @click="copy()">
&lt;img class="code-clipboard__icon" src="/media/images/icons/icon-copy-small-2.svg" alt="Copy code to clipboard" width="14" height="13">
&lt;span>Copy&lt;/span>
&lt;/button>
&lt;/span>
&lt;div class="lang-toolbar__border">&lt;/div>
&lt;/div>&lt;div class="code-snippet ">
&lt;pre data-expanded="false">&lt;code class="language-javascript">import {
AWSConfig,
SecretsManagerClient,
} from &amp;#39;https://jslib.k6.io/aws/0.14.0/secrets-manager.js&amp;#39;;
const awsConfig = new AWSConfig({
region: __ENV.AWS_REGION,
accessKeyId: __ENV.AWS_ACCESS_KEY_ID,
secretAccessKey: __ENV.AWS_SECRET_ACCESS_KEY,
});
const secretsManager = new SecretsManagerClient(awsConfig);
const testSecretName = &amp;#39;jslib-test-secret&amp;#39;;
const testSecretValue = &amp;#39;jslib-test-value&amp;#39;;
export default async function () {
// Let&amp;#39;s make sure our test secret is created
const testSecret = await secretsManager.createSecret(
testSecretName,
testSecretValue,
&amp;#39;this is a test secret, delete me.&amp;#39;
);
// Let&amp;#39;s hard delete our test secret and verify it worked
await secretsManager.deleteSecret(testSecretName, { noRecovery: true });
}&lt;/code>&lt;/pre>
&lt;/div>
&lt;/div>
&lt;p>&lt;em>A k6 script that will delete a secret in AWS secrets manager&lt;/em>&lt;/p></description></item><item><title>getSecret</title><link>https://grafana.com/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/getsecret/</link><pubDate>Mon, 21 Sep 2026 15:16:28 +0000</pubDate><guid>https://grafana.com/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/getsecret/</guid><content><![CDATA[&lt;h1 id=&#34;getsecret&#34;&gt;getSecret&lt;/h1&gt;
&lt;p&gt;&lt;code&gt;SecretsManagerClient.getSecret&lt;/code&gt; downloads a secret from AWS secrets manager.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Parameter&lt;/th&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;secretID&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;The ARN or name of the secret to retrieve.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;returns&#34;&gt;Returns&lt;/h3&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Promise&amp;lt;
    &lt;a href=&#34;/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/secret/&#34;&gt;Secret&lt;/a&gt;&amp;gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;A Promise that fulfills with a 
    &lt;a href=&#34;/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/secret/&#34;&gt;Secret&lt;/a&gt; describing and holding the downloaded secret.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;example&#34;&gt;Example&lt;/h3&gt;
&lt;!-- md-k6:skip --&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JavaScript&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-javascript&#34;&gt;import exec from &amp;#39;k6/execution&amp;#39;;

import {
  AWSConfig,
  SecretsManagerClient,
} from &amp;#39;https://jslib.k6.io/aws/0.14.0/secrets-manager.js&amp;#39;;

const awsConfig = new AWSConfig({
  region: __ENV.AWS_REGION,
  accessKeyId: __ENV.AWS_ACCESS_KEY_ID,
  secretAccessKey: __ENV.AWS_SECRET_ACCESS_KEY,
});

const secretsManager = new SecretsManagerClient(awsConfig);
const testSecretName = &amp;#39;jslib-test-secret&amp;#39;;

export default async function () {
  // List the secrets the AWS authentication configuration
  // gives us access to.
  const secrets = await secretsManager.listSecrets();
  if (secrets.filter((s) =&amp;gt; s.name === testSecretName).length == 0) {
    exec.test.abort(&amp;#39;test secret not found&amp;#39;);
  }

  // Let&amp;#39;s get our test secret&amp;#39;s value and print it.
  const secret = await secretsManager.getSecret(testSecretName);
  console.log(JSON.stringify(secret));
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;em&gt;A k6 script that will download a user&amp;rsquo;s secret from AWS secrets manager&lt;/em&gt;&lt;/p&gt;
]]></content><description>&lt;h1 id="getsecret">getSecret&lt;/h1>
&lt;p>&lt;code>SecretsManagerClient.getSecret&lt;/code> downloads a secret from AWS secrets manager.&lt;/p>
&lt;section class="expand-table-wrapper">&lt;div class="button-div">
&lt;button class="expand-table-btn">Expand table&lt;/button>
&lt;/div>&lt;div class="responsive-table-wrapper">
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">Parameter&lt;/th>
&lt;th style="text-align: left">Type&lt;/th>
&lt;th style="text-align: left">Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">secretID&lt;/td>
&lt;td style="text-align: left">string&lt;/td>
&lt;td style="text-align: left">The ARN or name of the secret to retrieve.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/div>
&lt;/section>&lt;h3 id="returns">Returns&lt;/h3>
&lt;section class="expand-table-wrapper">&lt;div class="button-div">
&lt;button class="expand-table-btn">Expand table&lt;/button>
&lt;/div>&lt;div class="responsive-table-wrapper">
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">Type&lt;/th>
&lt;th style="text-align: left">Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">Promise&amp;lt;
&lt;a href="/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/secret/">Secret&lt;/a>&amp;gt;&lt;/td>
&lt;td style="text-align: left">A Promise that fulfills with a
&lt;a href="/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/secret/">Secret&lt;/a> describing and holding the downloaded secret.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/div>
&lt;/section>&lt;h3 id="example">Example&lt;/h3>
&lt;!-- md-k6:skip -->
&lt;div class="code-snippet ">&lt;div class="lang-toolbar">
&lt;span class="lang-toolbar__item lang-toolbar__item-active">JavaScript&lt;/span>
&lt;span class="code-clipboard">
&lt;button x-data="app_code_snippet()" x-init="init()" @click="copy()">
&lt;img class="code-clipboard__icon" src="/media/images/icons/icon-copy-small-2.svg" alt="Copy code to clipboard" width="14" height="13">
&lt;span>Copy&lt;/span>
&lt;/button>
&lt;/span>
&lt;div class="lang-toolbar__border">&lt;/div>
&lt;/div>&lt;div class="code-snippet ">
&lt;pre data-expanded="false">&lt;code class="language-javascript">import exec from &amp;#39;k6/execution&amp;#39;;
import {
AWSConfig,
SecretsManagerClient,
} from &amp;#39;https://jslib.k6.io/aws/0.14.0/secrets-manager.js&amp;#39;;
const awsConfig = new AWSConfig({
region: __ENV.AWS_REGION,
accessKeyId: __ENV.AWS_ACCESS_KEY_ID,
secretAccessKey: __ENV.AWS_SECRET_ACCESS_KEY,
});
const secretsManager = new SecretsManagerClient(awsConfig);
const testSecretName = &amp;#39;jslib-test-secret&amp;#39;;
export default async function () {
// List the secrets the AWS authentication configuration
// gives us access to.
const secrets = await secretsManager.listSecrets();
if (secrets.filter((s) =&amp;gt; s.name === testSecretName).length == 0) {
exec.test.abort(&amp;#39;test secret not found&amp;#39;);
}
// Let&amp;#39;s get our test secret&amp;#39;s value and print it.
const secret = await secretsManager.getSecret(testSecretName);
console.log(JSON.stringify(secret));
}&lt;/code>&lt;/pre>
&lt;/div>
&lt;/div>
&lt;p>&lt;em>A k6 script that will download a user&amp;rsquo;s secret from AWS secrets manager&lt;/em>&lt;/p></description></item><item><title>listSecrets</title><link>https://grafana.com/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/listsecrets/</link><pubDate>Mon, 21 Sep 2026 15:16:28 +0000</pubDate><guid>https://grafana.com/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/listsecrets/</guid><content><![CDATA[&lt;h1 id=&#34;listsecrets&#34;&gt;listSecrets&lt;/h1&gt;
&lt;p&gt;&lt;code&gt;S3Client.listSecrets&lt;/code&gt; lists the secrets the authenticated user has access to in the region set by the &lt;code&gt;SecretsManagerClient&lt;/code&gt; instance&amp;rsquo;s configuration.&lt;/p&gt;
&lt;h3 id=&#34;returns&#34;&gt;Returns&lt;/h3&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Promise&amp;lt;Array&amp;lt;
    &lt;a href=&#34;/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/secret/&#34;&gt;Secret&lt;/a&gt;&amp;raquo;&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;A Promise that fulfills with an array of 
    &lt;a href=&#34;/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/secret/&#34;&gt;Secret&lt;/a&gt; objects.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;example&#34;&gt;Example&lt;/h3&gt;
&lt;!-- md-k6:skip --&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JavaScript&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-javascript&#34;&gt;import exec from &amp;#39;k6/execution&amp;#39;;

import {
  AWSConfig,
  SecretsManagerClient,
} from &amp;#39;https://jslib.k6.io/aws/0.14.0/secrets-manager.js&amp;#39;;

const awsConfig = new AWSConfig({
  region: __ENV.AWS_REGION,
  accessKeyId: __ENV.AWS_ACCESS_KEY_ID,
  secretAccessKey: __ENV.AWS_SECRET_ACCESS_KEY,
});

const secretsManager = new SecretsManagerClient(awsConfig);
const testSecretName = &amp;#39;jslib-test-secret&amp;#39;;

export default async function () {
  // List the secrets the AWS authentication configuration
  // gives us access to, and verify the test secret exists.
  const secrets = await secretsManager.listSecrets();
  if (secrets.filter((s) =&amp;gt; s.name === testSecretName).length == 0) {
    exec.test.abort(&amp;#39;test secret not found&amp;#39;);
  }

  console.log(JSON.stringify(secrets));
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;em&gt;A k6 script that will list a user&amp;rsquo;s secrets from AWS secrets manager&lt;/em&gt;&lt;/p&gt;
]]></content><description>&lt;h1 id="listsecrets">listSecrets&lt;/h1>
&lt;p>&lt;code>S3Client.listSecrets&lt;/code> lists the secrets the authenticated user has access to in the region set by the &lt;code>SecretsManagerClient&lt;/code> instance&amp;rsquo;s configuration.&lt;/p>
&lt;h3 id="returns">Returns&lt;/h3>
&lt;section class="expand-table-wrapper">&lt;div class="button-div">
&lt;button class="expand-table-btn">Expand table&lt;/button>
&lt;/div>&lt;div class="responsive-table-wrapper">
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">Type&lt;/th>
&lt;th style="text-align: left">Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">Promise&amp;lt;Array&amp;lt;
&lt;a href="/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/secret/">Secret&lt;/a>&amp;raquo;&lt;/td>
&lt;td style="text-align: left">A Promise that fulfills with an array of
&lt;a href="/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/secret/">Secret&lt;/a> objects.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/div>
&lt;/section>&lt;h3 id="example">Example&lt;/h3>
&lt;!-- md-k6:skip -->
&lt;div class="code-snippet ">&lt;div class="lang-toolbar">
&lt;span class="lang-toolbar__item lang-toolbar__item-active">JavaScript&lt;/span>
&lt;span class="code-clipboard">
&lt;button x-data="app_code_snippet()" x-init="init()" @click="copy()">
&lt;img class="code-clipboard__icon" src="/media/images/icons/icon-copy-small-2.svg" alt="Copy code to clipboard" width="14" height="13">
&lt;span>Copy&lt;/span>
&lt;/button>
&lt;/span>
&lt;div class="lang-toolbar__border">&lt;/div>
&lt;/div>&lt;div class="code-snippet ">
&lt;pre data-expanded="false">&lt;code class="language-javascript">import exec from &amp;#39;k6/execution&amp;#39;;
import {
AWSConfig,
SecretsManagerClient,
} from &amp;#39;https://jslib.k6.io/aws/0.14.0/secrets-manager.js&amp;#39;;
const awsConfig = new AWSConfig({
region: __ENV.AWS_REGION,
accessKeyId: __ENV.AWS_ACCESS_KEY_ID,
secretAccessKey: __ENV.AWS_SECRET_ACCESS_KEY,
});
const secretsManager = new SecretsManagerClient(awsConfig);
const testSecretName = &amp;#39;jslib-test-secret&amp;#39;;
export default async function () {
// List the secrets the AWS authentication configuration
// gives us access to, and verify the test secret exists.
const secrets = await secretsManager.listSecrets();
if (secrets.filter((s) =&amp;gt; s.name === testSecretName).length == 0) {
exec.test.abort(&amp;#39;test secret not found&amp;#39;);
}
console.log(JSON.stringify(secrets));
}&lt;/code>&lt;/pre>
&lt;/div>
&lt;/div>
&lt;p>&lt;em>A k6 script that will list a user&amp;rsquo;s secrets from AWS secrets manager&lt;/em>&lt;/p></description></item><item><title>putSecretValue</title><link>https://grafana.com/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/putsecretvalue/</link><pubDate>Mon, 21 Sep 2026 15:16:28 +0000</pubDate><guid>https://grafana.com/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/putsecretvalue/</guid><content><![CDATA[&lt;h1 id=&#34;putsecretvalue&#34;&gt;putSecretValue&lt;/h1&gt;
&lt;p&gt;&lt;code&gt;SecretsManagerClient.putSecretValue&lt;/code&gt; updates a secret&amp;rsquo;s value in AWS&amp;rsquo; secrets manager.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Parameter&lt;/th&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;secretID&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;The ARN or name of the secret to update.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;secretString&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;The text data to encrypt and store in this new version of the secret. We recommend you use a JSON structure of key/value pairs for your secret value.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;versionID (optional)&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Optional unique version identifier for the updated version of the secret. If no versionID is provided, an auto-generated UUID will be used instead.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;tags (optional)&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Array&amp;lt;{&amp;ldquo;key&amp;rdquo;: &amp;ldquo;value&amp;rdquo;},&amp;gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;A list of tags to attach to the secret. Each tag is a key and value pair of strings in a JSON text string&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;returns&#34;&gt;Returns&lt;/h3&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Promise&amp;lt;
    &lt;a href=&#34;/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/secret/&#34;&gt;Secret&lt;/a&gt;&amp;gt;&lt;/td&gt;
              &lt;td&gt;A Promise that fulfills with the updated 
    &lt;a href=&#34;/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/secret/&#34;&gt;Secret&lt;/a&gt;.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;example&#34;&gt;Example&lt;/h3&gt;
&lt;!-- md-k6:skip --&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JavaScript&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-javascript&#34;&gt;import exec from &amp;#39;k6/execution&amp;#39;;

import {
  AWSConfig,
  SecretsManagerClient,
} from &amp;#39;https://jslib.k6.io/aws/0.14.0/secrets-manager.js&amp;#39;;

const awsConfig = new AWSConfig({
  region: __ENV.AWS_REGION,
  accessKeyId: __ENV.AWS_ACCESS_KEY_ID,
  secretAccessKey: __ENV.AWS_SECRET_ACCESS_KEY,
});

const secretsManager = new SecretsManagerClient(awsConfig);
const testSecretName = &amp;#39;jslib-test-secret&amp;#39;;
const testSecretValue = &amp;#39;jslib-test-value&amp;#39;;

export default async function () {
  // Let&amp;#39;s make sure our test secret is created
  const testSecret = await secretsManager.createSecret(
    testSecretName,
    testSecretValue,
    &amp;#39;this is a test secret, delete me.&amp;#39;
  );

  // Now that we know the secret exist, let&amp;#39;s update its value
  const newTestSecretValue = &amp;#39;new-test-value&amp;#39;;
  const u = await secretsManager.putSecretValue(testSecretName, newTestSecretValue);

  // Let&amp;#39;s get its value back and verify it was indeed updated
  const updatedSecret = await secretsManager.getSecret(testSecretName);
  if (updatedSecret.secret !== newTestSecretValue) {
    exec.test.abort(&amp;#39;unable to update test secret&amp;#39;);
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;em&gt;A k6 script that will update a secret&amp;rsquo;s value in AWS secrets manager&lt;/em&gt;&lt;/p&gt;
]]></content><description>&lt;h1 id="putsecretvalue">putSecretValue&lt;/h1>
&lt;p>&lt;code>SecretsManagerClient.putSecretValue&lt;/code> updates a secret&amp;rsquo;s value in AWS&amp;rsquo; secrets manager.&lt;/p>
&lt;section class="expand-table-wrapper">&lt;div class="button-div">
&lt;button class="expand-table-btn">Expand table&lt;/button>
&lt;/div>&lt;div class="responsive-table-wrapper">
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">Parameter&lt;/th>
&lt;th style="text-align: left">Type&lt;/th>
&lt;th style="text-align: left">Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">secretID&lt;/td>
&lt;td style="text-align: left">string&lt;/td>
&lt;td style="text-align: left">The ARN or name of the secret to update.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">secretString&lt;/td>
&lt;td style="text-align: left">string&lt;/td>
&lt;td style="text-align: left">The text data to encrypt and store in this new version of the secret. We recommend you use a JSON structure of key/value pairs for your secret value.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">versionID (optional)&lt;/td>
&lt;td style="text-align: left">string&lt;/td>
&lt;td style="text-align: left">Optional unique version identifier for the updated version of the secret. If no versionID is provided, an auto-generated UUID will be used instead.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">tags (optional)&lt;/td>
&lt;td style="text-align: left">Array&amp;lt;{&amp;ldquo;key&amp;rdquo;: &amp;ldquo;value&amp;rdquo;},&amp;gt;&lt;/td>
&lt;td style="text-align: left">A list of tags to attach to the secret. Each tag is a key and value pair of strings in a JSON text string&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/div>
&lt;/section>&lt;h3 id="returns">Returns&lt;/h3>
&lt;section class="expand-table-wrapper">&lt;div class="button-div">
&lt;button class="expand-table-btn">Expand table&lt;/button>
&lt;/div>&lt;div class="responsive-table-wrapper">
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">Type&lt;/th>
&lt;th>Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">Promise&amp;lt;
&lt;a href="/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/secret/">Secret&lt;/a>&amp;gt;&lt;/td>
&lt;td>A Promise that fulfills with the updated
&lt;a href="/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/secret/">Secret&lt;/a>.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/div>
&lt;/section>&lt;h3 id="example">Example&lt;/h3>
&lt;!-- md-k6:skip -->
&lt;div class="code-snippet ">&lt;div class="lang-toolbar">
&lt;span class="lang-toolbar__item lang-toolbar__item-active">JavaScript&lt;/span>
&lt;span class="code-clipboard">
&lt;button x-data="app_code_snippet()" x-init="init()" @click="copy()">
&lt;img class="code-clipboard__icon" src="/media/images/icons/icon-copy-small-2.svg" alt="Copy code to clipboard" width="14" height="13">
&lt;span>Copy&lt;/span>
&lt;/button>
&lt;/span>
&lt;div class="lang-toolbar__border">&lt;/div>
&lt;/div>&lt;div class="code-snippet ">
&lt;pre data-expanded="false">&lt;code class="language-javascript">import exec from &amp;#39;k6/execution&amp;#39;;
import {
AWSConfig,
SecretsManagerClient,
} from &amp;#39;https://jslib.k6.io/aws/0.14.0/secrets-manager.js&amp;#39;;
const awsConfig = new AWSConfig({
region: __ENV.AWS_REGION,
accessKeyId: __ENV.AWS_ACCESS_KEY_ID,
secretAccessKey: __ENV.AWS_SECRET_ACCESS_KEY,
});
const secretsManager = new SecretsManagerClient(awsConfig);
const testSecretName = &amp;#39;jslib-test-secret&amp;#39;;
const testSecretValue = &amp;#39;jslib-test-value&amp;#39;;
export default async function () {
// Let&amp;#39;s make sure our test secret is created
const testSecret = await secretsManager.createSecret(
testSecretName,
testSecretValue,
&amp;#39;this is a test secret, delete me.&amp;#39;
);
// Now that we know the secret exist, let&amp;#39;s update its value
const newTestSecretValue = &amp;#39;new-test-value&amp;#39;;
const u = await secretsManager.putSecretValue(testSecretName, newTestSecretValue);
// Let&amp;#39;s get its value back and verify it was indeed updated
const updatedSecret = await secretsManager.getSecret(testSecretName);
if (updatedSecret.secret !== newTestSecretValue) {
exec.test.abort(&amp;#39;unable to update test secret&amp;#39;);
}
}&lt;/code>&lt;/pre>
&lt;/div>
&lt;/div>
&lt;p>&lt;em>A k6 script that will update a secret&amp;rsquo;s value in AWS secrets manager&lt;/em>&lt;/p></description></item><item><title>Secret</title><link>https://grafana.com/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/secret/</link><pubDate>Mon, 21 Sep 2026 15:16:28 +0000</pubDate><guid>https://grafana.com/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/secret/</guid><content><![CDATA[&lt;h1 id=&#34;secret&#34;&gt;Secret&lt;/h1&gt;
&lt;p&gt;Secret is returned by the SecretsManagerClient.* methods that query secrets. Namely, 
    &lt;a href=&#34;/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/listsecrets/&#34;&gt;listSecrets&lt;/a&gt;,

    &lt;a href=&#34;/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/getsecret/&#34;&gt;getSecret&lt;/a&gt;,

    &lt;a href=&#34;/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/createsecret/&#34;&gt;createSecret&lt;/a&gt;, and

    &lt;a href=&#34;/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/putsecretvalue/&#34;&gt;putSecretValue&lt;/a&gt; returns either an instance or array of Secret objects. The Secret object describes an Amazon Secrets Manager secret.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Name&lt;/th&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;Secret.name&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;The friendly name of the secret. You can use forward slashes in the name to represent a path hierarchy.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;Secret.arn&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;The Amazon Resource Name (ARN) of the secret.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;Secret.createdAt&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;number&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;The date and time (timestamp) when a secret was created.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;Secret.lastAccessDate&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;number&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;The last date that this secret was accessed. This value is truncated to midnight of the date and therefore shows only the date, not the time.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;Secret.lastChangedDate&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;number&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;The last date and time that this secret was modified in any way.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;Secret.tags&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Array&amp;lt;{&amp;ldquo;key&amp;rdquo;: &amp;ldquo;value&amp;rdquo;}&amp;gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;The list of user-defined tags associated with the secret.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;example&#34;&gt;Example&lt;/h3&gt;
&lt;!-- md-k6:skip --&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JavaScript&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-javascript&#34;&gt;import exec from &amp;#39;k6/execution&amp;#39;;

import {
  AWSConfig,
  SecretsManagerClient,
} from &amp;#39;https://jslib.k6.io/aws/0.14.0/secrets-manager.js&amp;#39;;

const awsConfig = new AWSConfig({
  region: __ENV.AWS_REGION,
  accessKeyId: __ENV.AWS_ACCESS_KEY_ID,
  secretAccessKey: __ENV.AWS_SECRET_ACCESS_KEY,
});

const secretsManager = new SecretsManagerClient(awsConfig);
const testSecretName = &amp;#39;jslib-test-secret&amp;#39;;

export default async function () {
  // List the secrets the AWS authentication configuration
  // gives us access to.
  const secrets = await secretsManager.listSecrets();

  // If our test secret does not exist, abort the execution.
  if (secrets.filter((s) =&amp;gt; s.name === testSecretName).length == 0) {
    exec.test.abort(&amp;#39;test secret not found&amp;#39;);
  }

  // Let&amp;#39;s get it and print its content
  const downloadedSecret = await secretsManager.getSecret(testSecretName);
  console.log(downloadedSecret.secret);
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;em&gt;A k6 script that will query the user&amp;rsquo;s secrets and print a test secret&amp;rsquo;s value&lt;/em&gt;&lt;/p&gt;
]]></content><description>&lt;h1 id="secret">Secret&lt;/h1>
&lt;p>Secret is returned by the SecretsManagerClient.* methods that query secrets. Namely,
&lt;a href="/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/listsecrets/">listSecrets&lt;/a>,
&lt;a href="/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/getsecret/">getSecret&lt;/a>,
&lt;a href="/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/createsecret/">createSecret&lt;/a>, and
&lt;a href="/docs/k6/v2.3.x/javascript-api/jslib/aws/secretsmanagerclient/putsecretvalue/">putSecretValue&lt;/a> returns either an instance or array of Secret objects. The Secret object describes an Amazon Secrets Manager secret.&lt;/p></description></item></channel></rss>