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")