Sample code for 30+ languages & platforms
VBScript

AWS Secrets Manager - Get Secret Value

See more AWS Secrets Manager Examples

Retrieves the contents of the encrypted fields SecretString or SecretBinary from the specified version of a secret, whichever contains content.

Chilkat VBScript Downloads

VBScript
Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
'Create a Unicode (utf-16) output text file.
Set outFile = fso.CreateTextFile("output.txt", True, True)

success = 0

' 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.GetSecretValue
' 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>
' 
' {
'   "SecretId": "MyTestDatabaseSecret",
' }

set rest = CreateObject("Chilkat.Rest")

' Connect to the Amazon AWS REST server.
' such as https://secretsmanager.us-west-2.amazonaws.com/
bTls = 1
port = 443
bAutoReconnect = 1
success = rest.Connect("secretsmanager.us-west-2.amazonaws.com",port,bTls,bAutoReconnect)

' Provide AWS credentials for the REST call.
set authAws = CreateObject("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)

' Use this online tool to generate code from sample JSON:
' Generate Code to Create JSON

set json = CreateObject("Chilkat.JsonObject")

success = json.UpdateString("SecretId","MyTestDatabaseSecret2")

success = rest.AddHeader("Content-Type","application/x-amz-json-1.1")
success = rest.AddHeader("X-Amz-Target","secretsmanager.GetSecretValue")

set sbRequestBody = CreateObject("Chilkat.StringBuilder")
success = json.EmitSb(sbRequestBody)
set sbResponseBody = CreateObject("Chilkat.StringBuilder")
success = rest.FullRequestSb("POST","/",sbRequestBody,sbResponseBody)
If (success <> 1) Then
    outFile.WriteLine(rest.LastErrorText)
    WScript.Quit
End If

respStatusCode = rest.ResponseStatusCode
outFile.WriteLine("response status code = " & respStatusCode)

set jResp = CreateObject("Chilkat.JsonObject")
jResp.EmitCompact = 0
success = jResp.LoadSb(sbResponseBody)

If (respStatusCode >= 400) Then
    outFile.WriteLine("Response Status Code = " & respStatusCode)
    outFile.WriteLine("Response Header:")
    outFile.WriteLine(rest.ResponseHeader)
    outFile.WriteLine("Response Body:")
    outFile.WriteLine(jResp.Emit())
    WScript.Quit
End If

outFile.WriteLine("Response Body:")
outFile.WriteLine(jResp.Emit())

' Sample response body:

' {
'   "ARN":"arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3",
'   "CreatedDate":1.523477145713E9,
'   "Name":"MyTestDatabaseSecret",
'   "SecretString":"{\n  \"username\":\"david\",\n  \"password\":\"BnQw&XDWgaEeT9XGTT29\"\n}\n",
'   "VersionId":"EXAMPLE1-90ab-cdef-fedc-ba987SECRET1"
' }

' Use this online tool to generate parsing code from sample JSON: 
' Generate Parsing Code from JSON

ARN = jResp.StringOf("ARN")
CreatedDate = jResp.StringOf("CreatedDate")
Name = jResp.StringOf("Name")
SecretString = jResp.StringOf("SecretString")
VersionId = jResp.StringOf("VersionId")

outFile.Close