React Native Requires Chilkat v11.1.0+
React Native
AWS Secrets Manager - List Secrets
See more AWS Secrets Manager Examples
Lists the secrets that are stored by Secrets Manager in the AWS account. Lists the secrets that are stored by Secrets Manager in the AWS account.Chilkat React Native Downloads
import { AuthAws, JsonArray, JsonObject, Rest } from '@chilkat/react-native'
async function chilkatExample() {
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// Sends the following sample request.
// Note: Chilkat will automatically add Content-Length, X-Amz-Date, Accept-Encoding, and Authorization
// POST / HTTP/1.1
// Host: secretsmanager.region.domain
// Accept-Encoding: identity
// X-Amz-Target: secretsmanager.ListSecrets
// Content-Type: application/x-amz-json-1.1
// X-Amz-Date: <date>
// Authorization: AWS4-HMAC-SHA256 Credential=<credentials>,SignedHeaders=<headers>, Signature=<signature>
// Content-Length: <payload-size-bytes>
//
// {}
const rest = new Rest();
// Connect to the Amazon AWS REST server.
// such as https://secretsmanager.us-west-2.amazonaws.com/
const bTls = true;
const port = 443;
const bAutoReconnect = true;
await rest.connectAsync('secretsmanager.us-west-2.amazonaws.com', port, bTls, bAutoReconnect);
// Provide AWS credentials for the REST call.
const authAws = new AuthAws();
authAws.accessKey = 'AWS_ACCESS_KEY';
authAws.secretKey = 'AWS_SECRET_KEY';
// the region should match our URL above..
authAws.region = 'us-west-2';
authAws.serviceName = 'secretsmanager';
rest.setAuthAws(authAws);
rest.addHeader('Content-Type', 'application/x-amz-json-1.1');
rest.addHeader('X-Amz-Target', 'secretsmanager.ListSecrets');
let strResponse: string;
try {
strResponse = await rest.fullRequestStringAsync('POST', '/', '{}');
} catch {
console.log(rest.lastErrorText);
return;
}
const respStatusCode = rest.responseStatusCode;
console.log(`response status code = ${respStatusCode}`);
const jResp = new JsonObject();
jResp.emitCompact = false;
jResp.load(strResponse);
if (respStatusCode >= 400) {
console.log(`Response Status Code = ${respStatusCode}`);
console.log('Response Header:');
console.log(rest.responseHeader);
console.log('Response Body:');
console.log(jResp.emit());
return;
}
console.log('Response Body:');
console.log(jResp.emit());
// Sample response body:
// {
// "SecretList":[
// {
// "ARN":"arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3",
// "Description":"My test database secret",
// "LastChangedDate":1.523477145729E9,
// "Name":"MyTestDatabaseSecret",
// "SecretVersionsToStages":{
// "EXAMPLE2-90ab-cdef-fedc-ba987EXAMPLE":["AWSCURRENT"]
// }
// },
// {
// "ARN":"arn:aws:secretsmanager:us-west-2:123456789012:secret:AnotherDatabaseSecret-d4e5f6",
// "Description":"Another secret created for a different database",
// "LastChangedDate":1.523482025685E9,
// "Name":"AnotherDatabaseSecret",
// "SecretVersionsToStages":{
// "EXAMPLE3-90ab-cdef-fedc-ba987EXAMPLE":["AWSCURRENT"]
// }
// }
// ]
// }
let arn = '';
let description = '';
let lastChangedDate = '';
let name = '';
const strVal = '';
const json2 = new JsonObject();
const jarr = new JsonArray();
let i = 0;
const countI = jResp.sizeOfArray('SecretList');
while (i < countI) {
jResp.i = i;
arn = jResp.stringOf('SecretList[i].ARN');
description = jResp.stringOf('SecretList[i].Description');
lastChangedDate = jResp.stringOf('SecretList[i].LastChangedDate');
name = jResp.stringOf('SecretList[i].Name');
jResp.objectOf2('SecretList[i].SecretVersionsToStages', json2);
const count = json2.size;
let j = 0;
while (j < count) {
const versionName = json2.nameAt(j);
json2.arrayOf2(versionName, jarr);
const stage = jarr.stringAt(0);
console.log(`versionName = ${versionName}`);
console.log(`stage = ${stage}`);
j++;
}
i++;
}
}