Sample code for 30+ languages & platforms
AutoIt

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 AutoIt Downloads

AutoIt
Local $bSuccess = 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.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",
; }

$oRest = ObjCreate("Chilkat.Rest")

; Connect to the Amazon AWS REST server.
; such as https://secretsmanager.us-west-2.amazonaws.com/
Local $bTls = True
Local $iPort = 443
Local $bAutoReconnect = True
$bSuccess = $oRest.Connect("secretsmanager.us-west-2.amazonaws.com",$iPort,$bTls,$bAutoReconnect)

; Provide AWS credentials for the REST call.
$oAuthAws = ObjCreate("Chilkat.AuthAws")
$oAuthAws.AccessKey = "AWS_ACCESS_KEY"
$oAuthAws.SecretKey = "AWS_SECRET_KEY"
; the region should match our URL above..
$oAuthAws.Region = "us-west-2"
$oAuthAws.ServiceName = "secretsmanager"

$oRest.SetAuthAws($oAuthAws)

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

$oJson = ObjCreate("Chilkat.JsonObject")

$oJson.UpdateString("SecretId","MyTestDatabaseSecret2")

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

$oSbRequestBody = ObjCreate("Chilkat.StringBuilder")
$oJson.EmitSb($oSbRequestBody)
$oSbResponseBody = ObjCreate("Chilkat.StringBuilder")
$bSuccess = $oRest.FullRequestSb("POST","/",$oSbRequestBody,$oSbResponseBody)
If ($bSuccess <> True) Then
    ConsoleWrite($oRest.LastErrorText & @CRLF)
    Exit
EndIf

Local $iRespStatusCode = $oRest.ResponseStatusCode
ConsoleWrite("response status code = " & $iRespStatusCode & @CRLF)

$oJResp = ObjCreate("Chilkat.JsonObject")
$oJResp.EmitCompact = False
$oJResp.LoadSb($oSbResponseBody)

If ($iRespStatusCode >= 400) Then
    ConsoleWrite("Response Status Code = " & $iRespStatusCode & @CRLF)
    ConsoleWrite("Response Header:" & @CRLF)
    ConsoleWrite($oRest.ResponseHeader & @CRLF)
    ConsoleWrite("Response Body:" & @CRLF)
    ConsoleWrite($oJResp.Emit() & @CRLF)
    Exit
EndIf

ConsoleWrite("Response Body:" & @CRLF)
ConsoleWrite($oJResp.Emit() & @CRLF)

; 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

Local $sARN = $oJResp.StringOf("ARN")
Local $sCreatedDate = $oJResp.StringOf("CreatedDate")
Local $sName = $oJResp.StringOf("Name")
Local $sSecretString = $oJResp.StringOf("SecretString")
Local $sVersionId = $oJResp.StringOf("VersionId")