Swift
Swift
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 Swift Downloads
func chilkatTest() {
var success: Bool = false
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
let rest = CkoRest()!
// 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/
var bTls: Bool = true
var port: Int = 443
var bAutoReconnect: Bool = true
success = rest.connect(hostname: "kms.us-west-2.amazonaws.com", port: port, tls: bTls, autoReconnect: bAutoReconnect)
// Provide AWS credentials for the REST call.
let authAws = CkoAuthAws()!
authAws.accessKey = "AWS_ACCESS_KEY"
authAws.secretKey = "AWS_SECRET_KEY"
// the region should match our URL above..
authAws.region = "us-west-2"
authAws.serviceName = "kms"
rest.setAuthAws(authProvider: authAws)
rest.addHeader(name: "X-Amz-Target", value: "TrentService.ListKeys")
rest.addHeader(name: "Content-Type", value: "application/x-amz-json-1.1")
var strJson: String? = rest.fullRequestString(httpVerb: "POST", uriPath: "/", bodyText: "{}")
if rest.lastMethodSuccess != true {
print("\(rest.lastErrorText!)")
return
}
// A successful response will have a status code equal to 200.
if rest.responseStatusCode.intValue != 200 {
print("response status code = \(rest.responseStatusCode.intValue)")
print("response status text = \(rest.responseStatusText!)")
print("response header: \(rest.responseHeader!)")
print("response body: \(strJson!)")
return
}
// Examine the successful JSON response (shown below)
let json = CkoJsonObject()!
json.load(json: strJson)
json.emitCompact = 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
var KeyArn: String?
var KeyId: String?
var KeyCount: Int = json.int(of: "KeyCount").intValue
var Truncated: Bool = json.bool(of: "Truncated")
var i: Int = 0
var count_i: Int = json.size(ofArray: "Keys").intValue
while i < count_i {
json.i = i
KeyArn = json.string(of: "Keys[i].KeyArn")
KeyId = json.string(of: "Keys[i].KeyId")
i = i + 1
}
}