Skip to content

Commit bfc4b2b

Browse files
committed
Update jslib-aws SecretsManager's documentation to reflect async syntax
1 parent 9ff3f8a commit bfc4b2b

File tree

7 files changed

+54
-30
lines changed

7 files changed

+54
-30
lines changed

src/data/markdown/docs/20 jslib/01 jslib/01 aws/00 SecretsManagerClient.md

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,11 @@ excerpt: 'SecretsManagerClient allows interacting with AWS secrets stored in Sec
77

88
<BlockingAwsBlockquote />
99

10-
SecretsManagerClient allows interacting with secrets stored in AWS's Secrets Manager. Namely, it allows the user to list, download, create, modify and delete secrets. Note that the SecretsManagerClient operations are blocking, and we recommend reserving their usage to the [`setup`](/using-k6/test-lifecycle/) and [`teardown`](/using-k6/test-lifecycle/) functions as much as possible.
10+
`SecretsManagerClient` interacts with the AWS Secrets Manager.
1111

12-
SecretsManagerClient is included in both the dedicated jslib `secrets-manager.js` bundle, and the `aws.js` one, containing all the services clients.
12+
With it, the user can list secrets owned by the authenticated user, download secrets, create new secrets, update secrets, and delete secrets.
13+
14+
`SecretsManagerClient` is included in both the dedicated jslib `secrets-manager.js` bundle, and the `aws.js` one, containing all the services clients.
1315

1416
### Methods
1517

@@ -49,39 +51,39 @@ const secretsManager = new SecretsManagerClient(awsConfig);
4951
const testSecretName = 'jslib-test-secret';
5052
const testSecretValue = 'jslib-test-value';
5153

52-
export function setup() {
54+
export async function setup() {
5355
// Let's make sure our test secret is created
54-
const testSecret = secretsManager.createSecret(
56+
const testSecret = await secretsManager.createSecret(
5557
testSecretName,
5658
testSecretValue,
5759
'this is a test secret, delete me.'
5860
);
5961

6062
// List the secrets the AWS authentication configuration
6163
// gives us access to, and verify the creation was successful.
62-
const secrets = secretsManager.listSecrets();
64+
const secrets = await secretsManager.listSecrets();
6365
if (!secrets.filter((s) => s.name === testSecret.name).length == 0) {
6466
exec.test.abort('test secret not found');
6567
}
6668
}
6769

68-
export default function () {
70+
export default async function () {
6971
// Knnowing that we know the secret exist, let's update its value
7072
const newTestSecretValue = 'new-test-value';
71-
secretsManager.putSecretValue(testSecretName, newTestSecretValue);
73+
await secretsManager.putSecretValue(testSecretName, newTestSecretValue);
7274

7375
// Let's get its value and verify it was indeed updated
74-
const updatedSecret = secretsManager.getSecret(testSecretName);
76+
const updatedSecret = await secretsManager.getSecret(testSecretName);
7577
if (updatedSecret.secret !== newTestSecretValue) {
7678
exec.test.abort('unable to update test secret');
7779
}
7880

7981
// Let's now use our secret in the context of our load test...
8082
}
8183

82-
export function teardown() {
84+
export async function teardown() {
8385
// Finally, let's clean after ourselves and delete our test secret
84-
secretsManager.deleteSecret(testSecretName, { noRecovery: true });
86+
await secretsManager.deleteSecret(testSecretName, { noRecovery: true });
8587
}
8688
```
8789

src/data/markdown/docs/20 jslib/01 jslib/01 aws/SecretsManagerClient/00 createSecret(name, secretString, description, [versionID], [tags]).md

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ excerpt: 'SecretsManagerClient.createSecret creates a new secret'
66

77
`SecretsManagerClient.createSecret` creates a secret in AWS' secrets manager.
88

9+
### Parameters
10+
911
| Parameter | Type | Description |
1012
| :------------------- | :----------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------- |
1113
| name | string | The friendly name of the secret. You can use forward slashes in the name to represent a path hierarchy. |
@@ -14,6 +16,12 @@ excerpt: 'SecretsManagerClient.createSecret creates a new secret'
1416
| versionID (optional) | string | Optional unique version identifier for the created secret. If no versionID is provided, an auto-generated UUID will be used instead. |
1517
| tags (optional) | Array<{"key": "value"},> | A list of tags to attach to the secret. Each tag is a key and value pair of strings in a JSON text string |
1618

19+
### Returns
20+
21+
| Type | Description |
22+
| :------- | :----------------------------------------------------------------------------------------------------------------------------------------------------- |
23+
| Promise<[Secret](/javascript-api/jslib/aws/secretsmanagerclient/secret)> | A Promise that fulfills with a [Secret](/javascript-api/jslib/aws/secretsmanagerclient/secret) object that contains the details of the created secret. |
24+
1725
### Example
1826

1927
<CodeGroup labels={[]}>
@@ -31,16 +39,16 @@ const secretsManager = new SecretsManagerClient(awsConfig);
3139
const testSecretName = 'jslib-test-secret';
3240
const testSecretValue = 'jslib-test-value';
3341

34-
export default function () {
42+
export default async function () {
3543
// Let's create our test secret.
36-
const testSecret = secretsManager.createSecret(
44+
const testSecret = await secretsManager.createSecret(
3745
testSecretName,
3846
testSecretValue,
3947
'this is a test secret, delete me.'
4048
);
4149

4250
// Let's get its value and verify it was indeed created.
43-
const createdSecret = secretsManager.getSecret(testSecretName);
51+
const createdSecret = await secretsManager.getSecret(testSecretName);
4452
console.log(JSON.stringify(createdSecret));
4553
}
4654
```

src/data/markdown/docs/20 jslib/01 jslib/01 aws/SecretsManagerClient/00 deleteSecret.md

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,19 @@ excerpt: 'SecretsManagerClient.deleteSecret deletes a secret'
66

77
`SecretsManagerClient.deleteSecret` deletes a secret from AWS' secrets manager.
88

9+
### Parameters
10+
911
| Parameter | Type | Description |
1012
| :-------- | :---------------------------------------- | :--------------------------------------- |
1113
| secretID | string | The ARN or name of the secret to update. |
1214
| options | { recoveryWindow: 30, noRecovery: false } | 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. |
1315

16+
### Returns
17+
18+
| Type | Description |
19+
| :-------------- | :--------------------------------------------------------- |
20+
| `Promise<void>` | A promise that will be resolved when the secret is deleted |
21+
1422
### Example
1523

1624
<CodeGroup labels={[]}>
@@ -28,16 +36,16 @@ const secretsManager = new SecretsManagerClient(awsConfig);
2836
const testSecretName = 'jslib-test-secret';
2937
const testSecretValue = 'jslib-test-value';
3038

31-
export default function () {
39+
export default async function () {
3240
// Let's make sure our test secret is created
33-
const testSecret = secretsManager.createSecret(
41+
const testSecret = await secretsManager.createSecret(
3442
testSecretName,
3543
testSecretValue,
3644
'this is a test secret, delete me.'
3745
);
3846

3947
// Let's hard delete our test secret and verify it worked
40-
secretsManager.deleteSecret(testSecretName, { noRecovery: true });
48+
await secretsManager.deleteSecret(testSecretName, { noRecovery: true });
4149
}
4250
```
4351

src/data/markdown/docs/20 jslib/01 jslib/01 aws/SecretsManagerClient/00 getSecret(secretID).md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ excerpt: 'SecretsManagerClient.getSecret(secretID) downloads a secret from AWS s
1414

1515
| Type | Description |
1616
| :-------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------- |
17-
| [Secret](/javascript-api/jslib/aws/secretsmanagerclient/secret) | A [Secret](/javascript-api/jslib/aws/secretsmanagerclient/secret) describing and holding the downloaded secret. |
17+
| Promise<[Secret](/javascript-api/jslib/aws/secretsmanagerclient/secret)> | A Promise that fulfills with a [Secret](/javascript-api/jslib/aws/secretsmanagerclient/secret) describing and holding the downloaded secret. |
1818

1919
### Example
2020

@@ -34,16 +34,16 @@ const awsConfig = new AWSConfig({
3434
const secretsManager = new SecretsManagerClient(awsConfig);
3535
const testSecretName = 'jslib-test-secret';
3636

37-
export default function () {
37+
export default async function () {
3838
// List the secrets the AWS authentication configuration
3939
// gives us access to.
40-
const secrets = secretsManager.listSecrets();
40+
const secrets = await secretsManager.listSecrets();
4141
if (secrets.filter((s) => s.name === testSecretName).length == 0) {
4242
exec.test.abort('test secret not found');
4343
}
4444

4545
// Let's get our test secret's value and print it.
46-
const secret = secretsManager.getSecret(testSecretName);
46+
const secret = await secretsManager.getSecret(testSecretName);
4747
console.log(JSON.stringify(secret));
4848
}
4949
```

src/data/markdown/docs/20 jslib/01 jslib/01 aws/SecretsManagerClient/00 listSecrets().md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ excerpt: 'SecretsManagerClient.listSecrets lists the secrets the authenticated u
1010

1111
| Type | Description |
1212
| :--------------------------------------------------------------------- | :----------------------------------------------------------------------------------- |
13-
| Array<[Secret](/javascript-api/jslib/aws/secretsmanagerclient/secret)> | An array of [Secret](/javascript-api/jslib/aws/secretsmanagerclient/secret) objects. |
13+
| Promise<Array<[Secret](/javascript-api/jslib/aws/secretsmanagerclient/secret)>> | A Promise that fulfills with an array of [Secret](/javascript-api/jslib/aws/secretsmanagerclient/secret) objects. |
1414

1515
### Example
1616

@@ -30,10 +30,10 @@ const awsConfig = new AWSConfig({
3030
const secretsManager = new SecretsManagerClient(awsConfig);
3131
const testSecretName = 'jslib-test-secret';
3232

33-
export default function () {
33+
export default async function () {
3434
// List the secrets the AWS authentication configuration
3535
// gives us access to, and verify the test secret exists.
36-
const secrets = secretsManager.listSecrets();
36+
const secrets = await secretsManager.listSecrets();
3737
if (secrets.filter((s) => s.name === testSecretName).length == 0) {
3838
exec.test.abort('test secret not found');
3939
}

src/data/markdown/docs/20 jslib/01 jslib/01 aws/SecretsManagerClient/00 putSecretValue(secretID, secretString, [versionID]).md

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,12 @@ excerpt: "SecretsManagerClient.putSecretValue updates an existing secret's value
1313
| versionID (optional) | string | Optional unique version identifier for the updated version of the secret. If no versionID is provided, an auto-generated UUID will be used instead. |
1414
| tags (optional) | Array<{"key": "value"},> | A list of tags to attach to the secret. Each tag is a key and value pair of strings in a JSON text string |
1515

16+
### Returns
17+
18+
| Type | Description |
19+
| :--- | ----------- |
20+
| Promise<[Secret](/javascript-api/jslib/aws/secretsmanagerclient/secret)> | A Promise that fulfills with the updated [Secret](/javascript-api/jslib/aws/secretsmanagerclient/secret). |
21+
1622
### Example
1723

1824
<CodeGroup labels={[]}>
@@ -32,20 +38,20 @@ const secretsManager = new SecretsManagerClient(awsConfig);
3238
const testSecretName = 'jslib-test-secret';
3339
const testSecretValue = 'jslib-test-value';
3440

35-
export default function () {
41+
export default async function () {
3642
// Let's make sure our test secret is created
37-
const testSecret = secretsManager.createSecret(
43+
const testSecret = await secretsManager.createSecret(
3844
testSecretName,
3945
testSecretValue,
4046
'this is a test secret, delete me.'
4147
);
4248

4349
// Now that we know the secret exist, let's update its value
4450
const newTestSecretValue = 'new-test-value';
45-
const u = secretsManager.putSecretValue(testSecretName, newTestSecretValue);
51+
const u = await secretsManager.putSecretValue(testSecretName, newTestSecretValue);
4652

4753
// Let's get its value back and verify it was indeed updated
48-
const updatedSecret = secretsManager.getSecret(testSecretName);
54+
const updatedSecret = await secretsManager.getSecret(testSecretName);
4955
if (updatedSecret.secret !== newTestSecretValue) {
5056
exec.test.abort('unable to update test secret');
5157
}

src/data/markdown/docs/20 jslib/01 jslib/01 aws/SecretsManagerClient/99 Secret.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,18 +36,18 @@ const awsConfig = new AWSConfig({
3636
const secretsManager = new SecretsManagerClient(awsConfig);
3737
const testSecretName = 'jslib-test-secret';
3838

39-
export default function () {
39+
export default async function () {
4040
// List the secrets the AWS authentication configuration
4141
// gives us access to.
42-
const secrets = secretsManager.listSecrets();
42+
const secrets = await secretsManager.listSecrets();
4343

4444
// If our test secret does not exist, abort the execution.
4545
if (secrets.filter((s) => s.name === testSecretName).length == 0) {
4646
exec.test.abort('test secret not found');
4747
}
4848

4949
// Let's get it and print its content
50-
const downloadedSecret = secretsManager.getSecret(testSecretName);
50+
const downloadedSecret = await secretsManager.getSecret(testSecretName);
5151
console.log(downloadedSecret.secret);
5252
}
5353
```

0 commit comments

Comments
 (0)