Sample code for 30+ languages & platforms
AutoIt

AWS Secrets Manager - Create Secret

See more AWS Secrets Manager Examples

Creates a new secret. A secret is a set of credentials, such as a user name and password, that you store in an encrypted form in Secrets Manager.

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.CreateSecret
; 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>
; 
; {
;   "Name": "MyTestDatabaseSecret2",
;   "Description": "My test database secret created with the CLI",
;   "SecretString": "{\"username\":\"david\",\"password\":\"BnQw!XDWgaEeT9XGTT29\"}", "ClientRequestToken": "EXAMPLE1-90ab-cdef-fedc-ba987SECRET1"
; }

$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("Name","MyTestDatabaseSecret2")
$oJson.UpdateString("Description","My test database secret created with the CLI")
$oJson.UpdateString("SecretString","{""username"":""david"",""password"":""BnQw!XDWgaEeT9XGTT29""}")
$oJson.UpdateString("ClientRequestToken","EXAMPLE1-90ab-cdef-fedc-ba987SECRET1")

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

$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:954491834127:secret:MyTestDatabaseSecret2-F16Tps",
;   "Name": "MyTestDatabaseSecret2",
;   "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 $sName = $oJResp.StringOf("Name")
Local $sVersionId = $oJResp.StringOf("VersionId")