Xojo Plugin
Xojo Plugin
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 Xojo Plugin Downloads
Dim success As Boolean
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>
//
// {}
Dim rest As New Chilkat.Rest
// Connect to the Amazon AWS REST server.
// such as https://secretsmanager.us-west-2.amazonaws.com/
Dim bTls As Boolean
bTls = True
Dim port As Int32
port = 443
Dim bAutoReconnect As Boolean
bAutoReconnect = True
success = rest.Connect("secretsmanager.us-west-2.amazonaws.com",port,bTls,bAutoReconnect)
// Provide AWS credentials for the REST call.
Dim authAws As New Chilkat.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"
success = rest.SetAuthAws(authAws)
success = rest.AddHeader("Content-Type","application/x-amz-json-1.1")
success = rest.AddHeader("X-Amz-Target","secretsmanager.ListSecrets")
Dim strResponse As String
strResponse = rest.FullRequestString("POST","/","{}")
If (rest.LastMethodSuccess = False) Then
System.DebugLog(rest.LastErrorText)
Return
End If
Dim respStatusCode As Int32
respStatusCode = rest.ResponseStatusCode
System.DebugLog("response status code = " + Str(respStatusCode))
Dim jResp As New Chilkat.JsonObject
jResp.EmitCompact = False
success = jResp.Load(strResponse)
If (respStatusCode >= 400) Then
System.DebugLog("Response Status Code = " + Str(respStatusCode))
System.DebugLog("Response Header:")
System.DebugLog(rest.ResponseHeader)
System.DebugLog("Response Body:")
System.DebugLog(jResp.Emit())
Return
End If
System.DebugLog("Response Body:")
System.DebugLog(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"]
// }
// }
// ]
// }
Dim ARN As String
Dim Description As String
Dim LastChangedDate As String
Dim Name As String
Dim strVal As String
Dim json2 As New Chilkat.JsonObject
Dim jarr As New Chilkat.JsonArray
Dim i As Int32
i = 0
Dim count_i As Int32
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")
success = jResp.ObjectOf2("SecretList[i].SecretVersionsToStages",json2)
Dim count As Int32
count = json2.Size
Dim j As Int32
j = 0
While j < count
Dim versionName As String
versionName = json2.NameAt(j)
success = json2.ArrayOf2(versionName,jarr)
Dim stage As String
stage = jarr.StringAt(0)
System.DebugLog("versionName = " + versionName)
System.DebugLog("stage = " + stage)
j = j + 1
Wend
i = i + 1
Wend