108 lines
3.1 KiB
C++
108 lines
3.1 KiB
C++
/**
|
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
* SPDX-License-Identifier: Apache-2.0.
|
|
*/
|
|
|
|
#include <aws/acm/model/RequestCertificateRequest.h>
|
|
#include <aws/core/utils/json/JsonSerializer.h>
|
|
|
|
#include <utility>
|
|
|
|
using namespace Aws::ACM::Model;
|
|
using namespace Aws::Utils::Json;
|
|
using namespace Aws::Utils;
|
|
|
|
RequestCertificateRequest::RequestCertificateRequest() :
|
|
m_domainNameHasBeenSet(false),
|
|
m_validationMethod(ValidationMethod::NOT_SET),
|
|
m_validationMethodHasBeenSet(false),
|
|
m_subjectAlternativeNamesHasBeenSet(false),
|
|
m_idempotencyTokenHasBeenSet(false),
|
|
m_domainValidationOptionsHasBeenSet(false),
|
|
m_optionsHasBeenSet(false),
|
|
m_certificateAuthorityArnHasBeenSet(false),
|
|
m_tagsHasBeenSet(false)
|
|
{
|
|
}
|
|
|
|
Aws::String RequestCertificateRequest::SerializePayload() const
|
|
{
|
|
JsonValue payload;
|
|
|
|
if(m_domainNameHasBeenSet)
|
|
{
|
|
payload.WithString("DomainName", m_domainName);
|
|
|
|
}
|
|
|
|
if(m_validationMethodHasBeenSet)
|
|
{
|
|
payload.WithString("ValidationMethod", ValidationMethodMapper::GetNameForValidationMethod(m_validationMethod));
|
|
}
|
|
|
|
if(m_subjectAlternativeNamesHasBeenSet)
|
|
{
|
|
Array<JsonValue> subjectAlternativeNamesJsonList(m_subjectAlternativeNames.size());
|
|
for(unsigned subjectAlternativeNamesIndex = 0; subjectAlternativeNamesIndex < subjectAlternativeNamesJsonList.GetLength(); ++subjectAlternativeNamesIndex)
|
|
{
|
|
subjectAlternativeNamesJsonList[subjectAlternativeNamesIndex].AsString(m_subjectAlternativeNames[subjectAlternativeNamesIndex]);
|
|
}
|
|
payload.WithArray("SubjectAlternativeNames", std::move(subjectAlternativeNamesJsonList));
|
|
|
|
}
|
|
|
|
if(m_idempotencyTokenHasBeenSet)
|
|
{
|
|
payload.WithString("IdempotencyToken", m_idempotencyToken);
|
|
|
|
}
|
|
|
|
if(m_domainValidationOptionsHasBeenSet)
|
|
{
|
|
Array<JsonValue> domainValidationOptionsJsonList(m_domainValidationOptions.size());
|
|
for(unsigned domainValidationOptionsIndex = 0; domainValidationOptionsIndex < domainValidationOptionsJsonList.GetLength(); ++domainValidationOptionsIndex)
|
|
{
|
|
domainValidationOptionsJsonList[domainValidationOptionsIndex].AsObject(m_domainValidationOptions[domainValidationOptionsIndex].Jsonize());
|
|
}
|
|
payload.WithArray("DomainValidationOptions", std::move(domainValidationOptionsJsonList));
|
|
|
|
}
|
|
|
|
if(m_optionsHasBeenSet)
|
|
{
|
|
payload.WithObject("Options", m_options.Jsonize());
|
|
|
|
}
|
|
|
|
if(m_certificateAuthorityArnHasBeenSet)
|
|
{
|
|
payload.WithString("CertificateAuthorityArn", m_certificateAuthorityArn);
|
|
|
|
}
|
|
|
|
if(m_tagsHasBeenSet)
|
|
{
|
|
Array<JsonValue> tagsJsonList(m_tags.size());
|
|
for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex)
|
|
{
|
|
tagsJsonList[tagsIndex].AsObject(m_tags[tagsIndex].Jsonize());
|
|
}
|
|
payload.WithArray("Tags", std::move(tagsJsonList));
|
|
|
|
}
|
|
|
|
return payload.View().WriteReadable();
|
|
}
|
|
|
|
Aws::Http::HeaderValueCollection RequestCertificateRequest::GetRequestSpecificHeaders() const
|
|
{
|
|
Aws::Http::HeaderValueCollection headers;
|
|
headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "CertificateManager.RequestCertificate"));
|
|
return headers;
|
|
|
|
}
|
|
|
|
|
|
|
|
|