Objective-C
Objective-C
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 Objective-C Downloads
#import <CkoRest.h>
#import <CkoAuthAws.h>
#import <NSString.h>
#import <CkoJsonObject.h>
#import <CkoJsonArray.h>
BOOL success = NO;
// 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>
//
// {}
CkoRest *rest = [[CkoRest alloc] init];
// Connect to the Amazon AWS REST server.
// such as https://secretsmanager.us-west-2.amazonaws.com/
BOOL bTls = YES;
int port = 443;
BOOL bAutoReconnect = YES;
success = [rest Connect: @"secretsmanager.us-west-2.amazonaws.com" port: [NSNumber numberWithInt: port] tls: bTls autoReconnect: bAutoReconnect];
// Provide AWS credentials for the REST call.
CkoAuthAws *authAws = [[CkoAuthAws alloc] init];
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" value: @"application/x-amz-json-1.1"];
[rest AddHeader: @"X-Amz-Target" value: @"secretsmanager.ListSecrets"];
NSString *strResponse = [rest FullRequestString: @"POST" uriPath: @"/" bodyText: @"{}"];
if (rest.LastMethodSuccess == NO) {
NSLog(@"%@",rest.LastErrorText);
return;
}
int respStatusCode = [rest.ResponseStatusCode intValue];
NSLog(@"%@%d",@"response status code = ",respStatusCode);
CkoJsonObject *jResp = [[CkoJsonObject alloc] init];
jResp.EmitCompact = NO;
[jResp Load: strResponse];
if (respStatusCode >= 400) {
NSLog(@"%@%d",@"Response Status Code = ",respStatusCode);
NSLog(@"%@",@"Response Header:");
NSLog(@"%@",rest.ResponseHeader);
NSLog(@"%@",@"Response Body:");
NSLog(@"%@",[jResp Emit]);
return;
}
NSLog(@"%@",@"Response Body:");
NSLog(@"%@",[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"]
// }
// }
// ]
// }
NSString *ARN = 0;
NSString *Description = 0;
NSString *LastChangedDate = 0;
NSString *Name = 0;
NSString *strVal = 0;
CkoJsonObject *json2 = [[CkoJsonObject alloc] init];
CkoJsonArray *jarr = [[CkoJsonArray alloc] init];
int i = 0;
int count_i = [[jResp SizeOfArray: @"SecretList"] intValue];
while (i < count_i) {
jResp.I = [NSNumber numberWithInt: 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" jsonObj: json2];
int count = [json2.Size intValue];
int j = 0;
while (j < count) {
NSString *versionName = [json2 NameAt: [NSNumber numberWithInt: j]];
[json2 ArrayOf2: versionName jarr: jarr];
NSString *stage = [jarr StringAt: [NSNumber numberWithInt: 0]];
NSLog(@"%@%@",@"versionName = ",versionName);
NSLog(@"%@%@",@"stage = ",stage);
j = j + 1;
}
i = i + 1;
}