|
|
(JavaScript) AWS Secrets Manager - List Secrets
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.Note: This example requires Chilkat v11.1.0 or greater. For more information, see https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_ListSecrets.html
var success = false;
// 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>
//
// {}
var rest = new CkRest();
// Connect to the Amazon AWS REST server.
// such as https://secretsmanager.us-west-2.amazonaws.com/
var bTls = true;
var port = 443;
var bAutoReconnect = true;
success = rest.Connect("secretsmanager.us-west-2.amazonaws.com",port,bTls,bAutoReconnect);
// Provide AWS credentials for the REST call.
var authAws = new CkAuthAws();
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");
var strResponse = rest.FullRequestString("POST","/","{}");
if (rest.LastMethodSuccess == false) {
console.log(rest.LastErrorText);
return;
}
var respStatusCode = rest.ResponseStatusCode;
console.log("response status code = " + respStatusCode);
var jResp = new CkJsonObject();
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"]
// }
// }
// ]
// }
var ARN;
var Description;
var LastChangedDate;
var Name;
var strVal;
var json2 = new CkJsonObject();
var jarr = new CkJsonArray();
var i = 0;
var count_i = jResp.SizeOfArray("SecretList");
while (i < count_i) {
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);
var count = json2.Size;
var j = 0;
while (j < count) {
var versionName = json2.NameAt(j);
json2.ArrayOf2(versionName,jarr);
var stage = jarr.StringAt(0);
console.log("versionName = " + versionName);
console.log("stage = " + stage);
j = j+1;
}
i = i+1;
}
|