Sample code for 30+ languages & platforms
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

Xojo Plugin
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