DescribeCertificate 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("acm")
// SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
rest.SetAuthAws(authAws)
// URL: https://acm.us-west-2.amazonaws.com/
// Use the same region as specified above.
success = rest.Connect("acm.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("CertificateArn","string")
// The JSON request body created by the above code:
// {
// "CertificateArn": "string"
// }
rest.AddHeader("Content-Type","application/x-amz-json-1.1")
rest.AddHeader("X-Amz-Target","CertificateManager.DescribeCertificate")
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
Name_DECLARATION
ResourceRecordType_DECLARATION
Value_DECLARATION
ValidationDomain_DECLARATION
ValidationMethod_DECLARATION
ValidationStatus_DECLARATION
var j int
var count_j int
strVal_DECLARATION
OID_DECLARATION
ResourceRecordName_DECLARATION
ResourceRecordValue_DECLARATION
CertificateArn := jResp.StringOf("Certificate.CertificateArn")
CertificateAuthorityArn := jResp.StringOf("Certificate.CertificateAuthorityArn")
CreatedAt := jResp.IntOf("Certificate.CreatedAt")
DomainName := jResp.StringOf("Certificate.DomainName")
FailureReason := jResp.StringOf("Certificate.FailureReason")
ImportedAt := jResp.IntOf("Certificate.ImportedAt")
IssuedAt := jResp.IntOf("Certificate.IssuedAt")
Issuer := jResp.StringOf("Certificate.Issuer")
KeyAlgorithm := jResp.StringOf("Certificate.KeyAlgorithm")
NotAfter := jResp.IntOf("Certificate.NotAfter")
NotBefore := jResp.IntOf("Certificate.NotBefore")
CertificateTransparencyLoggingPreference := jResp.StringOf("Certificate.Options.CertificateTransparencyLoggingPreference")
RenewalEligibility := jResp.StringOf("Certificate.RenewalEligibility")
RenewalStatus := jResp.StringOf("Certificate.RenewalSummary.RenewalStatus")
RenewalStatusReason := jResp.StringOf("Certificate.RenewalSummary.RenewalStatusReason")
UpdatedAt := jResp.IntOf("Certificate.RenewalSummary.UpdatedAt")
RevocationReason := jResp.StringOf("Certificate.RevocationReason")
RevokedAt := jResp.IntOf("Certificate.RevokedAt")
Serial := jResp.StringOf("Certificate.Serial")
SignatureAlgorithm := jResp.StringOf("Certificate.SignatureAlgorithm")
Status := jResp.StringOf("Certificate.Status")
Subject := jResp.StringOf("Certificate.Subject")
v_Type := jResp.StringOf("Certificate.Type")
i := 0
count_i := jResp.SizeOfArray("Certificate.DomainValidationOptions")
for i < count_i {
jResp.SetI(i)
DomainName = *jResp.StringOf("Certificate.DomainValidationOptions[i].DomainName")
Name = *jResp.StringOf("Certificate.DomainValidationOptions[i].ResourceRecord.Name")
ResourceRecordType = *jResp.StringOf("Certificate.DomainValidationOptions[i].ResourceRecord.Type")
Value = *jResp.StringOf("Certificate.DomainValidationOptions[i].ResourceRecord.Value")
ValidationDomain = *jResp.StringOf("Certificate.DomainValidationOptions[i].ValidationDomain")
ValidationMethod = *jResp.StringOf("Certificate.DomainValidationOptions[i].ValidationMethod")
ValidationStatus = *jResp.StringOf("Certificate.DomainValidationOptions[i].ValidationStatus")
j = 0
count_j = jResp.SizeOfArray("Certificate.DomainValidationOptions[i].ValidationEmails")
for j < count_j {
jResp.SetJ(j)
strVal = *jResp.StringOf("Certificate.DomainValidationOptions[i].ValidationEmails[j]")
j = j + 1
}
i = i + 1
}
i = 0
count_i = jResp.SizeOfArray("Certificate.ExtendedKeyUsages")
for i < count_i {
jResp.SetI(i)
Name = *jResp.StringOf("Certificate.ExtendedKeyUsages[i].Name")
OID = *jResp.StringOf("Certificate.ExtendedKeyUsages[i].OID")
i = i + 1
}
i = 0
count_i = jResp.SizeOfArray("Certificate.InUseBy")
for i < count_i {
jResp.SetI(i)
strVal = *jResp.StringOf("Certificate.InUseBy[i]")
i = i + 1
}
i = 0
count_i = jResp.SizeOfArray("Certificate.KeyUsages")
for i < count_i {
jResp.SetI(i)
Name = *jResp.StringOf("Certificate.KeyUsages[i].Name")
i = i + 1
}
i = 0
count_i = jResp.SizeOfArray("Certificate.RenewalSummary.DomainValidationOptions")
for i < count_i {
jResp.SetI(i)
DomainName = *jResp.StringOf("Certificate.RenewalSummary.DomainValidationOptions[i].DomainName")
ResourceRecordName = *jResp.StringOf("Certificate.RenewalSummary.DomainValidationOptions[i].ResourceRecord.Name")
ResourceRecordType = *jResp.StringOf("Certificate.RenewalSummary.DomainValidationOptions[i].ResourceRecord.Type")
ResourceRecordValue = *jResp.StringOf("Certificate.RenewalSummary.DomainValidationOptions[i].ResourceRecord.Value")
ValidationDomain = *jResp.StringOf("Certificate.RenewalSummary.DomainValidationOptions[i].ValidationDomain")
ValidationMethod = *jResp.StringOf("Certificate.RenewalSummary.DomainValidationOptions[i].ValidationMethod")
ValidationStatus = *jResp.StringOf("Certificate.RenewalSummary.DomainValidationOptions[i].ValidationStatus")
j = 0
count_j = jResp.SizeOfArray("Certificate.RenewalSummary.DomainValidationOptions[i].ValidationEmails")
for j < count_j {
jResp.SetJ(j)
strVal = *jResp.StringOf("Certificate.RenewalSummary.DomainValidationOptions[i].ValidationEmails[j]")
j = j + 1
}
i = i + 1
}
i = 0
count_i = jResp.SizeOfArray("Certificate.SubjectAlternativeNames")
for i < count_i {
jResp.SetI(i)
strVal = *jResp.StringOf("Certificate.SubjectAlternativeNames[i]")
i = i + 1
}
// A sample JSON response body parsed by the above code:
// {
// "Certificate": {
// "CertificateArn": "string",
// "CertificateAuthorityArn": "string",
// "CreatedAt": number,
// "DomainName": "string",
// "DomainValidationOptions": [
// {
// "DomainName": "string",
// "ResourceRecord": {
// "Name": "string",
// "Type": "string",
// "Value": "string"
// },
// "ValidationDomain": "string",
// "ValidationEmails": [
// "string"
// ],
// "ValidationMethod": "string",
// "ValidationStatus": "string"
// }
// ],
// "ExtendedKeyUsages": [
// {
// "Name": "string",
// "OID": "string"
// }
// ],
// "FailureReason": "string",
// "ImportedAt": number,
// "InUseBy": [
// "string"
// ],
// "IssuedAt": number,
// "Issuer": "string",
// "KeyAlgorithm": "string",
// "KeyUsages": [
// {
// "Name": "string"
// }
// ],
// "NotAfter": number,
// "NotBefore": number,
// "Options": {
// "CertificateTransparencyLoggingPreference": "string"
// },
// "RenewalEligibility": "string",
// "RenewalSummary": {
// "DomainValidationOptions": [
// {
// "DomainName": "string",
// "ResourceRecord": {
// "Name": "string",
// "Type": "string",
// "Value": "string"
// },
// "ValidationDomain": "string",
// "ValidationEmails": [
// "string"
// ],
// "ValidationMethod": "string",
// "ValidationStatus": "string"
// }
// ],
// "RenewalStatus": "string",
// "RenewalStatusReason": "string",
// "UpdatedAt": number
// },
// "RevocationReason": "string",
// "RevokedAt": number,
// "Serial": "string",
// "SignatureAlgorithm": "string",
// "Status": "string",
// "Subject": "string",
// "SubjectAlternativeNames": [
// "string"
// ],
// "Type": "string"
// }
// }
rest.DisposeRest()
authAws.DisposeAuthAws()
json.DisposeJsonObject()
sbRequestBody.DisposeStringBuilder()
sbResponseBody.DisposeStringBuilder()
jResp.DisposeJsonObject()