B4X Requires Chilkat v11.1.0+
B4X
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 B4X Downloads
Dim success As Boolean = 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 ChilkatRest
rest.Initialize("rest")
' Connect to the Amazon AWS REST server.
' such as https://secretsmanager.us-west-2.amazonaws.com/
Dim bTls As Boolean = True
Dim port As Int = 443
Dim bAutoReconnect As Boolean = True
success = rest.Connect("secretsmanager.us-west-2.amazonaws.com", port, bTls, bAutoReconnect)
' Provide AWS credentials for the REST call.
Dim authAws As ChilkatAuthAws
authAws.Initialize
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")
Dim strResponse As String = rest.FullRequestString("POST", "/", "{}")
If rest.LastMethodSuccess = False Then
Log(rest.LastErrorText)
Return
End If
Dim respStatusCode As Int = rest.ResponseStatusCode
Log("response status code = " & respStatusCode)
Dim jResp As ChilkatJsonObject
jResp.Initialize
jResp.EmitCompact = False
jResp.Load(strResponse)
If respStatusCode >= 400 Then
Log("Response Status Code = " & respStatusCode)
Log("Response Header:")
Log(rest.ResponseHeader)
Log("Response Body:")
Log(jResp.Emit)
Return
End If
Log("Response Body:")
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"]
' }
' }
' ]
' }
Dim ARN As String
Dim Description As String
Dim LastChangedDate As String
Dim Name As String
Dim strVal As String
Dim json2 As ChilkatJsonObject
json2.Initialize
Dim jarr As ChilkatJsonArray
jarr.Initialize
Dim i As Int = 0
Dim count_i As Int = jResp.SizeOfArray("SecretList")
Do 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)
Dim count As Int = json2.Size
Dim j As Int = 0
Do While j < count
Dim versionName As String = json2.NameAt(j)
json2.ArrayOf2(versionName, jarr)
Dim stage As String = jarr.StringAt(0)
Log("versionName = " & versionName)
Log("stage = " & stage)
j = j + 1
Loop
i = i + 1
Loop