DescribeAssessmentRuns Go Example
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
rest := chilkat.NewRest()
var success bool
authAws := chilkat.NewAuthAws()
authAws.SetAccessKey("AWS_ACCESS_KEY")
authAws.SetSecretKey("AWS_SECRET_KEY")
// Don't forget to change the region to your particular region. (Also make the same change in the call to Connect below.)
authAws.SetRegion("us-west-2")
authAws.SetServiceName("inspector")
// SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
rest.SetAuthAws(authAws)
// URL: https://inspector.us-west-2.amazonaws.com/
// Use the same region as specified above.
success = rest.Connect("inspector.us-west-2.amazonaws.com",443,true,true)
if success != true {
fmt.Println("ConnectFailReason: ", rest.ConnectFailReason())
fmt.Println(rest.LastErrorText())
rest.DisposeRest()
authAws.DisposeAuthAws()
return
}
// The following code creates the JSON request body.
// The JSON created by this code is shown below.
// Use this online tool to generate code from sample JSON:
// Generate Code to Create JSON
json := chilkat.NewJsonObject()
json.UpdateString("assessmentRunArns[0]","string")
// The JSON request body created by the above code:
// {
// "assessmentRunArns": [
// "string"
// ]
// }
rest.AddHeader("Content-Type","application/x-amz-json-1.1")
rest.AddHeader("X-Amz-Target","InspectorService.DescribeAssessmentRuns")
sbRequestBody := chilkat.NewStringBuilder()
json.EmitSb(sbRequestBody)
sbResponseBody := chilkat.NewStringBuilder()
success = rest.FullRequestSb("POST","/",sbRequestBody,sbResponseBody)
if success != true {
fmt.Println(rest.LastErrorText())
rest.DisposeRest()
authAws.DisposeAuthAws()
json.DisposeJsonObject()
sbRequestBody.DisposeStringBuilder()
sbResponseBody.DisposeStringBuilder()
return
}
respStatusCode := rest.ResponseStatusCode()
fmt.Println("response status code = ", respStatusCode)
if respStatusCode != 200 {
fmt.Println("Response Header:")
fmt.Println(rest.ResponseHeader())
fmt.Println("Response Body:")
fmt.Println(*sbResponseBody.GetAsString())
rest.DisposeRest()
authAws.DisposeAuthAws()
json.DisposeJsonObject()
sbRequestBody.DisposeStringBuilder()
sbResponseBody.DisposeStringBuilder()
return
}
jResp := chilkat.NewJsonObject()
jResp.LoadSb(sbResponseBody)
// The following code parses the JSON response.
// A sample JSON response is shown below the sample code.
// Use this online tool to generate parsing code from sample JSON:
// Generate Parsing Code from JSON
arn_DECLARATION
assessmentTemplateArn_DECLARATION
var completedAt int
var createdAt int
var dataCollected int
var durationInSeconds int
var v_String int
name_DECLARATION
var startedAt int
state_DECLARATION
var stateChangedAt int
var j int
var count_j int
var date int
var error int
v_event_DECLARATION
message_DECLARATION
snsPublishStatusCode_DECLARATION
snsTopicArn_DECLARATION
strVal_DECLARATION
key_DECLARATION
value_DECLARATION
FailureCode := jResp.StringOf("failedItems.string.failureCode")
Retryable := jResp.IntOf("failedItems.string.retryable")
i := 0
count_i := jResp.SizeOfArray("assessmentRuns")
for i < count_i {
jResp.SetI(i)
arn = *jResp.StringOf("assessmentRuns[i].arn")
assessmentTemplateArn = *jResp.StringOf("assessmentRuns[i].assessmentTemplateArn")
completedAt = jResp.IntOf("assessmentRuns[i].completedAt")
createdAt = jResp.IntOf("assessmentRuns[i].createdAt")
dataCollected = jResp.IntOf("assessmentRuns[i].dataCollected")
durationInSeconds = jResp.IntOf("assessmentRuns[i].durationInSeconds")
v_String = jResp.IntOf("assessmentRuns[i].findingCounts.string")
name = *jResp.StringOf("assessmentRuns[i].name")
startedAt = jResp.IntOf("assessmentRuns[i].startedAt")
state = *jResp.StringOf("assessmentRuns[i].state")
stateChangedAt = jResp.IntOf("assessmentRuns[i].stateChangedAt")
j = 0
count_j = jResp.SizeOfArray("assessmentRuns[i].notifications")
for j < count_j {
jResp.SetJ(j)
date = jResp.IntOf("assessmentRuns[i].notifications[j].date")
error = jResp.IntOf("assessmentRuns[i].notifications[j].error")
v_event = *jResp.StringOf("assessmentRuns[i].notifications[j].event")
message = *jResp.StringOf("assessmentRuns[i].notifications[j].message")
snsPublishStatusCode = *jResp.StringOf("assessmentRuns[i].notifications[j].snsPublishStatusCode")
snsTopicArn = *jResp.StringOf("assessmentRuns[i].notifications[j].snsTopicArn")
j = j + 1
}
j = 0
count_j = jResp.SizeOfArray("assessmentRuns[i].rulesPackageArns")
for j < count_j {
jResp.SetJ(j)
strVal = *jResp.StringOf("assessmentRuns[i].rulesPackageArns[j]")
j = j + 1
}
j = 0
count_j = jResp.SizeOfArray("assessmentRuns[i].stateChanges")
for j < count_j {
jResp.SetJ(j)
state = *jResp.StringOf("assessmentRuns[i].stateChanges[j].state")
stateChangedAt = jResp.IntOf("assessmentRuns[i].stateChanges[j].stateChangedAt")
j = j + 1
}
j = 0
count_j = jResp.SizeOfArray("assessmentRuns[i].userAttributesForFindings")
for j < count_j {
jResp.SetJ(j)
key = *jResp.StringOf("assessmentRuns[i].userAttributesForFindings[j].key")
value = *jResp.StringOf("assessmentRuns[i].userAttributesForFindings[j].value")
j = j + 1
}
i = i + 1
}
// A sample JSON response body parsed by the above code:
// {
// "assessmentRuns": [
// {
// "arn": "string",
// "assessmentTemplateArn": "string",
// "completedAt": number,
// "createdAt": number,
// "dataCollected": boolean,
// "durationInSeconds": number,
// "findingCounts": {
// "string": number
// },
// "name": "string",
// "notifications": [
// {
// "date": number,
// "error": boolean,
// "event": "string",
// "message": "string",
// "snsPublishStatusCode": "string",
// "snsTopicArn": "string"
// }
// ],
// "rulesPackageArns": [
// "string"
// ],
// "startedAt": number,
// "state": "string",
// "stateChangedAt": number,
// "stateChanges": [
// {
// "state": "string",
// "stateChangedAt": number
// }
// ],
// "userAttributesForFindings": [
// {
// "key": "string",
// "value": "string"
// }
// ]
// }
// ],
// "failedItems": {
// "string": {
// "failureCode": "string",
// "retryable": boolean
// }
// }
// }
rest.DisposeRest()
authAws.DisposeAuthAws()
json.DisposeJsonObject()
sbRequestBody.DisposeStringBuilder()
sbResponseBody.DisposeStringBuilder()
jResp.DisposeJsonObject()