Sample code for 30+ languages & platforms
AutoIt

AWS KMS List Keys

See more AWS KMS Examples

Gets a list of all KMS keys in the caller's AWS account and Region.

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.

$oRest = ObjCreate("Chilkat.Rest")

; Connect to the Amazon AWS REST server.
; Make sure to use the region that is correct for you.
; such as https://kms.us-west-2.amazonaws.com/
Local $bTls = True
Local $iPort = 443
Local $bAutoReconnect = True
$bSuccess = $oRest.Connect("kms.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 = "kms"

$oRest.SetAuthAws($oAuthAws)

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

Local $strJson = $oRest.FullRequestString("POST","/","{}")
If ($oRest.LastMethodSuccess <> True) Then
    ConsoleWrite($oRest.LastErrorText & @CRLF)
    Exit
EndIf

; A successful response will have a status code equal to 200.
If ($oRest.ResponseStatusCode <> 200) Then
    ConsoleWrite("response status code = " & $oRest.ResponseStatusCode & @CRLF)
    ConsoleWrite("response status text = " & $oRest.ResponseStatusText & @CRLF)
    ConsoleWrite("response header: " & $oRest.ResponseHeader & @CRLF)
    ConsoleWrite("response body: " & $strJson & @CRLF)
    Exit
EndIf

; Examine the successful JSON response (shown below)
$oJson = ObjCreate("Chilkat.JsonObject")
$oJson.Load($strJson)
$oJson.EmitCompact = False

ConsoleWrite($oJson.Emit() & @CRLF)

; Sample output:

; {
;   "KeyCount": 4,
;   "Keys": [
;     {
;       "KeyArn": "arn:aws:kms:us-west-2:954491834127:key/082f8520-7afc-4a09-b703-89b7243072e5",
;       "KeyId": "082f8520-7afc-4a09-b703-89b7243072e5"
;     },
;     {
;       "KeyArn": "arn:aws:kms:us-west-2:954491834127:key/17432483-ff08-4950-93d3-f46ebb5e17d1",
;       "KeyId": "17432483-ff08-4950-93d3-f46ebb5e17d1"
;     },
;     {
;       "KeyArn": "arn:aws:kms:us-west-2:954491834127:key/1b0e5b3c-0675-4510-adb6-a75b40a93da0",
;       "KeyId": "1b0e5b3c-0675-4510-adb6-a75b40a93da0"
;     },
;     {
;       "KeyArn": "arn:aws:kms:us-west-2:954491834127:key/265e3993-428b-4581-9466-b1030a53062f",
;       "KeyId": "265e3993-428b-4581-9466-b1030a53062f"
;     },
;   ],
;   "Truncated": false
; }

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

Local $sKeyArn
Local $sKeyId

Local $iKeyCount = $oJson.IntOf("KeyCount")
Local $bTruncated = $oJson.BoolOf("Truncated")
Local $i = 0
Local $iCount_i = $oJson.SizeOfArray("Keys")
While $i < $iCount_i
    $oJson.I = $i
    $sKeyArn = $oJson.StringOf("Keys[i].KeyArn")
    $sKeyId = $oJson.StringOf("Keys[i].KeyId")
    $i = $i + 1
Wend