Lua
Lua
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 Lua Downloads
local chilkat = require("chilkat")
-- This example requires the Chilkat API to have been previously unlocked.
-- See Global Unlock Sample for sample code.
local rest = chilkat.Rest.new()
-- 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 port = 443
local bAutoReconnect = true
local success = rest:connect("kms.us-west-2.amazonaws.com", port, bTls, bAutoReconnect)
-- Provide AWS credentials for the REST call.
local authAws = chilkat.AuthAws.new()
authAws.access_key = "AWS_ACCESS_KEY"
authAws.secret_key = "AWS_SECRET_KEY"
-- the region should match our URL above..
authAws.region = "us-west-2"
authAws.service_name = "kms"
rest:set_auth_aws(authAws)
rest:add_header("X-Amz-Target", "TrentService.ListKeys")
rest:add_header("Content-Type", "application/x-amz-json-1.1")
local strJson = rest:full_request_string("POST", "/", "{}")
if not rest.last_method_success then
print(rest.last_error_text)
return
end
-- A successful response will have a status code equal to 200.
if rest.response_status_code ~= 200 then
print("response status code = " .. rest.response_status_code)
print("response status text = " .. rest.response_status_text)
print("response header: " .. rest.response_header)
print("response body: " .. strJson)
return
end
-- Examine the successful JSON response (shown below)
local json = chilkat.JsonObject.new()
json:load(strJson)
json.emit_compact = false
print(json:emit())
-- 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 KeyArn = ""
local KeyId = ""
local KeyCount = json:int_of("KeyCount")
local Truncated = json:bool_of("Truncated")
local i = 0
local count_i = json:size_of_array("Keys")
while i < count_i do
json.i = i
KeyArn = json:string_of("Keys[i].KeyArn")
KeyId = json:string_of("Keys[i].KeyId")
i = i + 1
end