feat(hos_client_create, hos_client_destory): 多次调用destory不会导致重复释放

This commit is contained in:
彭宣正
2020-12-14 17:24:58 +08:00
parent 505d529c32
commit 10b370e486
55976 changed files with 8544395 additions and 2 deletions

View File

@@ -0,0 +1,888 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/acm/ACMErrors.h>
#include <aws/core/client/AWSError.h>
#include <aws/core/client/ClientConfiguration.h>
#include <aws/core/client/AWSClient.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <aws/acm/model/DescribeCertificateResult.h>
#include <aws/acm/model/ExportCertificateResult.h>
#include <aws/acm/model/GetCertificateResult.h>
#include <aws/acm/model/ImportCertificateResult.h>
#include <aws/acm/model/ListCertificatesResult.h>
#include <aws/acm/model/ListTagsForCertificateResult.h>
#include <aws/acm/model/RequestCertificateResult.h>
#include <aws/core/NoResult.h>
#include <aws/core/client/AsyncCallerContext.h>
#include <aws/core/http/HttpTypes.h>
#include <future>
#include <functional>
namespace Aws
{
namespace Http
{
class HttpClient;
class HttpClientFactory;
} // namespace Http
namespace Utils
{
template< typename R, typename E> class Outcome;
namespace Threading
{
class Executor;
} // namespace Threading
} // namespace Utils
namespace Auth
{
class AWSCredentials;
class AWSCredentialsProvider;
} // namespace Auth
namespace Client
{
class RetryStrategy;
} // namespace Client
namespace ACM
{
namespace Model
{
class AddTagsToCertificateRequest;
class DeleteCertificateRequest;
class DescribeCertificateRequest;
class ExportCertificateRequest;
class GetCertificateRequest;
class ImportCertificateRequest;
class ListCertificatesRequest;
class ListTagsForCertificateRequest;
class RemoveTagsFromCertificateRequest;
class RenewCertificateRequest;
class RequestCertificateRequest;
class ResendValidationEmailRequest;
class UpdateCertificateOptionsRequest;
typedef Aws::Utils::Outcome<Aws::NoResult, ACMError> AddTagsToCertificateOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, ACMError> DeleteCertificateOutcome;
typedef Aws::Utils::Outcome<DescribeCertificateResult, ACMError> DescribeCertificateOutcome;
typedef Aws::Utils::Outcome<ExportCertificateResult, ACMError> ExportCertificateOutcome;
typedef Aws::Utils::Outcome<GetCertificateResult, ACMError> GetCertificateOutcome;
typedef Aws::Utils::Outcome<ImportCertificateResult, ACMError> ImportCertificateOutcome;
typedef Aws::Utils::Outcome<ListCertificatesResult, ACMError> ListCertificatesOutcome;
typedef Aws::Utils::Outcome<ListTagsForCertificateResult, ACMError> ListTagsForCertificateOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, ACMError> RemoveTagsFromCertificateOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, ACMError> RenewCertificateOutcome;
typedef Aws::Utils::Outcome<RequestCertificateResult, ACMError> RequestCertificateOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, ACMError> ResendValidationEmailOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, ACMError> UpdateCertificateOptionsOutcome;
typedef std::future<AddTagsToCertificateOutcome> AddTagsToCertificateOutcomeCallable;
typedef std::future<DeleteCertificateOutcome> DeleteCertificateOutcomeCallable;
typedef std::future<DescribeCertificateOutcome> DescribeCertificateOutcomeCallable;
typedef std::future<ExportCertificateOutcome> ExportCertificateOutcomeCallable;
typedef std::future<GetCertificateOutcome> GetCertificateOutcomeCallable;
typedef std::future<ImportCertificateOutcome> ImportCertificateOutcomeCallable;
typedef std::future<ListCertificatesOutcome> ListCertificatesOutcomeCallable;
typedef std::future<ListTagsForCertificateOutcome> ListTagsForCertificateOutcomeCallable;
typedef std::future<RemoveTagsFromCertificateOutcome> RemoveTagsFromCertificateOutcomeCallable;
typedef std::future<RenewCertificateOutcome> RenewCertificateOutcomeCallable;
typedef std::future<RequestCertificateOutcome> RequestCertificateOutcomeCallable;
typedef std::future<ResendValidationEmailOutcome> ResendValidationEmailOutcomeCallable;
typedef std::future<UpdateCertificateOptionsOutcome> UpdateCertificateOptionsOutcomeCallable;
} // namespace Model
class ACMClient;
typedef std::function<void(const ACMClient*, const Model::AddTagsToCertificateRequest&, const Model::AddTagsToCertificateOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AddTagsToCertificateResponseReceivedHandler;
typedef std::function<void(const ACMClient*, const Model::DeleteCertificateRequest&, const Model::DeleteCertificateOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteCertificateResponseReceivedHandler;
typedef std::function<void(const ACMClient*, const Model::DescribeCertificateRequest&, const Model::DescribeCertificateOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeCertificateResponseReceivedHandler;
typedef std::function<void(const ACMClient*, const Model::ExportCertificateRequest&, const Model::ExportCertificateOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ExportCertificateResponseReceivedHandler;
typedef std::function<void(const ACMClient*, const Model::GetCertificateRequest&, const Model::GetCertificateOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetCertificateResponseReceivedHandler;
typedef std::function<void(const ACMClient*, const Model::ImportCertificateRequest&, const Model::ImportCertificateOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ImportCertificateResponseReceivedHandler;
typedef std::function<void(const ACMClient*, const Model::ListCertificatesRequest&, const Model::ListCertificatesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListCertificatesResponseReceivedHandler;
typedef std::function<void(const ACMClient*, const Model::ListTagsForCertificateRequest&, const Model::ListTagsForCertificateOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListTagsForCertificateResponseReceivedHandler;
typedef std::function<void(const ACMClient*, const Model::RemoveTagsFromCertificateRequest&, const Model::RemoveTagsFromCertificateOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RemoveTagsFromCertificateResponseReceivedHandler;
typedef std::function<void(const ACMClient*, const Model::RenewCertificateRequest&, const Model::RenewCertificateOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RenewCertificateResponseReceivedHandler;
typedef std::function<void(const ACMClient*, const Model::RequestCertificateRequest&, const Model::RequestCertificateOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RequestCertificateResponseReceivedHandler;
typedef std::function<void(const ACMClient*, const Model::ResendValidationEmailRequest&, const Model::ResendValidationEmailOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ResendValidationEmailResponseReceivedHandler;
typedef std::function<void(const ACMClient*, const Model::UpdateCertificateOptionsRequest&, const Model::UpdateCertificateOptionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateCertificateOptionsResponseReceivedHandler;
/**
* <fullname>AWS Certificate Manager</fullname> <p>Welcome to the AWS Certificate
* Manager (ACM) API documentation.</p> <p>You can use ACM to manage SSL/TLS
* certificates for your AWS-based websites and applications. For general
* information about using ACM, see the <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/"> <i>AWS Certificate
* Manager User Guide</i> </a>.</p>
*/
class AWS_ACM_API ACMClient : public Aws::Client::AWSJsonClient
{
public:
typedef Aws::Client::AWSJsonClient BASECLASS;
/**
* Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
ACMClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
/**
* Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
ACMClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
/**
* Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
* the default http client factory will be used
*/
ACMClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
virtual ~ACMClient();
/**
* <p>Adds one or more tags to an ACM certificate. Tags are labels that you can use
* to identify and organize your AWS resources. Each tag consists of a
* <code>key</code> and an optional <code>value</code>. You specify the certificate
* on input by its Amazon Resource Name (ARN). You specify the tag by using a
* key-value pair. </p> <p>You can apply a tag to just one certificate if you want
* to identify a specific characteristic of that certificate, or you can apply the
* same tag to multiple certificates if you want to filter for a common
* relationship among those certificates. Similarly, you can apply the same tag to
* multiple resources if you want to specify a relationship among those resources.
* For example, you can add the same tag to an ACM certificate and an Elastic Load
* Balancing load balancer to indicate that they are both used by the same website.
* For more information, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/tags.html">Tagging ACM
* certificates</a>. </p> <p>To remove one or more tags, use the
* <a>RemoveTagsFromCertificate</a> action. To view all of the tags that have been
* applied to the certificate, use the <a>ListTagsForCertificate</a> action.
* </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/AddTagsToCertificate">AWS
* API Reference</a></p>
*/
virtual Model::AddTagsToCertificateOutcome AddTagsToCertificate(const Model::AddTagsToCertificateRequest& request) const;
/**
* <p>Adds one or more tags to an ACM certificate. Tags are labels that you can use
* to identify and organize your AWS resources. Each tag consists of a
* <code>key</code> and an optional <code>value</code>. You specify the certificate
* on input by its Amazon Resource Name (ARN). You specify the tag by using a
* key-value pair. </p> <p>You can apply a tag to just one certificate if you want
* to identify a specific characteristic of that certificate, or you can apply the
* same tag to multiple certificates if you want to filter for a common
* relationship among those certificates. Similarly, you can apply the same tag to
* multiple resources if you want to specify a relationship among those resources.
* For example, you can add the same tag to an ACM certificate and an Elastic Load
* Balancing load balancer to indicate that they are both used by the same website.
* For more information, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/tags.html">Tagging ACM
* certificates</a>. </p> <p>To remove one or more tags, use the
* <a>RemoveTagsFromCertificate</a> action. To view all of the tags that have been
* applied to the certificate, use the <a>ListTagsForCertificate</a> action.
* </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/AddTagsToCertificate">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AddTagsToCertificateOutcomeCallable AddTagsToCertificateCallable(const Model::AddTagsToCertificateRequest& request) const;
/**
* <p>Adds one or more tags to an ACM certificate. Tags are labels that you can use
* to identify and organize your AWS resources. Each tag consists of a
* <code>key</code> and an optional <code>value</code>. You specify the certificate
* on input by its Amazon Resource Name (ARN). You specify the tag by using a
* key-value pair. </p> <p>You can apply a tag to just one certificate if you want
* to identify a specific characteristic of that certificate, or you can apply the
* same tag to multiple certificates if you want to filter for a common
* relationship among those certificates. Similarly, you can apply the same tag to
* multiple resources if you want to specify a relationship among those resources.
* For example, you can add the same tag to an ACM certificate and an Elastic Load
* Balancing load balancer to indicate that they are both used by the same website.
* For more information, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/tags.html">Tagging ACM
* certificates</a>. </p> <p>To remove one or more tags, use the
* <a>RemoveTagsFromCertificate</a> action. To view all of the tags that have been
* applied to the certificate, use the <a>ListTagsForCertificate</a> action.
* </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/AddTagsToCertificate">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AddTagsToCertificateAsync(const Model::AddTagsToCertificateRequest& request, const AddTagsToCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes a certificate and its associated private key. If this action
* succeeds, the certificate no longer appears in the list that can be displayed by
* calling the <a>ListCertificates</a> action or be retrieved by calling the
* <a>GetCertificate</a> action. The certificate will not be available for use by
* AWS services integrated with ACM. </p> <p>You cannot delete an ACM
* certificate that is being used by another AWS service. To delete a certificate
* that is in use, the certificate association must first be removed.</p>
* <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/DeleteCertificate">AWS
* API Reference</a></p>
*/
virtual Model::DeleteCertificateOutcome DeleteCertificate(const Model::DeleteCertificateRequest& request) const;
/**
* <p>Deletes a certificate and its associated private key. If this action
* succeeds, the certificate no longer appears in the list that can be displayed by
* calling the <a>ListCertificates</a> action or be retrieved by calling the
* <a>GetCertificate</a> action. The certificate will not be available for use by
* AWS services integrated with ACM. </p> <p>You cannot delete an ACM
* certificate that is being used by another AWS service. To delete a certificate
* that is in use, the certificate association must first be removed.</p>
* <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/DeleteCertificate">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteCertificateOutcomeCallable DeleteCertificateCallable(const Model::DeleteCertificateRequest& request) const;
/**
* <p>Deletes a certificate and its associated private key. If this action
* succeeds, the certificate no longer appears in the list that can be displayed by
* calling the <a>ListCertificates</a> action or be retrieved by calling the
* <a>GetCertificate</a> action. The certificate will not be available for use by
* AWS services integrated with ACM. </p> <p>You cannot delete an ACM
* certificate that is being used by another AWS service. To delete a certificate
* that is in use, the certificate association must first be removed.</p>
* <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/DeleteCertificate">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteCertificateAsync(const Model::DeleteCertificateRequest& request, const DeleteCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Returns detailed metadata about the specified ACM certificate.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/DescribeCertificate">AWS
* API Reference</a></p>
*/
virtual Model::DescribeCertificateOutcome DescribeCertificate(const Model::DescribeCertificateRequest& request) const;
/**
* <p>Returns detailed metadata about the specified ACM certificate.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/DescribeCertificate">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeCertificateOutcomeCallable DescribeCertificateCallable(const Model::DescribeCertificateRequest& request) const;
/**
* <p>Returns detailed metadata about the specified ACM certificate.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/DescribeCertificate">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeCertificateAsync(const Model::DescribeCertificateRequest& request, const DescribeCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Exports a private certificate issued by a private certificate authority (CA)
* for use anywhere. The exported file contains the certificate, the certificate
* chain, and the encrypted private 2048-bit RSA key associated with the public key
* that is embedded in the certificate. For security, you must assign a passphrase
* for the private key when exporting it. </p> <p>For information about exporting
* and formatting a certificate using the ACM console or CLI, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-export-private.html">Export
* a Private Certificate</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/ExportCertificate">AWS
* API Reference</a></p>
*/
virtual Model::ExportCertificateOutcome ExportCertificate(const Model::ExportCertificateRequest& request) const;
/**
* <p>Exports a private certificate issued by a private certificate authority (CA)
* for use anywhere. The exported file contains the certificate, the certificate
* chain, and the encrypted private 2048-bit RSA key associated with the public key
* that is embedded in the certificate. For security, you must assign a passphrase
* for the private key when exporting it. </p> <p>For information about exporting
* and formatting a certificate using the ACM console or CLI, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-export-private.html">Export
* a Private Certificate</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/ExportCertificate">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ExportCertificateOutcomeCallable ExportCertificateCallable(const Model::ExportCertificateRequest& request) const;
/**
* <p>Exports a private certificate issued by a private certificate authority (CA)
* for use anywhere. The exported file contains the certificate, the certificate
* chain, and the encrypted private 2048-bit RSA key associated with the public key
* that is embedded in the certificate. For security, you must assign a passphrase
* for the private key when exporting it. </p> <p>For information about exporting
* and formatting a certificate using the ACM console or CLI, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-export-private.html">Export
* a Private Certificate</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/ExportCertificate">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ExportCertificateAsync(const Model::ExportCertificateRequest& request, const ExportCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Retrieves an Amazon-issued certificate and its certificate chain. The chain
* consists of the certificate of the issuing CA and the intermediate certificates
* of any other subordinate CAs. All of the certificates are base64 encoded. You
* can use <a
* href="https://wiki.openssl.org/index.php/Command_Line_Utilities">OpenSSL</a> to
* decode the certificates and inspect individual fields.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/GetCertificate">AWS
* API Reference</a></p>
*/
virtual Model::GetCertificateOutcome GetCertificate(const Model::GetCertificateRequest& request) const;
/**
* <p>Retrieves an Amazon-issued certificate and its certificate chain. The chain
* consists of the certificate of the issuing CA and the intermediate certificates
* of any other subordinate CAs. All of the certificates are base64 encoded. You
* can use <a
* href="https://wiki.openssl.org/index.php/Command_Line_Utilities">OpenSSL</a> to
* decode the certificates and inspect individual fields.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/GetCertificate">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetCertificateOutcomeCallable GetCertificateCallable(const Model::GetCertificateRequest& request) const;
/**
* <p>Retrieves an Amazon-issued certificate and its certificate chain. The chain
* consists of the certificate of the issuing CA and the intermediate certificates
* of any other subordinate CAs. All of the certificates are base64 encoded. You
* can use <a
* href="https://wiki.openssl.org/index.php/Command_Line_Utilities">OpenSSL</a> to
* decode the certificates and inspect individual fields.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/GetCertificate">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetCertificateAsync(const Model::GetCertificateRequest& request, const GetCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Imports a certificate into AWS Certificate Manager (ACM) to use with services
* that are integrated with ACM. Note that <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-services.html">integrated
* services</a> allow only certificate types and keys they support to be associated
* with their resources. Further, their support differs depending on whether the
* certificate is imported into IAM or into ACM. For more information, see the
* documentation for each service. For more information about importing
* certificates into ACM, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html">Importing
* Certificates</a> in the <i>AWS Certificate Manager User Guide</i>. </p>
* <p>ACM does not provide <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html">managed
* renewal</a> for certificates that you import.</p> <p>Note the following
* guidelines when importing third party certificates:</p> <ul> <li> <p>You must
* enter the private key that matches the certificate you are importing.</p> </li>
* <li> <p>The private key must be unencrypted. You cannot import a private key
* that is protected by a password or a passphrase.</p> </li> <li> <p>If the
* certificate you are importing is not self-signed, you must enter its certificate
* chain.</p> </li> <li> <p>If a certificate chain is included, the issuer must be
* the subject of one of the certificates in the chain.</p> </li> <li> <p>The
* certificate, private key, and certificate chain must be PEM-encoded.</p> </li>
* <li> <p>The current time must be between the <code>Not Before</code> and
* <code>Not After</code> certificate fields.</p> </li> <li> <p>The
* <code>Issuer</code> field must not be empty.</p> </li> <li> <p>The OCSP
* authority URL, if present, must not exceed 1000 characters.</p> </li> <li> <p>To
* import a new certificate, omit the <code>CertificateArn</code> argument. Include
* this argument only when you want to replace a previously imported certifica</p>
* </li> <li> <p>When you import a certificate by using the CLI, you must specify
* the certificate, the certificate chain, and the private key by their file names
* preceded by <code>file://</code>. For example, you can specify a certificate
* saved in the <code>C:\temp</code> folder as
* <code>file://C:\temp\certificate_to_import.pem</code>. If you are making an HTTP
* or HTTPS Query request, include these arguments as BLOBs. </p> </li> <li>
* <p>When you import a certificate by using an SDK, you must specify the
* certificate, the certificate chain, and the private key files in the manner
* required by the programming language you're using. </p> </li> <li> <p>The
* cryptographic algorithm of an imported certificate must match the algorithm of
* the signing CA. For example, if the signing CA key type is RSA, then the
* certificate key type must also be RSA.</p> </li> </ul> <p>This operation returns
* the <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Name (ARN)</a> of the imported certificate.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/ImportCertificate">AWS
* API Reference</a></p>
*/
virtual Model::ImportCertificateOutcome ImportCertificate(const Model::ImportCertificateRequest& request) const;
/**
* <p>Imports a certificate into AWS Certificate Manager (ACM) to use with services
* that are integrated with ACM. Note that <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-services.html">integrated
* services</a> allow only certificate types and keys they support to be associated
* with their resources. Further, their support differs depending on whether the
* certificate is imported into IAM or into ACM. For more information, see the
* documentation for each service. For more information about importing
* certificates into ACM, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html">Importing
* Certificates</a> in the <i>AWS Certificate Manager User Guide</i>. </p>
* <p>ACM does not provide <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html">managed
* renewal</a> for certificates that you import.</p> <p>Note the following
* guidelines when importing third party certificates:</p> <ul> <li> <p>You must
* enter the private key that matches the certificate you are importing.</p> </li>
* <li> <p>The private key must be unencrypted. You cannot import a private key
* that is protected by a password or a passphrase.</p> </li> <li> <p>If the
* certificate you are importing is not self-signed, you must enter its certificate
* chain.</p> </li> <li> <p>If a certificate chain is included, the issuer must be
* the subject of one of the certificates in the chain.</p> </li> <li> <p>The
* certificate, private key, and certificate chain must be PEM-encoded.</p> </li>
* <li> <p>The current time must be between the <code>Not Before</code> and
* <code>Not After</code> certificate fields.</p> </li> <li> <p>The
* <code>Issuer</code> field must not be empty.</p> </li> <li> <p>The OCSP
* authority URL, if present, must not exceed 1000 characters.</p> </li> <li> <p>To
* import a new certificate, omit the <code>CertificateArn</code> argument. Include
* this argument only when you want to replace a previously imported certifica</p>
* </li> <li> <p>When you import a certificate by using the CLI, you must specify
* the certificate, the certificate chain, and the private key by their file names
* preceded by <code>file://</code>. For example, you can specify a certificate
* saved in the <code>C:\temp</code> folder as
* <code>file://C:\temp\certificate_to_import.pem</code>. If you are making an HTTP
* or HTTPS Query request, include these arguments as BLOBs. </p> </li> <li>
* <p>When you import a certificate by using an SDK, you must specify the
* certificate, the certificate chain, and the private key files in the manner
* required by the programming language you're using. </p> </li> <li> <p>The
* cryptographic algorithm of an imported certificate must match the algorithm of
* the signing CA. For example, if the signing CA key type is RSA, then the
* certificate key type must also be RSA.</p> </li> </ul> <p>This operation returns
* the <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Name (ARN)</a> of the imported certificate.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/ImportCertificate">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ImportCertificateOutcomeCallable ImportCertificateCallable(const Model::ImportCertificateRequest& request) const;
/**
* <p>Imports a certificate into AWS Certificate Manager (ACM) to use with services
* that are integrated with ACM. Note that <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-services.html">integrated
* services</a> allow only certificate types and keys they support to be associated
* with their resources. Further, their support differs depending on whether the
* certificate is imported into IAM or into ACM. For more information, see the
* documentation for each service. For more information about importing
* certificates into ACM, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html">Importing
* Certificates</a> in the <i>AWS Certificate Manager User Guide</i>. </p>
* <p>ACM does not provide <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html">managed
* renewal</a> for certificates that you import.</p> <p>Note the following
* guidelines when importing third party certificates:</p> <ul> <li> <p>You must
* enter the private key that matches the certificate you are importing.</p> </li>
* <li> <p>The private key must be unencrypted. You cannot import a private key
* that is protected by a password or a passphrase.</p> </li> <li> <p>If the
* certificate you are importing is not self-signed, you must enter its certificate
* chain.</p> </li> <li> <p>If a certificate chain is included, the issuer must be
* the subject of one of the certificates in the chain.</p> </li> <li> <p>The
* certificate, private key, and certificate chain must be PEM-encoded.</p> </li>
* <li> <p>The current time must be between the <code>Not Before</code> and
* <code>Not After</code> certificate fields.</p> </li> <li> <p>The
* <code>Issuer</code> field must not be empty.</p> </li> <li> <p>The OCSP
* authority URL, if present, must not exceed 1000 characters.</p> </li> <li> <p>To
* import a new certificate, omit the <code>CertificateArn</code> argument. Include
* this argument only when you want to replace a previously imported certifica</p>
* </li> <li> <p>When you import a certificate by using the CLI, you must specify
* the certificate, the certificate chain, and the private key by their file names
* preceded by <code>file://</code>. For example, you can specify a certificate
* saved in the <code>C:\temp</code> folder as
* <code>file://C:\temp\certificate_to_import.pem</code>. If you are making an HTTP
* or HTTPS Query request, include these arguments as BLOBs. </p> </li> <li>
* <p>When you import a certificate by using an SDK, you must specify the
* certificate, the certificate chain, and the private key files in the manner
* required by the programming language you're using. </p> </li> <li> <p>The
* cryptographic algorithm of an imported certificate must match the algorithm of
* the signing CA. For example, if the signing CA key type is RSA, then the
* certificate key type must also be RSA.</p> </li> </ul> <p>This operation returns
* the <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Name (ARN)</a> of the imported certificate.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/ImportCertificate">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ImportCertificateAsync(const Model::ImportCertificateRequest& request, const ImportCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Retrieves a list of certificate ARNs and domain names. You can request that
* only certificates that match a specific status be listed. You can also filter by
* specific attributes of the certificate. Default filtering returns only
* <code>RSA_2048</code> certificates. For more information, see
* <a>Filters</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/ListCertificates">AWS
* API Reference</a></p>
*/
virtual Model::ListCertificatesOutcome ListCertificates(const Model::ListCertificatesRequest& request) const;
/**
* <p>Retrieves a list of certificate ARNs and domain names. You can request that
* only certificates that match a specific status be listed. You can also filter by
* specific attributes of the certificate. Default filtering returns only
* <code>RSA_2048</code> certificates. For more information, see
* <a>Filters</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/ListCertificates">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ListCertificatesOutcomeCallable ListCertificatesCallable(const Model::ListCertificatesRequest& request) const;
/**
* <p>Retrieves a list of certificate ARNs and domain names. You can request that
* only certificates that match a specific status be listed. You can also filter by
* specific attributes of the certificate. Default filtering returns only
* <code>RSA_2048</code> certificates. For more information, see
* <a>Filters</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/ListCertificates">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ListCertificatesAsync(const Model::ListCertificatesRequest& request, const ListCertificatesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Lists the tags that have been applied to the ACM certificate. Use the
* certificate's Amazon Resource Name (ARN) to specify the certificate. To add a
* tag to an ACM certificate, use the <a>AddTagsToCertificate</a> action. To delete
* a tag, use the <a>RemoveTagsFromCertificate</a> action. </p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/ListTagsForCertificate">AWS
* API Reference</a></p>
*/
virtual Model::ListTagsForCertificateOutcome ListTagsForCertificate(const Model::ListTagsForCertificateRequest& request) const;
/**
* <p>Lists the tags that have been applied to the ACM certificate. Use the
* certificate's Amazon Resource Name (ARN) to specify the certificate. To add a
* tag to an ACM certificate, use the <a>AddTagsToCertificate</a> action. To delete
* a tag, use the <a>RemoveTagsFromCertificate</a> action. </p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/ListTagsForCertificate">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ListTagsForCertificateOutcomeCallable ListTagsForCertificateCallable(const Model::ListTagsForCertificateRequest& request) const;
/**
* <p>Lists the tags that have been applied to the ACM certificate. Use the
* certificate's Amazon Resource Name (ARN) to specify the certificate. To add a
* tag to an ACM certificate, use the <a>AddTagsToCertificate</a> action. To delete
* a tag, use the <a>RemoveTagsFromCertificate</a> action. </p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/ListTagsForCertificate">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ListTagsForCertificateAsync(const Model::ListTagsForCertificateRequest& request, const ListTagsForCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Remove one or more tags from an ACM certificate. A tag consists of a
* key-value pair. If you do not specify the value portion of the tag when calling
* this function, the tag will be removed regardless of value. If you specify a
* value, the tag is removed only if it is associated with the specified value.
* </p> <p>To add tags to a certificate, use the <a>AddTagsToCertificate</a>
* action. To view all of the tags that have been applied to a specific ACM
* certificate, use the <a>ListTagsForCertificate</a> action. </p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/RemoveTagsFromCertificate">AWS
* API Reference</a></p>
*/
virtual Model::RemoveTagsFromCertificateOutcome RemoveTagsFromCertificate(const Model::RemoveTagsFromCertificateRequest& request) const;
/**
* <p>Remove one or more tags from an ACM certificate. A tag consists of a
* key-value pair. If you do not specify the value portion of the tag when calling
* this function, the tag will be removed regardless of value. If you specify a
* value, the tag is removed only if it is associated with the specified value.
* </p> <p>To add tags to a certificate, use the <a>AddTagsToCertificate</a>
* action. To view all of the tags that have been applied to a specific ACM
* certificate, use the <a>ListTagsForCertificate</a> action. </p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/RemoveTagsFromCertificate">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::RemoveTagsFromCertificateOutcomeCallable RemoveTagsFromCertificateCallable(const Model::RemoveTagsFromCertificateRequest& request) const;
/**
* <p>Remove one or more tags from an ACM certificate. A tag consists of a
* key-value pair. If you do not specify the value portion of the tag when calling
* this function, the tag will be removed regardless of value. If you specify a
* value, the tag is removed only if it is associated with the specified value.
* </p> <p>To add tags to a certificate, use the <a>AddTagsToCertificate</a>
* action. To view all of the tags that have been applied to a specific ACM
* certificate, use the <a>ListTagsForCertificate</a> action. </p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/RemoveTagsFromCertificate">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void RemoveTagsFromCertificateAsync(const Model::RemoveTagsFromCertificateRequest& request, const RemoveTagsFromCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Renews an eligable ACM certificate. At this time, only exported private
* certificates can be renewed with this operation. In order to renew your ACM PCA
* certificates with ACM, you must first <a
* href="https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaPermissions.html">grant
* the ACM service principal permission to do so</a>. For more information, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/manual-renewal.html">Testing
* Managed Renewal</a> in the ACM User Guide.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/RenewCertificate">AWS
* API Reference</a></p>
*/
virtual Model::RenewCertificateOutcome RenewCertificate(const Model::RenewCertificateRequest& request) const;
/**
* <p>Renews an eligable ACM certificate. At this time, only exported private
* certificates can be renewed with this operation. In order to renew your ACM PCA
* certificates with ACM, you must first <a
* href="https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaPermissions.html">grant
* the ACM service principal permission to do so</a>. For more information, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/manual-renewal.html">Testing
* Managed Renewal</a> in the ACM User Guide.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/RenewCertificate">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::RenewCertificateOutcomeCallable RenewCertificateCallable(const Model::RenewCertificateRequest& request) const;
/**
* <p>Renews an eligable ACM certificate. At this time, only exported private
* certificates can be renewed with this operation. In order to renew your ACM PCA
* certificates with ACM, you must first <a
* href="https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaPermissions.html">grant
* the ACM service principal permission to do so</a>. For more information, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/manual-renewal.html">Testing
* Managed Renewal</a> in the ACM User Guide.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/RenewCertificate">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void RenewCertificateAsync(const Model::RenewCertificateRequest& request, const RenewCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Requests an ACM certificate for use with other AWS services. To request an
* ACM certificate, you must specify a fully qualified domain name (FQDN) in the
* <code>DomainName</code> parameter. You can also specify additional FQDNs in the
* <code>SubjectAlternativeNames</code> parameter. </p> <p>If you are requesting a
* private certificate, domain validation is not required. If you are requesting a
* public certificate, each domain name that you specify must be validated to
* verify that you own or control the domain. You can use <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-dns.html">DNS
* validation</a> or <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-email.html">email
* validation</a>. We recommend that you use DNS validation. ACM issues public
* certificates after receiving approval from the domain owner. </p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/RequestCertificate">AWS
* API Reference</a></p>
*/
virtual Model::RequestCertificateOutcome RequestCertificate(const Model::RequestCertificateRequest& request) const;
/**
* <p>Requests an ACM certificate for use with other AWS services. To request an
* ACM certificate, you must specify a fully qualified domain name (FQDN) in the
* <code>DomainName</code> parameter. You can also specify additional FQDNs in the
* <code>SubjectAlternativeNames</code> parameter. </p> <p>If you are requesting a
* private certificate, domain validation is not required. If you are requesting a
* public certificate, each domain name that you specify must be validated to
* verify that you own or control the domain. You can use <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-dns.html">DNS
* validation</a> or <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-email.html">email
* validation</a>. We recommend that you use DNS validation. ACM issues public
* certificates after receiving approval from the domain owner. </p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/RequestCertificate">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::RequestCertificateOutcomeCallable RequestCertificateCallable(const Model::RequestCertificateRequest& request) const;
/**
* <p>Requests an ACM certificate for use with other AWS services. To request an
* ACM certificate, you must specify a fully qualified domain name (FQDN) in the
* <code>DomainName</code> parameter. You can also specify additional FQDNs in the
* <code>SubjectAlternativeNames</code> parameter. </p> <p>If you are requesting a
* private certificate, domain validation is not required. If you are requesting a
* public certificate, each domain name that you specify must be validated to
* verify that you own or control the domain. You can use <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-dns.html">DNS
* validation</a> or <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-email.html">email
* validation</a>. We recommend that you use DNS validation. ACM issues public
* certificates after receiving approval from the domain owner. </p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/RequestCertificate">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void RequestCertificateAsync(const Model::RequestCertificateRequest& request, const RequestCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Resends the email that requests domain ownership validation. The domain owner
* or an authorized representative must approve the ACM certificate before it can
* be issued. The certificate can be approved by clicking a link in the mail to
* navigate to the Amazon certificate approval website and then clicking <b>I
* Approve</b>. However, the validation email can be blocked by spam filters.
* Therefore, if you do not receive the original mail, you can request that the
* mail be resent within 72 hours of requesting the ACM certificate. If more than
* 72 hours have elapsed since your original request or since your last attempt to
* resend validation mail, you must request a new certificate. For more information
* about setting up your contact email addresses, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/setup-email.html">Configure
* Email for your Domain</a>. </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/ResendValidationEmail">AWS
* API Reference</a></p>
*/
virtual Model::ResendValidationEmailOutcome ResendValidationEmail(const Model::ResendValidationEmailRequest& request) const;
/**
* <p>Resends the email that requests domain ownership validation. The domain owner
* or an authorized representative must approve the ACM certificate before it can
* be issued. The certificate can be approved by clicking a link in the mail to
* navigate to the Amazon certificate approval website and then clicking <b>I
* Approve</b>. However, the validation email can be blocked by spam filters.
* Therefore, if you do not receive the original mail, you can request that the
* mail be resent within 72 hours of requesting the ACM certificate. If more than
* 72 hours have elapsed since your original request or since your last attempt to
* resend validation mail, you must request a new certificate. For more information
* about setting up your contact email addresses, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/setup-email.html">Configure
* Email for your Domain</a>. </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/ResendValidationEmail">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ResendValidationEmailOutcomeCallable ResendValidationEmailCallable(const Model::ResendValidationEmailRequest& request) const;
/**
* <p>Resends the email that requests domain ownership validation. The domain owner
* or an authorized representative must approve the ACM certificate before it can
* be issued. The certificate can be approved by clicking a link in the mail to
* navigate to the Amazon certificate approval website and then clicking <b>I
* Approve</b>. However, the validation email can be blocked by spam filters.
* Therefore, if you do not receive the original mail, you can request that the
* mail be resent within 72 hours of requesting the ACM certificate. If more than
* 72 hours have elapsed since your original request or since your last attempt to
* resend validation mail, you must request a new certificate. For more information
* about setting up your contact email addresses, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/setup-email.html">Configure
* Email for your Domain</a>. </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/ResendValidationEmail">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ResendValidationEmailAsync(const Model::ResendValidationEmailRequest& request, const ResendValidationEmailResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Updates a certificate. Currently, you can use this function to specify
* whether to opt in to or out of recording your certificate in a certificate
* transparency log. For more information, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-bestpractices.html#best-practices-transparency">
* Opting Out of Certificate Transparency Logging</a>. </p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/UpdateCertificateOptions">AWS
* API Reference</a></p>
*/
virtual Model::UpdateCertificateOptionsOutcome UpdateCertificateOptions(const Model::UpdateCertificateOptionsRequest& request) const;
/**
* <p>Updates a certificate. Currently, you can use this function to specify
* whether to opt in to or out of recording your certificate in a certificate
* transparency log. For more information, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-bestpractices.html#best-practices-transparency">
* Opting Out of Certificate Transparency Logging</a>. </p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/UpdateCertificateOptions">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::UpdateCertificateOptionsOutcomeCallable UpdateCertificateOptionsCallable(const Model::UpdateCertificateOptionsRequest& request) const;
/**
* <p>Updates a certificate. Currently, you can use this function to specify
* whether to opt in to or out of recording your certificate in a certificate
* transparency log. For more information, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-bestpractices.html#best-practices-transparency">
* Opting Out of Certificate Transparency Logging</a>. </p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/UpdateCertificateOptions">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void UpdateCertificateOptionsAsync(const Model::UpdateCertificateOptionsRequest& request, const UpdateCertificateOptionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
void OverrideEndpoint(const Aws::String& endpoint);
private:
void init(const Aws::Client::ClientConfiguration& clientConfiguration);
void AddTagsToCertificateAsyncHelper(const Model::AddTagsToCertificateRequest& request, const AddTagsToCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteCertificateAsyncHelper(const Model::DeleteCertificateRequest& request, const DeleteCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeCertificateAsyncHelper(const Model::DescribeCertificateRequest& request, const DescribeCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ExportCertificateAsyncHelper(const Model::ExportCertificateRequest& request, const ExportCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void GetCertificateAsyncHelper(const Model::GetCertificateRequest& request, const GetCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ImportCertificateAsyncHelper(const Model::ImportCertificateRequest& request, const ImportCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ListCertificatesAsyncHelper(const Model::ListCertificatesRequest& request, const ListCertificatesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ListTagsForCertificateAsyncHelper(const Model::ListTagsForCertificateRequest& request, const ListTagsForCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void RemoveTagsFromCertificateAsyncHelper(const Model::RemoveTagsFromCertificateRequest& request, const RemoveTagsFromCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void RenewCertificateAsyncHelper(const Model::RenewCertificateRequest& request, const RenewCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void RequestCertificateAsyncHelper(const Model::RequestCertificateRequest& request, const RequestCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ResendValidationEmailAsyncHelper(const Model::ResendValidationEmailRequest& request, const ResendValidationEmailResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void UpdateCertificateOptionsAsyncHelper(const Model::UpdateCertificateOptionsRequest& request, const UpdateCertificateOptionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
Aws::String m_uri;
Aws::String m_configScheme;
std::shared_ptr<Aws::Utils::Threading::Executor> m_executor;
};
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,21 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/core/Region.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace ACM
{
namespace ACMEndpoint
{
AWS_ACM_API Aws::String ForRegion(const Aws::String& regionName, bool useDualStack = false);
} // namespace ACMEndpoint
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,23 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/core/client/AWSErrorMarshaller.h>
namespace Aws
{
namespace Client
{
class AWS_ACM_API ACMErrorMarshaller : public Aws::Client::JsonErrorMarshaller
{
public:
Aws::Client::AWSError<Aws::Client::CoreErrors> FindErrorByName(const char* exceptionName) const override;
};
} // namespace Client
} // namespace Aws

View File

@@ -0,0 +1,82 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/core/client/AWSError.h>
#include <aws/core/client/CoreErrors.h>
#include <aws/acm/ACM_EXPORTS.h>
namespace Aws
{
namespace ACM
{
enum class ACMErrors
{
//From Core//
//////////////////////////////////////////////////////////////////////////////////////////
INCOMPLETE_SIGNATURE = 0,
INTERNAL_FAILURE = 1,
INVALID_ACTION = 2,
INVALID_CLIENT_TOKEN_ID = 3,
INVALID_PARAMETER_COMBINATION = 4,
INVALID_QUERY_PARAMETER = 5,
INVALID_PARAMETER_VALUE = 6,
MISSING_ACTION = 7, // SDK should never allow
MISSING_AUTHENTICATION_TOKEN = 8, // SDK should never allow
MISSING_PARAMETER = 9, // SDK should never allow
OPT_IN_REQUIRED = 10,
REQUEST_EXPIRED = 11,
SERVICE_UNAVAILABLE = 12,
THROTTLING = 13,
VALIDATION = 14,
ACCESS_DENIED = 15,
RESOURCE_NOT_FOUND = 16,
UNRECOGNIZED_CLIENT = 17,
MALFORMED_QUERY_STRING = 18,
SLOW_DOWN = 19,
REQUEST_TIME_TOO_SKEWED = 20,
INVALID_SIGNATURE = 21,
SIGNATURE_DOES_NOT_MATCH = 22,
INVALID_ACCESS_KEY_ID = 23,
REQUEST_TIMEOUT = 24,
NETWORK_CONNECTION = 99,
UNKNOWN = 100,
///////////////////////////////////////////////////////////////////////////////////////////
INVALID_ARGS= static_cast<int>(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1,
INVALID_ARN,
INVALID_DOMAIN_VALIDATION_OPTIONS,
INVALID_PARAMETER,
INVALID_STATE,
INVALID_TAG,
LIMIT_EXCEEDED,
REQUEST_IN_PROGRESS,
RESOURCE_IN_USE,
TAG_POLICY,
TOO_MANY_TAGS
};
class AWS_ACM_API ACMError : public Aws::Client::AWSError<ACMErrors>
{
public:
ACMError() {}
ACMError(const Aws::Client::AWSError<Aws::Client::CoreErrors>& rhs) : Aws::Client::AWSError<ACMErrors>(rhs) {}
ACMError(Aws::Client::AWSError<Aws::Client::CoreErrors>&& rhs) : Aws::Client::AWSError<ACMErrors>(rhs) {}
ACMError(const Aws::Client::AWSError<ACMErrors>& rhs) : Aws::Client::AWSError<ACMErrors>(rhs) {}
ACMError(Aws::Client::AWSError<ACMErrors>&& rhs) : Aws::Client::AWSError<ACMErrors>(rhs) {}
template <typename T>
T GetModeledError();
};
namespace ACMErrorMapper
{
AWS_ACM_API Aws::Client::AWSError<Aws::Client::CoreErrors> GetErrorForName(const char* errorName);
}
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,42 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/core/AmazonSerializableWebServiceRequest.h>
#include <aws/core/utils/UnreferencedParam.h>
#include <aws/core/http/HttpRequest.h>
namespace Aws
{
namespace ACM
{
class AWS_ACM_API ACMRequest : public Aws::AmazonSerializableWebServiceRequest
{
public:
virtual ~ACMRequest () {}
void AddParametersToRequest(Aws::Http::HttpRequest& httpRequest) const { AWS_UNREFERENCED_PARAM(httpRequest); }
inline Aws::Http::HeaderValueCollection GetHeaders() const override
{
auto headers = GetRequestSpecificHeaders();
if(headers.size() == 0 || (headers.size() > 0 && headers.count(Aws::Http::CONTENT_TYPE_HEADER) == 0))
{
headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::CONTENT_TYPE_HEADER, Aws::AMZN_JSON_CONTENT_TYPE_1_1 ));
}
headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::API_VERSION_HEADER, "2015-12-08"));
return headers;
}
protected:
virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); }
};
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,29 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#ifdef _MSC_VER
//disable windows complaining about max template size.
#pragma warning (disable : 4503)
#endif // _MSC_VER
#if defined (USE_WINDOWS_DLL_SEMANTICS) || defined (_WIN32)
#ifdef _MSC_VER
#pragma warning(disable : 4251)
#endif // _MSC_VER
#ifdef USE_IMPORT_EXPORT
#ifdef AWS_ACM_EXPORTS
#define AWS_ACM_API __declspec(dllexport)
#else
#define AWS_ACM_API __declspec(dllimport)
#endif /* AWS_ACM_EXPORTS */
#else
#define AWS_ACM_API
#endif // USE_IMPORT_EXPORT
#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32)
#define AWS_ACM_API
#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32)

View File

@@ -0,0 +1,171 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/acm/ACMRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/acm/model/Tag.h>
#include <utility>
namespace Aws
{
namespace ACM
{
namespace Model
{
/**
*/
class AWS_ACM_API AddTagsToCertificateRequest : public ACMRequest
{
public:
AddTagsToCertificateRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "AddTagsToCertificate"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>String that contains the ARN of the ACM certificate to which the tag is to be
* applied. This must be of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>. </p>
*/
inline const Aws::String& GetCertificateArn() const{ return m_certificateArn; }
/**
* <p>String that contains the ARN of the ACM certificate to which the tag is to be
* applied. This must be of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>. </p>
*/
inline bool CertificateArnHasBeenSet() const { return m_certificateArnHasBeenSet; }
/**
* <p>String that contains the ARN of the ACM certificate to which the tag is to be
* applied. This must be of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>. </p>
*/
inline void SetCertificateArn(const Aws::String& value) { m_certificateArnHasBeenSet = true; m_certificateArn = value; }
/**
* <p>String that contains the ARN of the ACM certificate to which the tag is to be
* applied. This must be of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>. </p>
*/
inline void SetCertificateArn(Aws::String&& value) { m_certificateArnHasBeenSet = true; m_certificateArn = std::move(value); }
/**
* <p>String that contains the ARN of the ACM certificate to which the tag is to be
* applied. This must be of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>. </p>
*/
inline void SetCertificateArn(const char* value) { m_certificateArnHasBeenSet = true; m_certificateArn.assign(value); }
/**
* <p>String that contains the ARN of the ACM certificate to which the tag is to be
* applied. This must be of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>. </p>
*/
inline AddTagsToCertificateRequest& WithCertificateArn(const Aws::String& value) { SetCertificateArn(value); return *this;}
/**
* <p>String that contains the ARN of the ACM certificate to which the tag is to be
* applied. This must be of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>. </p>
*/
inline AddTagsToCertificateRequest& WithCertificateArn(Aws::String&& value) { SetCertificateArn(std::move(value)); return *this;}
/**
* <p>String that contains the ARN of the ACM certificate to which the tag is to be
* applied. This must be of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>. </p>
*/
inline AddTagsToCertificateRequest& WithCertificateArn(const char* value) { SetCertificateArn(value); return *this;}
/**
* <p>The key-value pair that defines the tag. The tag value is optional.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
/**
* <p>The key-value pair that defines the tag. The tag value is optional.</p>
*/
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
/**
* <p>The key-value pair that defines the tag. The tag value is optional.</p>
*/
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
/**
* <p>The key-value pair that defines the tag. The tag value is optional.</p>
*/
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
/**
* <p>The key-value pair that defines the tag. The tag value is optional.</p>
*/
inline AddTagsToCertificateRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
/**
* <p>The key-value pair that defines the tag. The tag value is optional.</p>
*/
inline AddTagsToCertificateRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
/**
* <p>The key-value pair that defines the tag. The tag value is optional.</p>
*/
inline AddTagsToCertificateRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
/**
* <p>The key-value pair that defines the tag. The tag value is optional.</p>
*/
inline AddTagsToCertificateRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
private:
Aws::String m_certificateArn;
bool m_certificateArnHasBeenSet;
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet;
};
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,92 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/acm/model/CertificateTransparencyLoggingPreference.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace ACM
{
namespace Model
{
/**
* <p>Structure that contains options for your certificate. Currently, you can use
* this only to specify whether to opt in to or out of certificate transparency
* logging. Some browsers require that public certificates issued for your domain
* be recorded in a log. Certificates that are not logged typically generate a
* browser error. Transparency makes it possible for you to detect SSL/TLS
* certificates that have been mistakenly or maliciously issued for your domain.
* For general information, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-concepts.html#concept-transparency">Certificate
* Transparency Logging</a>. </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/CertificateOptions">AWS
* API Reference</a></p>
*/
class AWS_ACM_API CertificateOptions
{
public:
CertificateOptions();
CertificateOptions(Aws::Utils::Json::JsonView jsonValue);
CertificateOptions& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>You can opt out of certificate transparency logging by specifying the
* <code>DISABLED</code> option. Opt in by specifying <code>ENABLED</code>. </p>
*/
inline const CertificateTransparencyLoggingPreference& GetCertificateTransparencyLoggingPreference() const{ return m_certificateTransparencyLoggingPreference; }
/**
* <p>You can opt out of certificate transparency logging by specifying the
* <code>DISABLED</code> option. Opt in by specifying <code>ENABLED</code>. </p>
*/
inline bool CertificateTransparencyLoggingPreferenceHasBeenSet() const { return m_certificateTransparencyLoggingPreferenceHasBeenSet; }
/**
* <p>You can opt out of certificate transparency logging by specifying the
* <code>DISABLED</code> option. Opt in by specifying <code>ENABLED</code>. </p>
*/
inline void SetCertificateTransparencyLoggingPreference(const CertificateTransparencyLoggingPreference& value) { m_certificateTransparencyLoggingPreferenceHasBeenSet = true; m_certificateTransparencyLoggingPreference = value; }
/**
* <p>You can opt out of certificate transparency logging by specifying the
* <code>DISABLED</code> option. Opt in by specifying <code>ENABLED</code>. </p>
*/
inline void SetCertificateTransparencyLoggingPreference(CertificateTransparencyLoggingPreference&& value) { m_certificateTransparencyLoggingPreferenceHasBeenSet = true; m_certificateTransparencyLoggingPreference = std::move(value); }
/**
* <p>You can opt out of certificate transparency logging by specifying the
* <code>DISABLED</code> option. Opt in by specifying <code>ENABLED</code>. </p>
*/
inline CertificateOptions& WithCertificateTransparencyLoggingPreference(const CertificateTransparencyLoggingPreference& value) { SetCertificateTransparencyLoggingPreference(value); return *this;}
/**
* <p>You can opt out of certificate transparency logging by specifying the
* <code>DISABLED</code> option. Opt in by specifying <code>ENABLED</code>. </p>
*/
inline CertificateOptions& WithCertificateTransparencyLoggingPreference(CertificateTransparencyLoggingPreference&& value) { SetCertificateTransparencyLoggingPreference(std::move(value)); return *this;}
private:
CertificateTransparencyLoggingPreference m_certificateTransparencyLoggingPreference;
bool m_certificateTransparencyLoggingPreferenceHasBeenSet;
};
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,36 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace ACM
{
namespace Model
{
enum class CertificateStatus
{
NOT_SET,
PENDING_VALIDATION,
ISSUED,
INACTIVE,
EXPIRED,
VALIDATION_TIMED_OUT,
REVOKED,
FAILED
};
namespace CertificateStatusMapper
{
AWS_ACM_API CertificateStatus GetCertificateStatusForName(const Aws::String& name);
AWS_ACM_API Aws::String GetNameForCertificateStatus(CertificateStatus value);
} // namespace CertificateStatusMapper
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,173 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace ACM
{
namespace Model
{
/**
* <p>This structure is returned in the response object of <a>ListCertificates</a>
* action. </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/CertificateSummary">AWS
* API Reference</a></p>
*/
class AWS_ACM_API CertificateSummary
{
public:
CertificateSummary();
CertificateSummary(Aws::Utils::Json::JsonView jsonValue);
CertificateSummary& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>Amazon Resource Name (ARN) of the certificate. This is of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>. </p>
*/
inline const Aws::String& GetCertificateArn() const{ return m_certificateArn; }
/**
* <p>Amazon Resource Name (ARN) of the certificate. This is of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>. </p>
*/
inline bool CertificateArnHasBeenSet() const { return m_certificateArnHasBeenSet; }
/**
* <p>Amazon Resource Name (ARN) of the certificate. This is of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>. </p>
*/
inline void SetCertificateArn(const Aws::String& value) { m_certificateArnHasBeenSet = true; m_certificateArn = value; }
/**
* <p>Amazon Resource Name (ARN) of the certificate. This is of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>. </p>
*/
inline void SetCertificateArn(Aws::String&& value) { m_certificateArnHasBeenSet = true; m_certificateArn = std::move(value); }
/**
* <p>Amazon Resource Name (ARN) of the certificate. This is of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>. </p>
*/
inline void SetCertificateArn(const char* value) { m_certificateArnHasBeenSet = true; m_certificateArn.assign(value); }
/**
* <p>Amazon Resource Name (ARN) of the certificate. This is of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>. </p>
*/
inline CertificateSummary& WithCertificateArn(const Aws::String& value) { SetCertificateArn(value); return *this;}
/**
* <p>Amazon Resource Name (ARN) of the certificate. This is of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>. </p>
*/
inline CertificateSummary& WithCertificateArn(Aws::String&& value) { SetCertificateArn(std::move(value)); return *this;}
/**
* <p>Amazon Resource Name (ARN) of the certificate. This is of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>. </p>
*/
inline CertificateSummary& WithCertificateArn(const char* value) { SetCertificateArn(value); return *this;}
/**
* <p>Fully qualified domain name (FQDN), such as www.example.com or example.com,
* for the certificate.</p>
*/
inline const Aws::String& GetDomainName() const{ return m_domainName; }
/**
* <p>Fully qualified domain name (FQDN), such as www.example.com or example.com,
* for the certificate.</p>
*/
inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; }
/**
* <p>Fully qualified domain name (FQDN), such as www.example.com or example.com,
* for the certificate.</p>
*/
inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; }
/**
* <p>Fully qualified domain name (FQDN), such as www.example.com or example.com,
* for the certificate.</p>
*/
inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); }
/**
* <p>Fully qualified domain name (FQDN), such as www.example.com or example.com,
* for the certificate.</p>
*/
inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); }
/**
* <p>Fully qualified domain name (FQDN), such as www.example.com or example.com,
* for the certificate.</p>
*/
inline CertificateSummary& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;}
/**
* <p>Fully qualified domain name (FQDN), such as www.example.com or example.com,
* for the certificate.</p>
*/
inline CertificateSummary& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;}
/**
* <p>Fully qualified domain name (FQDN), such as www.example.com or example.com,
* for the certificate.</p>
*/
inline CertificateSummary& WithDomainName(const char* value) { SetDomainName(value); return *this;}
private:
Aws::String m_certificateArn;
bool m_certificateArnHasBeenSet;
Aws::String m_domainName;
bool m_domainNameHasBeenSet;
};
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace ACM
{
namespace Model
{
enum class CertificateTransparencyLoggingPreference
{
NOT_SET,
ENABLED,
DISABLED
};
namespace CertificateTransparencyLoggingPreferenceMapper
{
AWS_ACM_API CertificateTransparencyLoggingPreference GetCertificateTransparencyLoggingPreferenceForName(const Aws::String& name);
AWS_ACM_API Aws::String GetNameForCertificateTransparencyLoggingPreference(CertificateTransparencyLoggingPreference value);
} // namespace CertificateTransparencyLoggingPreferenceMapper
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,32 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace ACM
{
namespace Model
{
enum class CertificateType
{
NOT_SET,
IMPORTED,
AMAZON_ISSUED,
PRIVATE_
};
namespace CertificateTypeMapper
{
AWS_ACM_API CertificateType GetCertificateTypeForName(const Aws::String& name);
AWS_ACM_API Aws::String GetNameForCertificateType(CertificateType value);
} // namespace CertificateTypeMapper
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,125 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/acm/ACMRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace ACM
{
namespace Model
{
/**
*/
class AWS_ACM_API DeleteCertificateRequest : public ACMRequest
{
public:
DeleteCertificateRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteCertificate"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>String that contains the ARN of the ACM certificate to be deleted. This must
* be of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
*/
inline const Aws::String& GetCertificateArn() const{ return m_certificateArn; }
/**
* <p>String that contains the ARN of the ACM certificate to be deleted. This must
* be of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
*/
inline bool CertificateArnHasBeenSet() const { return m_certificateArnHasBeenSet; }
/**
* <p>String that contains the ARN of the ACM certificate to be deleted. This must
* be of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
*/
inline void SetCertificateArn(const Aws::String& value) { m_certificateArnHasBeenSet = true; m_certificateArn = value; }
/**
* <p>String that contains the ARN of the ACM certificate to be deleted. This must
* be of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
*/
inline void SetCertificateArn(Aws::String&& value) { m_certificateArnHasBeenSet = true; m_certificateArn = std::move(value); }
/**
* <p>String that contains the ARN of the ACM certificate to be deleted. This must
* be of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
*/
inline void SetCertificateArn(const char* value) { m_certificateArnHasBeenSet = true; m_certificateArn.assign(value); }
/**
* <p>String that contains the ARN of the ACM certificate to be deleted. This must
* be of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
*/
inline DeleteCertificateRequest& WithCertificateArn(const Aws::String& value) { SetCertificateArn(value); return *this;}
/**
* <p>String that contains the ARN of the ACM certificate to be deleted. This must
* be of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
*/
inline DeleteCertificateRequest& WithCertificateArn(Aws::String&& value) { SetCertificateArn(std::move(value)); return *this;}
/**
* <p>String that contains the ARN of the ACM certificate to be deleted. This must
* be of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
*/
inline DeleteCertificateRequest& WithCertificateArn(const char* value) { SetCertificateArn(value); return *this;}
private:
Aws::String m_certificateArn;
bool m_certificateArnHasBeenSet;
};
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,125 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/acm/ACMRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace ACM
{
namespace Model
{
/**
*/
class AWS_ACM_API DescribeCertificateRequest : public ACMRequest
{
public:
DescribeCertificateRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DescribeCertificate"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The Amazon Resource Name (ARN) of the ACM certificate. The ARN must have the
* following form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
*/
inline const Aws::String& GetCertificateArn() const{ return m_certificateArn; }
/**
* <p>The Amazon Resource Name (ARN) of the ACM certificate. The ARN must have the
* following form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
*/
inline bool CertificateArnHasBeenSet() const { return m_certificateArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the ACM certificate. The ARN must have the
* following form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
*/
inline void SetCertificateArn(const Aws::String& value) { m_certificateArnHasBeenSet = true; m_certificateArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the ACM certificate. The ARN must have the
* following form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
*/
inline void SetCertificateArn(Aws::String&& value) { m_certificateArnHasBeenSet = true; m_certificateArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the ACM certificate. The ARN must have the
* following form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
*/
inline void SetCertificateArn(const char* value) { m_certificateArnHasBeenSet = true; m_certificateArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the ACM certificate. The ARN must have the
* following form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
*/
inline DescribeCertificateRequest& WithCertificateArn(const Aws::String& value) { SetCertificateArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the ACM certificate. The ARN must have the
* following form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
*/
inline DescribeCertificateRequest& WithCertificateArn(Aws::String&& value) { SetCertificateArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the ACM certificate. The ARN must have the
* following form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
*/
inline DescribeCertificateRequest& WithCertificateArn(const char* value) { SetCertificateArn(value); return *this;}
private:
Aws::String m_certificateArn;
bool m_certificateArnHasBeenSet;
};
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,67 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/acm/model/CertificateDetail.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace ACM
{
namespace Model
{
class AWS_ACM_API DescribeCertificateResult
{
public:
DescribeCertificateResult();
DescribeCertificateResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DescribeCertificateResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>Metadata about an ACM certificate.</p>
*/
inline const CertificateDetail& GetCertificate() const{ return m_certificate; }
/**
* <p>Metadata about an ACM certificate.</p>
*/
inline void SetCertificate(const CertificateDetail& value) { m_certificate = value; }
/**
* <p>Metadata about an ACM certificate.</p>
*/
inline void SetCertificate(CertificateDetail&& value) { m_certificate = std::move(value); }
/**
* <p>Metadata about an ACM certificate.</p>
*/
inline DescribeCertificateResult& WithCertificate(const CertificateDetail& value) { SetCertificate(value); return *this;}
/**
* <p>Metadata about an ACM certificate.</p>
*/
inline DescribeCertificateResult& WithCertificate(CertificateDetail&& value) { SetCertificate(std::move(value)); return *this;}
private:
CertificateDetail m_certificate;
};
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,32 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace ACM
{
namespace Model
{
enum class DomainStatus
{
NOT_SET,
PENDING_VALIDATION,
SUCCESS,
FAILED
};
namespace DomainStatusMapper
{
AWS_ACM_API DomainStatus GetDomainStatusForName(const Aws::String& name);
AWS_ACM_API Aws::String GetNameForDomainStatus(DomainStatus value);
} // namespace DomainStatusMapper
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,350 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/acm/model/DomainStatus.h>
#include <aws/acm/model/ResourceRecord.h>
#include <aws/acm/model/ValidationMethod.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace ACM
{
namespace Model
{
/**
* <p>Contains information about the validation of each domain name in the
* certificate.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/DomainValidation">AWS
* API Reference</a></p>
*/
class AWS_ACM_API DomainValidation
{
public:
DomainValidation();
DomainValidation(Aws::Utils::Json::JsonView jsonValue);
DomainValidation& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>A fully qualified domain name (FQDN) in the certificate. For example,
* <code>www.example.com</code> or <code>example.com</code>. </p>
*/
inline const Aws::String& GetDomainName() const{ return m_domainName; }
/**
* <p>A fully qualified domain name (FQDN) in the certificate. For example,
* <code>www.example.com</code> or <code>example.com</code>. </p>
*/
inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; }
/**
* <p>A fully qualified domain name (FQDN) in the certificate. For example,
* <code>www.example.com</code> or <code>example.com</code>. </p>
*/
inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; }
/**
* <p>A fully qualified domain name (FQDN) in the certificate. For example,
* <code>www.example.com</code> or <code>example.com</code>. </p>
*/
inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); }
/**
* <p>A fully qualified domain name (FQDN) in the certificate. For example,
* <code>www.example.com</code> or <code>example.com</code>. </p>
*/
inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); }
/**
* <p>A fully qualified domain name (FQDN) in the certificate. For example,
* <code>www.example.com</code> or <code>example.com</code>. </p>
*/
inline DomainValidation& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;}
/**
* <p>A fully qualified domain name (FQDN) in the certificate. For example,
* <code>www.example.com</code> or <code>example.com</code>. </p>
*/
inline DomainValidation& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;}
/**
* <p>A fully qualified domain name (FQDN) in the certificate. For example,
* <code>www.example.com</code> or <code>example.com</code>. </p>
*/
inline DomainValidation& WithDomainName(const char* value) { SetDomainName(value); return *this;}
/**
* <p>A list of email addresses that ACM used to send domain validation emails.</p>
*/
inline const Aws::Vector<Aws::String>& GetValidationEmails() const{ return m_validationEmails; }
/**
* <p>A list of email addresses that ACM used to send domain validation emails.</p>
*/
inline bool ValidationEmailsHasBeenSet() const { return m_validationEmailsHasBeenSet; }
/**
* <p>A list of email addresses that ACM used to send domain validation emails.</p>
*/
inline void SetValidationEmails(const Aws::Vector<Aws::String>& value) { m_validationEmailsHasBeenSet = true; m_validationEmails = value; }
/**
* <p>A list of email addresses that ACM used to send domain validation emails.</p>
*/
inline void SetValidationEmails(Aws::Vector<Aws::String>&& value) { m_validationEmailsHasBeenSet = true; m_validationEmails = std::move(value); }
/**
* <p>A list of email addresses that ACM used to send domain validation emails.</p>
*/
inline DomainValidation& WithValidationEmails(const Aws::Vector<Aws::String>& value) { SetValidationEmails(value); return *this;}
/**
* <p>A list of email addresses that ACM used to send domain validation emails.</p>
*/
inline DomainValidation& WithValidationEmails(Aws::Vector<Aws::String>&& value) { SetValidationEmails(std::move(value)); return *this;}
/**
* <p>A list of email addresses that ACM used to send domain validation emails.</p>
*/
inline DomainValidation& AddValidationEmails(const Aws::String& value) { m_validationEmailsHasBeenSet = true; m_validationEmails.push_back(value); return *this; }
/**
* <p>A list of email addresses that ACM used to send domain validation emails.</p>
*/
inline DomainValidation& AddValidationEmails(Aws::String&& value) { m_validationEmailsHasBeenSet = true; m_validationEmails.push_back(std::move(value)); return *this; }
/**
* <p>A list of email addresses that ACM used to send domain validation emails.</p>
*/
inline DomainValidation& AddValidationEmails(const char* value) { m_validationEmailsHasBeenSet = true; m_validationEmails.push_back(value); return *this; }
/**
* <p>The domain name that ACM used to send domain validation emails.</p>
*/
inline const Aws::String& GetValidationDomain() const{ return m_validationDomain; }
/**
* <p>The domain name that ACM used to send domain validation emails.</p>
*/
inline bool ValidationDomainHasBeenSet() const { return m_validationDomainHasBeenSet; }
/**
* <p>The domain name that ACM used to send domain validation emails.</p>
*/
inline void SetValidationDomain(const Aws::String& value) { m_validationDomainHasBeenSet = true; m_validationDomain = value; }
/**
* <p>The domain name that ACM used to send domain validation emails.</p>
*/
inline void SetValidationDomain(Aws::String&& value) { m_validationDomainHasBeenSet = true; m_validationDomain = std::move(value); }
/**
* <p>The domain name that ACM used to send domain validation emails.</p>
*/
inline void SetValidationDomain(const char* value) { m_validationDomainHasBeenSet = true; m_validationDomain.assign(value); }
/**
* <p>The domain name that ACM used to send domain validation emails.</p>
*/
inline DomainValidation& WithValidationDomain(const Aws::String& value) { SetValidationDomain(value); return *this;}
/**
* <p>The domain name that ACM used to send domain validation emails.</p>
*/
inline DomainValidation& WithValidationDomain(Aws::String&& value) { SetValidationDomain(std::move(value)); return *this;}
/**
* <p>The domain name that ACM used to send domain validation emails.</p>
*/
inline DomainValidation& WithValidationDomain(const char* value) { SetValidationDomain(value); return *this;}
/**
* <p>The validation status of the domain name. This can be one of the following
* values:</p> <ul> <li> <p> <code>PENDING_VALIDATION</code> </p> </li> <li> <p>
* <code/>SUCCESS</p> </li> <li> <p> <code/>FAILED</p> </li> </ul>
*/
inline const DomainStatus& GetValidationStatus() const{ return m_validationStatus; }
/**
* <p>The validation status of the domain name. This can be one of the following
* values:</p> <ul> <li> <p> <code>PENDING_VALIDATION</code> </p> </li> <li> <p>
* <code/>SUCCESS</p> </li> <li> <p> <code/>FAILED</p> </li> </ul>
*/
inline bool ValidationStatusHasBeenSet() const { return m_validationStatusHasBeenSet; }
/**
* <p>The validation status of the domain name. This can be one of the following
* values:</p> <ul> <li> <p> <code>PENDING_VALIDATION</code> </p> </li> <li> <p>
* <code/>SUCCESS</p> </li> <li> <p> <code/>FAILED</p> </li> </ul>
*/
inline void SetValidationStatus(const DomainStatus& value) { m_validationStatusHasBeenSet = true; m_validationStatus = value; }
/**
* <p>The validation status of the domain name. This can be one of the following
* values:</p> <ul> <li> <p> <code>PENDING_VALIDATION</code> </p> </li> <li> <p>
* <code/>SUCCESS</p> </li> <li> <p> <code/>FAILED</p> </li> </ul>
*/
inline void SetValidationStatus(DomainStatus&& value) { m_validationStatusHasBeenSet = true; m_validationStatus = std::move(value); }
/**
* <p>The validation status of the domain name. This can be one of the following
* values:</p> <ul> <li> <p> <code>PENDING_VALIDATION</code> </p> </li> <li> <p>
* <code/>SUCCESS</p> </li> <li> <p> <code/>FAILED</p> </li> </ul>
*/
inline DomainValidation& WithValidationStatus(const DomainStatus& value) { SetValidationStatus(value); return *this;}
/**
* <p>The validation status of the domain name. This can be one of the following
* values:</p> <ul> <li> <p> <code>PENDING_VALIDATION</code> </p> </li> <li> <p>
* <code/>SUCCESS</p> </li> <li> <p> <code/>FAILED</p> </li> </ul>
*/
inline DomainValidation& WithValidationStatus(DomainStatus&& value) { SetValidationStatus(std::move(value)); return *this;}
/**
* <p>Contains the CNAME record that you add to your DNS database for domain
* validation. For more information, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-dns.html">Use
* DNS to Validate Domain Ownership</a>.</p> <p>Note: The CNAME information that
* you need does not include the name of your domain. If you include&#x2028; your
* domain name in the DNS database CNAME record, validation fails.&#x2028; For
* example, if the name is "_a79865eb4cd1a6ab990a45779b4e0b96.yourdomain.com", only
* "_a79865eb4cd1a6ab990a45779b4e0b96" must be used.</p>
*/
inline const ResourceRecord& GetResourceRecord() const{ return m_resourceRecord; }
/**
* <p>Contains the CNAME record that you add to your DNS database for domain
* validation. For more information, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-dns.html">Use
* DNS to Validate Domain Ownership</a>.</p> <p>Note: The CNAME information that
* you need does not include the name of your domain. If you include&#x2028; your
* domain name in the DNS database CNAME record, validation fails.&#x2028; For
* example, if the name is "_a79865eb4cd1a6ab990a45779b4e0b96.yourdomain.com", only
* "_a79865eb4cd1a6ab990a45779b4e0b96" must be used.</p>
*/
inline bool ResourceRecordHasBeenSet() const { return m_resourceRecordHasBeenSet; }
/**
* <p>Contains the CNAME record that you add to your DNS database for domain
* validation. For more information, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-dns.html">Use
* DNS to Validate Domain Ownership</a>.</p> <p>Note: The CNAME information that
* you need does not include the name of your domain. If you include&#x2028; your
* domain name in the DNS database CNAME record, validation fails.&#x2028; For
* example, if the name is "_a79865eb4cd1a6ab990a45779b4e0b96.yourdomain.com", only
* "_a79865eb4cd1a6ab990a45779b4e0b96" must be used.</p>
*/
inline void SetResourceRecord(const ResourceRecord& value) { m_resourceRecordHasBeenSet = true; m_resourceRecord = value; }
/**
* <p>Contains the CNAME record that you add to your DNS database for domain
* validation. For more information, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-dns.html">Use
* DNS to Validate Domain Ownership</a>.</p> <p>Note: The CNAME information that
* you need does not include the name of your domain. If you include&#x2028; your
* domain name in the DNS database CNAME record, validation fails.&#x2028; For
* example, if the name is "_a79865eb4cd1a6ab990a45779b4e0b96.yourdomain.com", only
* "_a79865eb4cd1a6ab990a45779b4e0b96" must be used.</p>
*/
inline void SetResourceRecord(ResourceRecord&& value) { m_resourceRecordHasBeenSet = true; m_resourceRecord = std::move(value); }
/**
* <p>Contains the CNAME record that you add to your DNS database for domain
* validation. For more information, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-dns.html">Use
* DNS to Validate Domain Ownership</a>.</p> <p>Note: The CNAME information that
* you need does not include the name of your domain. If you include&#x2028; your
* domain name in the DNS database CNAME record, validation fails.&#x2028; For
* example, if the name is "_a79865eb4cd1a6ab990a45779b4e0b96.yourdomain.com", only
* "_a79865eb4cd1a6ab990a45779b4e0b96" must be used.</p>
*/
inline DomainValidation& WithResourceRecord(const ResourceRecord& value) { SetResourceRecord(value); return *this;}
/**
* <p>Contains the CNAME record that you add to your DNS database for domain
* validation. For more information, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-dns.html">Use
* DNS to Validate Domain Ownership</a>.</p> <p>Note: The CNAME information that
* you need does not include the name of your domain. If you include&#x2028; your
* domain name in the DNS database CNAME record, validation fails.&#x2028; For
* example, if the name is "_a79865eb4cd1a6ab990a45779b4e0b96.yourdomain.com", only
* "_a79865eb4cd1a6ab990a45779b4e0b96" must be used.</p>
*/
inline DomainValidation& WithResourceRecord(ResourceRecord&& value) { SetResourceRecord(std::move(value)); return *this;}
/**
* <p>Specifies the domain validation method.</p>
*/
inline const ValidationMethod& GetValidationMethod() const{ return m_validationMethod; }
/**
* <p>Specifies the domain validation method.</p>
*/
inline bool ValidationMethodHasBeenSet() const { return m_validationMethodHasBeenSet; }
/**
* <p>Specifies the domain validation method.</p>
*/
inline void SetValidationMethod(const ValidationMethod& value) { m_validationMethodHasBeenSet = true; m_validationMethod = value; }
/**
* <p>Specifies the domain validation method.</p>
*/
inline void SetValidationMethod(ValidationMethod&& value) { m_validationMethodHasBeenSet = true; m_validationMethod = std::move(value); }
/**
* <p>Specifies the domain validation method.</p>
*/
inline DomainValidation& WithValidationMethod(const ValidationMethod& value) { SetValidationMethod(value); return *this;}
/**
* <p>Specifies the domain validation method.</p>
*/
inline DomainValidation& WithValidationMethod(ValidationMethod&& value) { SetValidationMethod(std::move(value)); return *this;}
private:
Aws::String m_domainName;
bool m_domainNameHasBeenSet;
Aws::Vector<Aws::String> m_validationEmails;
bool m_validationEmailsHasBeenSet;
Aws::String m_validationDomain;
bool m_validationDomainHasBeenSet;
DomainStatus m_validationStatus;
bool m_validationStatusHasBeenSet;
ResourceRecord m_resourceRecord;
bool m_resourceRecordHasBeenSet;
ValidationMethod m_validationMethod;
bool m_validationMethodHasBeenSet;
};
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,206 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace ACM
{
namespace Model
{
/**
* <p>Contains information about the domain names that you want ACM to use to send
* you emails that enable you to validate domain ownership.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/DomainValidationOption">AWS
* API Reference</a></p>
*/
class AWS_ACM_API DomainValidationOption
{
public:
DomainValidationOption();
DomainValidationOption(Aws::Utils::Json::JsonView jsonValue);
DomainValidationOption& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>A fully qualified domain name (FQDN) in the certificate request.</p>
*/
inline const Aws::String& GetDomainName() const{ return m_domainName; }
/**
* <p>A fully qualified domain name (FQDN) in the certificate request.</p>
*/
inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; }
/**
* <p>A fully qualified domain name (FQDN) in the certificate request.</p>
*/
inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; }
/**
* <p>A fully qualified domain name (FQDN) in the certificate request.</p>
*/
inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); }
/**
* <p>A fully qualified domain name (FQDN) in the certificate request.</p>
*/
inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); }
/**
* <p>A fully qualified domain name (FQDN) in the certificate request.</p>
*/
inline DomainValidationOption& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;}
/**
* <p>A fully qualified domain name (FQDN) in the certificate request.</p>
*/
inline DomainValidationOption& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;}
/**
* <p>A fully qualified domain name (FQDN) in the certificate request.</p>
*/
inline DomainValidationOption& WithDomainName(const char* value) { SetDomainName(value); return *this;}
/**
* <p>The domain name that you want ACM to use to send you validation emails. This
* domain name is the suffix of the email addresses that you want ACM to use. This
* must be the same as the <code>DomainName</code> value or a superdomain of the
* <code>DomainName</code> value. For example, if you request a certificate for
* <code>testing.example.com</code>, you can specify <code>example.com</code> for
* this value. In that case, ACM sends domain validation emails to the following
* five addresses:</p> <ul> <li> <p>admin@example.com</p> </li> <li>
* <p>administrator@example.com</p> </li> <li> <p>hostmaster@example.com</p> </li>
* <li> <p>postmaster@example.com</p> </li> <li> <p>webmaster@example.com</p> </li>
* </ul>
*/
inline const Aws::String& GetValidationDomain() const{ return m_validationDomain; }
/**
* <p>The domain name that you want ACM to use to send you validation emails. This
* domain name is the suffix of the email addresses that you want ACM to use. This
* must be the same as the <code>DomainName</code> value or a superdomain of the
* <code>DomainName</code> value. For example, if you request a certificate for
* <code>testing.example.com</code>, you can specify <code>example.com</code> for
* this value. In that case, ACM sends domain validation emails to the following
* five addresses:</p> <ul> <li> <p>admin@example.com</p> </li> <li>
* <p>administrator@example.com</p> </li> <li> <p>hostmaster@example.com</p> </li>
* <li> <p>postmaster@example.com</p> </li> <li> <p>webmaster@example.com</p> </li>
* </ul>
*/
inline bool ValidationDomainHasBeenSet() const { return m_validationDomainHasBeenSet; }
/**
* <p>The domain name that you want ACM to use to send you validation emails. This
* domain name is the suffix of the email addresses that you want ACM to use. This
* must be the same as the <code>DomainName</code> value or a superdomain of the
* <code>DomainName</code> value. For example, if you request a certificate for
* <code>testing.example.com</code>, you can specify <code>example.com</code> for
* this value. In that case, ACM sends domain validation emails to the following
* five addresses:</p> <ul> <li> <p>admin@example.com</p> </li> <li>
* <p>administrator@example.com</p> </li> <li> <p>hostmaster@example.com</p> </li>
* <li> <p>postmaster@example.com</p> </li> <li> <p>webmaster@example.com</p> </li>
* </ul>
*/
inline void SetValidationDomain(const Aws::String& value) { m_validationDomainHasBeenSet = true; m_validationDomain = value; }
/**
* <p>The domain name that you want ACM to use to send you validation emails. This
* domain name is the suffix of the email addresses that you want ACM to use. This
* must be the same as the <code>DomainName</code> value or a superdomain of the
* <code>DomainName</code> value. For example, if you request a certificate for
* <code>testing.example.com</code>, you can specify <code>example.com</code> for
* this value. In that case, ACM sends domain validation emails to the following
* five addresses:</p> <ul> <li> <p>admin@example.com</p> </li> <li>
* <p>administrator@example.com</p> </li> <li> <p>hostmaster@example.com</p> </li>
* <li> <p>postmaster@example.com</p> </li> <li> <p>webmaster@example.com</p> </li>
* </ul>
*/
inline void SetValidationDomain(Aws::String&& value) { m_validationDomainHasBeenSet = true; m_validationDomain = std::move(value); }
/**
* <p>The domain name that you want ACM to use to send you validation emails. This
* domain name is the suffix of the email addresses that you want ACM to use. This
* must be the same as the <code>DomainName</code> value or a superdomain of the
* <code>DomainName</code> value. For example, if you request a certificate for
* <code>testing.example.com</code>, you can specify <code>example.com</code> for
* this value. In that case, ACM sends domain validation emails to the following
* five addresses:</p> <ul> <li> <p>admin@example.com</p> </li> <li>
* <p>administrator@example.com</p> </li> <li> <p>hostmaster@example.com</p> </li>
* <li> <p>postmaster@example.com</p> </li> <li> <p>webmaster@example.com</p> </li>
* </ul>
*/
inline void SetValidationDomain(const char* value) { m_validationDomainHasBeenSet = true; m_validationDomain.assign(value); }
/**
* <p>The domain name that you want ACM to use to send you validation emails. This
* domain name is the suffix of the email addresses that you want ACM to use. This
* must be the same as the <code>DomainName</code> value or a superdomain of the
* <code>DomainName</code> value. For example, if you request a certificate for
* <code>testing.example.com</code>, you can specify <code>example.com</code> for
* this value. In that case, ACM sends domain validation emails to the following
* five addresses:</p> <ul> <li> <p>admin@example.com</p> </li> <li>
* <p>administrator@example.com</p> </li> <li> <p>hostmaster@example.com</p> </li>
* <li> <p>postmaster@example.com</p> </li> <li> <p>webmaster@example.com</p> </li>
* </ul>
*/
inline DomainValidationOption& WithValidationDomain(const Aws::String& value) { SetValidationDomain(value); return *this;}
/**
* <p>The domain name that you want ACM to use to send you validation emails. This
* domain name is the suffix of the email addresses that you want ACM to use. This
* must be the same as the <code>DomainName</code> value or a superdomain of the
* <code>DomainName</code> value. For example, if you request a certificate for
* <code>testing.example.com</code>, you can specify <code>example.com</code> for
* this value. In that case, ACM sends domain validation emails to the following
* five addresses:</p> <ul> <li> <p>admin@example.com</p> </li> <li>
* <p>administrator@example.com</p> </li> <li> <p>hostmaster@example.com</p> </li>
* <li> <p>postmaster@example.com</p> </li> <li> <p>webmaster@example.com</p> </li>
* </ul>
*/
inline DomainValidationOption& WithValidationDomain(Aws::String&& value) { SetValidationDomain(std::move(value)); return *this;}
/**
* <p>The domain name that you want ACM to use to send you validation emails. This
* domain name is the suffix of the email addresses that you want ACM to use. This
* must be the same as the <code>DomainName</code> value or a superdomain of the
* <code>DomainName</code> value. For example, if you request a certificate for
* <code>testing.example.com</code>, you can specify <code>example.com</code> for
* this value. In that case, ACM sends domain validation emails to the following
* five addresses:</p> <ul> <li> <p>admin@example.com</p> </li> <li>
* <p>administrator@example.com</p> </li> <li> <p>hostmaster@example.com</p> </li>
* <li> <p>postmaster@example.com</p> </li> <li> <p>webmaster@example.com</p> </li>
* </ul>
*/
inline DomainValidationOption& WithValidationDomain(const char* value) { SetValidationDomain(value); return *this;}
private:
Aws::String m_domainName;
bool m_domainNameHasBeenSet;
Aws::String m_validationDomain;
bool m_validationDomainHasBeenSet;
};
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,162 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/acm/ACMRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/Array.h>
#include <utility>
namespace Aws
{
namespace ACM
{
namespace Model
{
/**
*/
class AWS_ACM_API ExportCertificateRequest : public ACMRequest
{
public:
ExportCertificateRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "ExportCertificate"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>An Amazon Resource Name (ARN) of the issued certificate. This must be of the
* form:</p> <p>
* <code>arn:aws:acm:region:account:certificate/12345678-1234-1234-1234-123456789012</code>
* </p>
*/
inline const Aws::String& GetCertificateArn() const{ return m_certificateArn; }
/**
* <p>An Amazon Resource Name (ARN) of the issued certificate. This must be of the
* form:</p> <p>
* <code>arn:aws:acm:region:account:certificate/12345678-1234-1234-1234-123456789012</code>
* </p>
*/
inline bool CertificateArnHasBeenSet() const { return m_certificateArnHasBeenSet; }
/**
* <p>An Amazon Resource Name (ARN) of the issued certificate. This must be of the
* form:</p> <p>
* <code>arn:aws:acm:region:account:certificate/12345678-1234-1234-1234-123456789012</code>
* </p>
*/
inline void SetCertificateArn(const Aws::String& value) { m_certificateArnHasBeenSet = true; m_certificateArn = value; }
/**
* <p>An Amazon Resource Name (ARN) of the issued certificate. This must be of the
* form:</p> <p>
* <code>arn:aws:acm:region:account:certificate/12345678-1234-1234-1234-123456789012</code>
* </p>
*/
inline void SetCertificateArn(Aws::String&& value) { m_certificateArnHasBeenSet = true; m_certificateArn = std::move(value); }
/**
* <p>An Amazon Resource Name (ARN) of the issued certificate. This must be of the
* form:</p> <p>
* <code>arn:aws:acm:region:account:certificate/12345678-1234-1234-1234-123456789012</code>
* </p>
*/
inline void SetCertificateArn(const char* value) { m_certificateArnHasBeenSet = true; m_certificateArn.assign(value); }
/**
* <p>An Amazon Resource Name (ARN) of the issued certificate. This must be of the
* form:</p> <p>
* <code>arn:aws:acm:region:account:certificate/12345678-1234-1234-1234-123456789012</code>
* </p>
*/
inline ExportCertificateRequest& WithCertificateArn(const Aws::String& value) { SetCertificateArn(value); return *this;}
/**
* <p>An Amazon Resource Name (ARN) of the issued certificate. This must be of the
* form:</p> <p>
* <code>arn:aws:acm:region:account:certificate/12345678-1234-1234-1234-123456789012</code>
* </p>
*/
inline ExportCertificateRequest& WithCertificateArn(Aws::String&& value) { SetCertificateArn(std::move(value)); return *this;}
/**
* <p>An Amazon Resource Name (ARN) of the issued certificate. This must be of the
* form:</p> <p>
* <code>arn:aws:acm:region:account:certificate/12345678-1234-1234-1234-123456789012</code>
* </p>
*/
inline ExportCertificateRequest& WithCertificateArn(const char* value) { SetCertificateArn(value); return *this;}
/**
* <p>Passphrase to associate with the encrypted exported private key. If you want
* to later decrypt the private key, you must have the passphrase. You can use the
* following OpenSSL command to decrypt a private key: </p> <p> <code>openssl rsa
* -in encrypted_key.pem -out decrypted_key.pem</code> </p>
*/
inline const Aws::Utils::CryptoBuffer& GetPassphrase() const{ return m_passphrase; }
/**
* <p>Passphrase to associate with the encrypted exported private key. If you want
* to later decrypt the private key, you must have the passphrase. You can use the
* following OpenSSL command to decrypt a private key: </p> <p> <code>openssl rsa
* -in encrypted_key.pem -out decrypted_key.pem</code> </p>
*/
inline bool PassphraseHasBeenSet() const { return m_passphraseHasBeenSet; }
/**
* <p>Passphrase to associate with the encrypted exported private key. If you want
* to later decrypt the private key, you must have the passphrase. You can use the
* following OpenSSL command to decrypt a private key: </p> <p> <code>openssl rsa
* -in encrypted_key.pem -out decrypted_key.pem</code> </p>
*/
inline void SetPassphrase(const Aws::Utils::CryptoBuffer& value) { m_passphraseHasBeenSet = true; m_passphrase = value; }
/**
* <p>Passphrase to associate with the encrypted exported private key. If you want
* to later decrypt the private key, you must have the passphrase. You can use the
* following OpenSSL command to decrypt a private key: </p> <p> <code>openssl rsa
* -in encrypted_key.pem -out decrypted_key.pem</code> </p>
*/
inline void SetPassphrase(Aws::Utils::CryptoBuffer&& value) { m_passphraseHasBeenSet = true; m_passphrase = std::move(value); }
/**
* <p>Passphrase to associate with the encrypted exported private key. If you want
* to later decrypt the private key, you must have the passphrase. You can use the
* following OpenSSL command to decrypt a private key: </p> <p> <code>openssl rsa
* -in encrypted_key.pem -out decrypted_key.pem</code> </p>
*/
inline ExportCertificateRequest& WithPassphrase(const Aws::Utils::CryptoBuffer& value) { SetPassphrase(value); return *this;}
/**
* <p>Passphrase to associate with the encrypted exported private key. If you want
* to later decrypt the private key, you must have the passphrase. You can use the
* following OpenSSL command to decrypt a private key: </p> <p> <code>openssl rsa
* -in encrypted_key.pem -out decrypted_key.pem</code> </p>
*/
inline ExportCertificateRequest& WithPassphrase(Aws::Utils::CryptoBuffer&& value) { SetPassphrase(std::move(value)); return *this;}
private:
Aws::String m_certificateArn;
bool m_certificateArnHasBeenSet;
Aws::Utils::CryptoBuffer m_passphrase;
bool m_passphraseHasBeenSet;
};
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,167 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace ACM
{
namespace Model
{
class AWS_ACM_API ExportCertificateResult
{
public:
ExportCertificateResult();
ExportCertificateResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
ExportCertificateResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The base64 PEM-encoded certificate.</p>
*/
inline const Aws::String& GetCertificate() const{ return m_certificate; }
/**
* <p>The base64 PEM-encoded certificate.</p>
*/
inline void SetCertificate(const Aws::String& value) { m_certificate = value; }
/**
* <p>The base64 PEM-encoded certificate.</p>
*/
inline void SetCertificate(Aws::String&& value) { m_certificate = std::move(value); }
/**
* <p>The base64 PEM-encoded certificate.</p>
*/
inline void SetCertificate(const char* value) { m_certificate.assign(value); }
/**
* <p>The base64 PEM-encoded certificate.</p>
*/
inline ExportCertificateResult& WithCertificate(const Aws::String& value) { SetCertificate(value); return *this;}
/**
* <p>The base64 PEM-encoded certificate.</p>
*/
inline ExportCertificateResult& WithCertificate(Aws::String&& value) { SetCertificate(std::move(value)); return *this;}
/**
* <p>The base64 PEM-encoded certificate.</p>
*/
inline ExportCertificateResult& WithCertificate(const char* value) { SetCertificate(value); return *this;}
/**
* <p>The base64 PEM-encoded certificate chain. This does not include the
* certificate that you are exporting.</p>
*/
inline const Aws::String& GetCertificateChain() const{ return m_certificateChain; }
/**
* <p>The base64 PEM-encoded certificate chain. This does not include the
* certificate that you are exporting.</p>
*/
inline void SetCertificateChain(const Aws::String& value) { m_certificateChain = value; }
/**
* <p>The base64 PEM-encoded certificate chain. This does not include the
* certificate that you are exporting.</p>
*/
inline void SetCertificateChain(Aws::String&& value) { m_certificateChain = std::move(value); }
/**
* <p>The base64 PEM-encoded certificate chain. This does not include the
* certificate that you are exporting.</p>
*/
inline void SetCertificateChain(const char* value) { m_certificateChain.assign(value); }
/**
* <p>The base64 PEM-encoded certificate chain. This does not include the
* certificate that you are exporting.</p>
*/
inline ExportCertificateResult& WithCertificateChain(const Aws::String& value) { SetCertificateChain(value); return *this;}
/**
* <p>The base64 PEM-encoded certificate chain. This does not include the
* certificate that you are exporting.</p>
*/
inline ExportCertificateResult& WithCertificateChain(Aws::String&& value) { SetCertificateChain(std::move(value)); return *this;}
/**
* <p>The base64 PEM-encoded certificate chain. This does not include the
* certificate that you are exporting.</p>
*/
inline ExportCertificateResult& WithCertificateChain(const char* value) { SetCertificateChain(value); return *this;}
/**
* <p>The encrypted private key associated with the public key in the certificate.
* The key is output in PKCS #8 format and is base64 PEM-encoded. </p>
*/
inline const Aws::String& GetPrivateKey() const{ return m_privateKey; }
/**
* <p>The encrypted private key associated with the public key in the certificate.
* The key is output in PKCS #8 format and is base64 PEM-encoded. </p>
*/
inline void SetPrivateKey(const Aws::String& value) { m_privateKey = value; }
/**
* <p>The encrypted private key associated with the public key in the certificate.
* The key is output in PKCS #8 format and is base64 PEM-encoded. </p>
*/
inline void SetPrivateKey(Aws::String&& value) { m_privateKey = std::move(value); }
/**
* <p>The encrypted private key associated with the public key in the certificate.
* The key is output in PKCS #8 format and is base64 PEM-encoded. </p>
*/
inline void SetPrivateKey(const char* value) { m_privateKey.assign(value); }
/**
* <p>The encrypted private key associated with the public key in the certificate.
* The key is output in PKCS #8 format and is base64 PEM-encoded. </p>
*/
inline ExportCertificateResult& WithPrivateKey(const Aws::String& value) { SetPrivateKey(value); return *this;}
/**
* <p>The encrypted private key associated with the public key in the certificate.
* The key is output in PKCS #8 format and is base64 PEM-encoded. </p>
*/
inline ExportCertificateResult& WithPrivateKey(Aws::String&& value) { SetPrivateKey(std::move(value)); return *this;}
/**
* <p>The encrypted private key associated with the public key in the certificate.
* The key is output in PKCS #8 format and is base64 PEM-encoded. </p>
*/
inline ExportCertificateResult& WithPrivateKey(const char* value) { SetPrivateKey(value); return *this;}
private:
Aws::String m_certificate;
Aws::String m_certificateChain;
Aws::String m_privateKey;
};
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,214 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/acm/model/ExtendedKeyUsageName.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace ACM
{
namespace Model
{
/**
* <p>The Extended Key Usage X.509 v3 extension defines one or more purposes for
* which the public key can be used. This is in addition to or in place of the
* basic purposes specified by the Key Usage extension. </p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/ExtendedKeyUsage">AWS
* API Reference</a></p>
*/
class AWS_ACM_API ExtendedKeyUsage
{
public:
ExtendedKeyUsage();
ExtendedKeyUsage(Aws::Utils::Json::JsonView jsonValue);
ExtendedKeyUsage& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The name of an Extended Key Usage value.</p>
*/
inline const ExtendedKeyUsageName& GetName() const{ return m_name; }
/**
* <p>The name of an Extended Key Usage value.</p>
*/
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
/**
* <p>The name of an Extended Key Usage value.</p>
*/
inline void SetName(const ExtendedKeyUsageName& value) { m_nameHasBeenSet = true; m_name = value; }
/**
* <p>The name of an Extended Key Usage value.</p>
*/
inline void SetName(ExtendedKeyUsageName&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
/**
* <p>The name of an Extended Key Usage value.</p>
*/
inline ExtendedKeyUsage& WithName(const ExtendedKeyUsageName& value) { SetName(value); return *this;}
/**
* <p>The name of an Extended Key Usage value.</p>
*/
inline ExtendedKeyUsage& WithName(ExtendedKeyUsageName&& value) { SetName(std::move(value)); return *this;}
/**
* <p>An object identifier (OID) for the extension value. OIDs are strings of
* numbers separated by periods. The following OIDs are defined in RFC 3280 and RFC
* 5280. </p> <ul> <li> <p> <code>1.3.6.1.5.5.7.3.1
* (TLS_WEB_SERVER_AUTHENTICATION)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.2 (TLS_WEB_CLIENT_AUTHENTICATION)</code> </p> </li> <li>
* <p> <code>1.3.6.1.5.5.7.3.3 (CODE_SIGNING)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.4 (EMAIL_PROTECTION)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.8 (TIME_STAMPING)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.9 (OCSP_SIGNING)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.5 (IPSEC_END_SYSTEM)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.6 (IPSEC_TUNNEL)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.7 (IPSEC_USER)</code> </p> </li> </ul>
*/
inline const Aws::String& GetOID() const{ return m_oID; }
/**
* <p>An object identifier (OID) for the extension value. OIDs are strings of
* numbers separated by periods. The following OIDs are defined in RFC 3280 and RFC
* 5280. </p> <ul> <li> <p> <code>1.3.6.1.5.5.7.3.1
* (TLS_WEB_SERVER_AUTHENTICATION)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.2 (TLS_WEB_CLIENT_AUTHENTICATION)</code> </p> </li> <li>
* <p> <code>1.3.6.1.5.5.7.3.3 (CODE_SIGNING)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.4 (EMAIL_PROTECTION)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.8 (TIME_STAMPING)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.9 (OCSP_SIGNING)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.5 (IPSEC_END_SYSTEM)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.6 (IPSEC_TUNNEL)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.7 (IPSEC_USER)</code> </p> </li> </ul>
*/
inline bool OIDHasBeenSet() const { return m_oIDHasBeenSet; }
/**
* <p>An object identifier (OID) for the extension value. OIDs are strings of
* numbers separated by periods. The following OIDs are defined in RFC 3280 and RFC
* 5280. </p> <ul> <li> <p> <code>1.3.6.1.5.5.7.3.1
* (TLS_WEB_SERVER_AUTHENTICATION)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.2 (TLS_WEB_CLIENT_AUTHENTICATION)</code> </p> </li> <li>
* <p> <code>1.3.6.1.5.5.7.3.3 (CODE_SIGNING)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.4 (EMAIL_PROTECTION)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.8 (TIME_STAMPING)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.9 (OCSP_SIGNING)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.5 (IPSEC_END_SYSTEM)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.6 (IPSEC_TUNNEL)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.7 (IPSEC_USER)</code> </p> </li> </ul>
*/
inline void SetOID(const Aws::String& value) { m_oIDHasBeenSet = true; m_oID = value; }
/**
* <p>An object identifier (OID) for the extension value. OIDs are strings of
* numbers separated by periods. The following OIDs are defined in RFC 3280 and RFC
* 5280. </p> <ul> <li> <p> <code>1.3.6.1.5.5.7.3.1
* (TLS_WEB_SERVER_AUTHENTICATION)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.2 (TLS_WEB_CLIENT_AUTHENTICATION)</code> </p> </li> <li>
* <p> <code>1.3.6.1.5.5.7.3.3 (CODE_SIGNING)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.4 (EMAIL_PROTECTION)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.8 (TIME_STAMPING)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.9 (OCSP_SIGNING)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.5 (IPSEC_END_SYSTEM)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.6 (IPSEC_TUNNEL)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.7 (IPSEC_USER)</code> </p> </li> </ul>
*/
inline void SetOID(Aws::String&& value) { m_oIDHasBeenSet = true; m_oID = std::move(value); }
/**
* <p>An object identifier (OID) for the extension value. OIDs are strings of
* numbers separated by periods. The following OIDs are defined in RFC 3280 and RFC
* 5280. </p> <ul> <li> <p> <code>1.3.6.1.5.5.7.3.1
* (TLS_WEB_SERVER_AUTHENTICATION)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.2 (TLS_WEB_CLIENT_AUTHENTICATION)</code> </p> </li> <li>
* <p> <code>1.3.6.1.5.5.7.3.3 (CODE_SIGNING)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.4 (EMAIL_PROTECTION)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.8 (TIME_STAMPING)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.9 (OCSP_SIGNING)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.5 (IPSEC_END_SYSTEM)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.6 (IPSEC_TUNNEL)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.7 (IPSEC_USER)</code> </p> </li> </ul>
*/
inline void SetOID(const char* value) { m_oIDHasBeenSet = true; m_oID.assign(value); }
/**
* <p>An object identifier (OID) for the extension value. OIDs are strings of
* numbers separated by periods. The following OIDs are defined in RFC 3280 and RFC
* 5280. </p> <ul> <li> <p> <code>1.3.6.1.5.5.7.3.1
* (TLS_WEB_SERVER_AUTHENTICATION)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.2 (TLS_WEB_CLIENT_AUTHENTICATION)</code> </p> </li> <li>
* <p> <code>1.3.6.1.5.5.7.3.3 (CODE_SIGNING)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.4 (EMAIL_PROTECTION)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.8 (TIME_STAMPING)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.9 (OCSP_SIGNING)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.5 (IPSEC_END_SYSTEM)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.6 (IPSEC_TUNNEL)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.7 (IPSEC_USER)</code> </p> </li> </ul>
*/
inline ExtendedKeyUsage& WithOID(const Aws::String& value) { SetOID(value); return *this;}
/**
* <p>An object identifier (OID) for the extension value. OIDs are strings of
* numbers separated by periods. The following OIDs are defined in RFC 3280 and RFC
* 5280. </p> <ul> <li> <p> <code>1.3.6.1.5.5.7.3.1
* (TLS_WEB_SERVER_AUTHENTICATION)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.2 (TLS_WEB_CLIENT_AUTHENTICATION)</code> </p> </li> <li>
* <p> <code>1.3.6.1.5.5.7.3.3 (CODE_SIGNING)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.4 (EMAIL_PROTECTION)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.8 (TIME_STAMPING)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.9 (OCSP_SIGNING)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.5 (IPSEC_END_SYSTEM)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.6 (IPSEC_TUNNEL)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.7 (IPSEC_USER)</code> </p> </li> </ul>
*/
inline ExtendedKeyUsage& WithOID(Aws::String&& value) { SetOID(std::move(value)); return *this;}
/**
* <p>An object identifier (OID) for the extension value. OIDs are strings of
* numbers separated by periods. The following OIDs are defined in RFC 3280 and RFC
* 5280. </p> <ul> <li> <p> <code>1.3.6.1.5.5.7.3.1
* (TLS_WEB_SERVER_AUTHENTICATION)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.2 (TLS_WEB_CLIENT_AUTHENTICATION)</code> </p> </li> <li>
* <p> <code>1.3.6.1.5.5.7.3.3 (CODE_SIGNING)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.4 (EMAIL_PROTECTION)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.8 (TIME_STAMPING)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.9 (OCSP_SIGNING)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.5 (IPSEC_END_SYSTEM)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.6 (IPSEC_TUNNEL)</code> </p> </li> <li> <p>
* <code>1.3.6.1.5.5.7.3.7 (IPSEC_USER)</code> </p> </li> </ul>
*/
inline ExtendedKeyUsage& WithOID(const char* value) { SetOID(value); return *this;}
private:
ExtendedKeyUsageName m_name;
bool m_nameHasBeenSet;
Aws::String m_oID;
bool m_oIDHasBeenSet;
};
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,41 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace ACM
{
namespace Model
{
enum class ExtendedKeyUsageName
{
NOT_SET,
TLS_WEB_SERVER_AUTHENTICATION,
TLS_WEB_CLIENT_AUTHENTICATION,
CODE_SIGNING,
EMAIL_PROTECTION,
TIME_STAMPING,
OCSP_SIGNING,
IPSEC_END_SYSTEM,
IPSEC_TUNNEL,
IPSEC_USER,
ANY,
NONE,
CUSTOM
};
namespace ExtendedKeyUsageNameMapper
{
AWS_ACM_API ExtendedKeyUsageName GetExtendedKeyUsageNameForName(const Aws::String& name);
AWS_ACM_API Aws::String GetNameForExtendedKeyUsageName(ExtendedKeyUsageName value);
} // namespace ExtendedKeyUsageNameMapper
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,46 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace ACM
{
namespace Model
{
enum class FailureReason
{
NOT_SET,
NO_AVAILABLE_CONTACTS,
ADDITIONAL_VERIFICATION_REQUIRED,
DOMAIN_NOT_ALLOWED,
INVALID_PUBLIC_DOMAIN,
DOMAIN_VALIDATION_DENIED,
CAA_ERROR,
PCA_LIMIT_EXCEEDED,
PCA_INVALID_ARN,
PCA_INVALID_STATE,
PCA_REQUEST_FAILED,
PCA_NAME_CONSTRAINTS_VALIDATION,
PCA_RESOURCE_NOT_FOUND,
PCA_INVALID_ARGS,
PCA_INVALID_DURATION,
PCA_ACCESS_DENIED,
SLR_NOT_FOUND,
OTHER
};
namespace FailureReasonMapper
{
AWS_ACM_API FailureReason GetFailureReasonForName(const Aws::String& name);
AWS_ACM_API Aws::String GetNameForFailureReason(FailureReason value);
} // namespace FailureReasonMapper
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,220 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/acm/model/ExtendedKeyUsageName.h>
#include <aws/acm/model/KeyUsageName.h>
#include <aws/acm/model/KeyAlgorithm.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace ACM
{
namespace Model
{
/**
* <p>This structure can be used in the <a>ListCertificates</a> action to filter
* the output of the certificate list. </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/Filters">AWS API
* Reference</a></p>
*/
class AWS_ACM_API Filters
{
public:
Filters();
Filters(Aws::Utils::Json::JsonView jsonValue);
Filters& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>Specify one or more <a>ExtendedKeyUsage</a> extension values.</p>
*/
inline const Aws::Vector<ExtendedKeyUsageName>& GetExtendedKeyUsage() const{ return m_extendedKeyUsage; }
/**
* <p>Specify one or more <a>ExtendedKeyUsage</a> extension values.</p>
*/
inline bool ExtendedKeyUsageHasBeenSet() const { return m_extendedKeyUsageHasBeenSet; }
/**
* <p>Specify one or more <a>ExtendedKeyUsage</a> extension values.</p>
*/
inline void SetExtendedKeyUsage(const Aws::Vector<ExtendedKeyUsageName>& value) { m_extendedKeyUsageHasBeenSet = true; m_extendedKeyUsage = value; }
/**
* <p>Specify one or more <a>ExtendedKeyUsage</a> extension values.</p>
*/
inline void SetExtendedKeyUsage(Aws::Vector<ExtendedKeyUsageName>&& value) { m_extendedKeyUsageHasBeenSet = true; m_extendedKeyUsage = std::move(value); }
/**
* <p>Specify one or more <a>ExtendedKeyUsage</a> extension values.</p>
*/
inline Filters& WithExtendedKeyUsage(const Aws::Vector<ExtendedKeyUsageName>& value) { SetExtendedKeyUsage(value); return *this;}
/**
* <p>Specify one or more <a>ExtendedKeyUsage</a> extension values.</p>
*/
inline Filters& WithExtendedKeyUsage(Aws::Vector<ExtendedKeyUsageName>&& value) { SetExtendedKeyUsage(std::move(value)); return *this;}
/**
* <p>Specify one or more <a>ExtendedKeyUsage</a> extension values.</p>
*/
inline Filters& AddExtendedKeyUsage(const ExtendedKeyUsageName& value) { m_extendedKeyUsageHasBeenSet = true; m_extendedKeyUsage.push_back(value); return *this; }
/**
* <p>Specify one or more <a>ExtendedKeyUsage</a> extension values.</p>
*/
inline Filters& AddExtendedKeyUsage(ExtendedKeyUsageName&& value) { m_extendedKeyUsageHasBeenSet = true; m_extendedKeyUsage.push_back(std::move(value)); return *this; }
/**
* <p>Specify one or more <a>KeyUsage</a> extension values.</p>
*/
inline const Aws::Vector<KeyUsageName>& GetKeyUsage() const{ return m_keyUsage; }
/**
* <p>Specify one or more <a>KeyUsage</a> extension values.</p>
*/
inline bool KeyUsageHasBeenSet() const { return m_keyUsageHasBeenSet; }
/**
* <p>Specify one or more <a>KeyUsage</a> extension values.</p>
*/
inline void SetKeyUsage(const Aws::Vector<KeyUsageName>& value) { m_keyUsageHasBeenSet = true; m_keyUsage = value; }
/**
* <p>Specify one or more <a>KeyUsage</a> extension values.</p>
*/
inline void SetKeyUsage(Aws::Vector<KeyUsageName>&& value) { m_keyUsageHasBeenSet = true; m_keyUsage = std::move(value); }
/**
* <p>Specify one or more <a>KeyUsage</a> extension values.</p>
*/
inline Filters& WithKeyUsage(const Aws::Vector<KeyUsageName>& value) { SetKeyUsage(value); return *this;}
/**
* <p>Specify one or more <a>KeyUsage</a> extension values.</p>
*/
inline Filters& WithKeyUsage(Aws::Vector<KeyUsageName>&& value) { SetKeyUsage(std::move(value)); return *this;}
/**
* <p>Specify one or more <a>KeyUsage</a> extension values.</p>
*/
inline Filters& AddKeyUsage(const KeyUsageName& value) { m_keyUsageHasBeenSet = true; m_keyUsage.push_back(value); return *this; }
/**
* <p>Specify one or more <a>KeyUsage</a> extension values.</p>
*/
inline Filters& AddKeyUsage(KeyUsageName&& value) { m_keyUsageHasBeenSet = true; m_keyUsage.push_back(std::move(value)); return *this; }
/**
* <p>Specify one or more algorithms that can be used to generate key pairs.</p>
* <p>Default filtering returns only <code>RSA_2048</code> certificates. To return
* other certificate types, provide the desired type signatures in a
* comma-separated list. For example, <code>"keyTypes":
* ["RSA_2048,RSA_4096"]</code> returns both <code>RSA_2048</code> and
* <code>RSA_4096</code> certificates.</p>
*/
inline const Aws::Vector<KeyAlgorithm>& GetKeyTypes() const{ return m_keyTypes; }
/**
* <p>Specify one or more algorithms that can be used to generate key pairs.</p>
* <p>Default filtering returns only <code>RSA_2048</code> certificates. To return
* other certificate types, provide the desired type signatures in a
* comma-separated list. For example, <code>"keyTypes":
* ["RSA_2048,RSA_4096"]</code> returns both <code>RSA_2048</code> and
* <code>RSA_4096</code> certificates.</p>
*/
inline bool KeyTypesHasBeenSet() const { return m_keyTypesHasBeenSet; }
/**
* <p>Specify one or more algorithms that can be used to generate key pairs.</p>
* <p>Default filtering returns only <code>RSA_2048</code> certificates. To return
* other certificate types, provide the desired type signatures in a
* comma-separated list. For example, <code>"keyTypes":
* ["RSA_2048,RSA_4096"]</code> returns both <code>RSA_2048</code> and
* <code>RSA_4096</code> certificates.</p>
*/
inline void SetKeyTypes(const Aws::Vector<KeyAlgorithm>& value) { m_keyTypesHasBeenSet = true; m_keyTypes = value; }
/**
* <p>Specify one or more algorithms that can be used to generate key pairs.</p>
* <p>Default filtering returns only <code>RSA_2048</code> certificates. To return
* other certificate types, provide the desired type signatures in a
* comma-separated list. For example, <code>"keyTypes":
* ["RSA_2048,RSA_4096"]</code> returns both <code>RSA_2048</code> and
* <code>RSA_4096</code> certificates.</p>
*/
inline void SetKeyTypes(Aws::Vector<KeyAlgorithm>&& value) { m_keyTypesHasBeenSet = true; m_keyTypes = std::move(value); }
/**
* <p>Specify one or more algorithms that can be used to generate key pairs.</p>
* <p>Default filtering returns only <code>RSA_2048</code> certificates. To return
* other certificate types, provide the desired type signatures in a
* comma-separated list. For example, <code>"keyTypes":
* ["RSA_2048,RSA_4096"]</code> returns both <code>RSA_2048</code> and
* <code>RSA_4096</code> certificates.</p>
*/
inline Filters& WithKeyTypes(const Aws::Vector<KeyAlgorithm>& value) { SetKeyTypes(value); return *this;}
/**
* <p>Specify one or more algorithms that can be used to generate key pairs.</p>
* <p>Default filtering returns only <code>RSA_2048</code> certificates. To return
* other certificate types, provide the desired type signatures in a
* comma-separated list. For example, <code>"keyTypes":
* ["RSA_2048,RSA_4096"]</code> returns both <code>RSA_2048</code> and
* <code>RSA_4096</code> certificates.</p>
*/
inline Filters& WithKeyTypes(Aws::Vector<KeyAlgorithm>&& value) { SetKeyTypes(std::move(value)); return *this;}
/**
* <p>Specify one or more algorithms that can be used to generate key pairs.</p>
* <p>Default filtering returns only <code>RSA_2048</code> certificates. To return
* other certificate types, provide the desired type signatures in a
* comma-separated list. For example, <code>"keyTypes":
* ["RSA_2048,RSA_4096"]</code> returns both <code>RSA_2048</code> and
* <code>RSA_4096</code> certificates.</p>
*/
inline Filters& AddKeyTypes(const KeyAlgorithm& value) { m_keyTypesHasBeenSet = true; m_keyTypes.push_back(value); return *this; }
/**
* <p>Specify one or more algorithms that can be used to generate key pairs.</p>
* <p>Default filtering returns only <code>RSA_2048</code> certificates. To return
* other certificate types, provide the desired type signatures in a
* comma-separated list. For example, <code>"keyTypes":
* ["RSA_2048,RSA_4096"]</code> returns both <code>RSA_2048</code> and
* <code>RSA_4096</code> certificates.</p>
*/
inline Filters& AddKeyTypes(KeyAlgorithm&& value) { m_keyTypesHasBeenSet = true; m_keyTypes.push_back(std::move(value)); return *this; }
private:
Aws::Vector<ExtendedKeyUsageName> m_extendedKeyUsage;
bool m_extendedKeyUsageHasBeenSet;
Aws::Vector<KeyUsageName> m_keyUsage;
bool m_keyUsageHasBeenSet;
Aws::Vector<KeyAlgorithm> m_keyTypes;
bool m_keyTypesHasBeenSet;
};
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,117 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/acm/ACMRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace ACM
{
namespace Model
{
/**
*/
class AWS_ACM_API GetCertificateRequest : public ACMRequest
{
public:
GetCertificateRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "GetCertificate"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>String that contains a certificate ARN in the following format:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
*/
inline const Aws::String& GetCertificateArn() const{ return m_certificateArn; }
/**
* <p>String that contains a certificate ARN in the following format:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
*/
inline bool CertificateArnHasBeenSet() const { return m_certificateArnHasBeenSet; }
/**
* <p>String that contains a certificate ARN in the following format:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
*/
inline void SetCertificateArn(const Aws::String& value) { m_certificateArnHasBeenSet = true; m_certificateArn = value; }
/**
* <p>String that contains a certificate ARN in the following format:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
*/
inline void SetCertificateArn(Aws::String&& value) { m_certificateArnHasBeenSet = true; m_certificateArn = std::move(value); }
/**
* <p>String that contains a certificate ARN in the following format:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
*/
inline void SetCertificateArn(const char* value) { m_certificateArnHasBeenSet = true; m_certificateArn.assign(value); }
/**
* <p>String that contains a certificate ARN in the following format:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
*/
inline GetCertificateRequest& WithCertificateArn(const Aws::String& value) { SetCertificateArn(value); return *this;}
/**
* <p>String that contains a certificate ARN in the following format:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
*/
inline GetCertificateRequest& WithCertificateArn(Aws::String&& value) { SetCertificateArn(std::move(value)); return *this;}
/**
* <p>String that contains a certificate ARN in the following format:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
*/
inline GetCertificateRequest& WithCertificateArn(const char* value) { SetCertificateArn(value); return *this;}
private:
Aws::String m_certificateArn;
bool m_certificateArnHasBeenSet;
};
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,129 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace ACM
{
namespace Model
{
class AWS_ACM_API GetCertificateResult
{
public:
GetCertificateResult();
GetCertificateResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
GetCertificateResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The ACM-issued certificate corresponding to the ARN specified as input.</p>
*/
inline const Aws::String& GetCertificate() const{ return m_certificate; }
/**
* <p>The ACM-issued certificate corresponding to the ARN specified as input.</p>
*/
inline void SetCertificate(const Aws::String& value) { m_certificate = value; }
/**
* <p>The ACM-issued certificate corresponding to the ARN specified as input.</p>
*/
inline void SetCertificate(Aws::String&& value) { m_certificate = std::move(value); }
/**
* <p>The ACM-issued certificate corresponding to the ARN specified as input.</p>
*/
inline void SetCertificate(const char* value) { m_certificate.assign(value); }
/**
* <p>The ACM-issued certificate corresponding to the ARN specified as input.</p>
*/
inline GetCertificateResult& WithCertificate(const Aws::String& value) { SetCertificate(value); return *this;}
/**
* <p>The ACM-issued certificate corresponding to the ARN specified as input.</p>
*/
inline GetCertificateResult& WithCertificate(Aws::String&& value) { SetCertificate(std::move(value)); return *this;}
/**
* <p>The ACM-issued certificate corresponding to the ARN specified as input.</p>
*/
inline GetCertificateResult& WithCertificate(const char* value) { SetCertificate(value); return *this;}
/**
* <p>Certificates forming the requested certificate's chain of trust. The chain
* consists of the certificate of the issuing CA and the intermediate certificates
* of any other subordinate CAs. </p>
*/
inline const Aws::String& GetCertificateChain() const{ return m_certificateChain; }
/**
* <p>Certificates forming the requested certificate's chain of trust. The chain
* consists of the certificate of the issuing CA and the intermediate certificates
* of any other subordinate CAs. </p>
*/
inline void SetCertificateChain(const Aws::String& value) { m_certificateChain = value; }
/**
* <p>Certificates forming the requested certificate's chain of trust. The chain
* consists of the certificate of the issuing CA and the intermediate certificates
* of any other subordinate CAs. </p>
*/
inline void SetCertificateChain(Aws::String&& value) { m_certificateChain = std::move(value); }
/**
* <p>Certificates forming the requested certificate's chain of trust. The chain
* consists of the certificate of the issuing CA and the intermediate certificates
* of any other subordinate CAs. </p>
*/
inline void SetCertificateChain(const char* value) { m_certificateChain.assign(value); }
/**
* <p>Certificates forming the requested certificate's chain of trust. The chain
* consists of the certificate of the issuing CA and the intermediate certificates
* of any other subordinate CAs. </p>
*/
inline GetCertificateResult& WithCertificateChain(const Aws::String& value) { SetCertificateChain(value); return *this;}
/**
* <p>Certificates forming the requested certificate's chain of trust. The chain
* consists of the certificate of the issuing CA and the intermediate certificates
* of any other subordinate CAs. </p>
*/
inline GetCertificateResult& WithCertificateChain(Aws::String&& value) { SetCertificateChain(std::move(value)); return *this;}
/**
* <p>Certificates forming the requested certificate's chain of trust. The chain
* consists of the certificate of the issuing CA and the intermediate certificates
* of any other subordinate CAs. </p>
*/
inline GetCertificateResult& WithCertificateChain(const char* value) { SetCertificateChain(value); return *this;}
private:
Aws::String m_certificate;
Aws::String m_certificateChain;
};
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,266 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/acm/ACMRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/Array.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/acm/model/Tag.h>
#include <utility>
namespace Aws
{
namespace ACM
{
namespace Model
{
/**
*/
class AWS_ACM_API ImportCertificateRequest : public ACMRequest
{
public:
ImportCertificateRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "ImportCertificate"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Name (ARN)</a> of an imported certificate to replace. To import a new
* certificate, omit this field. </p>
*/
inline const Aws::String& GetCertificateArn() const{ return m_certificateArn; }
/**
* <p>The <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Name (ARN)</a> of an imported certificate to replace. To import a new
* certificate, omit this field. </p>
*/
inline bool CertificateArnHasBeenSet() const { return m_certificateArnHasBeenSet; }
/**
* <p>The <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Name (ARN)</a> of an imported certificate to replace. To import a new
* certificate, omit this field. </p>
*/
inline void SetCertificateArn(const Aws::String& value) { m_certificateArnHasBeenSet = true; m_certificateArn = value; }
/**
* <p>The <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Name (ARN)</a> of an imported certificate to replace. To import a new
* certificate, omit this field. </p>
*/
inline void SetCertificateArn(Aws::String&& value) { m_certificateArnHasBeenSet = true; m_certificateArn = std::move(value); }
/**
* <p>The <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Name (ARN)</a> of an imported certificate to replace. To import a new
* certificate, omit this field. </p>
*/
inline void SetCertificateArn(const char* value) { m_certificateArnHasBeenSet = true; m_certificateArn.assign(value); }
/**
* <p>The <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Name (ARN)</a> of an imported certificate to replace. To import a new
* certificate, omit this field. </p>
*/
inline ImportCertificateRequest& WithCertificateArn(const Aws::String& value) { SetCertificateArn(value); return *this;}
/**
* <p>The <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Name (ARN)</a> of an imported certificate to replace. To import a new
* certificate, omit this field. </p>
*/
inline ImportCertificateRequest& WithCertificateArn(Aws::String&& value) { SetCertificateArn(std::move(value)); return *this;}
/**
* <p>The <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Name (ARN)</a> of an imported certificate to replace. To import a new
* certificate, omit this field. </p>
*/
inline ImportCertificateRequest& WithCertificateArn(const char* value) { SetCertificateArn(value); return *this;}
/**
* <p>The certificate to import.</p>
*/
inline const Aws::Utils::ByteBuffer& GetCertificate() const{ return m_certificate; }
/**
* <p>The certificate to import.</p>
*/
inline bool CertificateHasBeenSet() const { return m_certificateHasBeenSet; }
/**
* <p>The certificate to import.</p>
*/
inline void SetCertificate(const Aws::Utils::ByteBuffer& value) { m_certificateHasBeenSet = true; m_certificate = value; }
/**
* <p>The certificate to import.</p>
*/
inline void SetCertificate(Aws::Utils::ByteBuffer&& value) { m_certificateHasBeenSet = true; m_certificate = std::move(value); }
/**
* <p>The certificate to import.</p>
*/
inline ImportCertificateRequest& WithCertificate(const Aws::Utils::ByteBuffer& value) { SetCertificate(value); return *this;}
/**
* <p>The certificate to import.</p>
*/
inline ImportCertificateRequest& WithCertificate(Aws::Utils::ByteBuffer&& value) { SetCertificate(std::move(value)); return *this;}
/**
* <p>The private key that matches the public key in the certificate.</p>
*/
inline const Aws::Utils::CryptoBuffer& GetPrivateKey() const{ return m_privateKey; }
/**
* <p>The private key that matches the public key in the certificate.</p>
*/
inline bool PrivateKeyHasBeenSet() const { return m_privateKeyHasBeenSet; }
/**
* <p>The private key that matches the public key in the certificate.</p>
*/
inline void SetPrivateKey(const Aws::Utils::CryptoBuffer& value) { m_privateKeyHasBeenSet = true; m_privateKey = value; }
/**
* <p>The private key that matches the public key in the certificate.</p>
*/
inline void SetPrivateKey(Aws::Utils::CryptoBuffer&& value) { m_privateKeyHasBeenSet = true; m_privateKey = std::move(value); }
/**
* <p>The private key that matches the public key in the certificate.</p>
*/
inline ImportCertificateRequest& WithPrivateKey(const Aws::Utils::CryptoBuffer& value) { SetPrivateKey(value); return *this;}
/**
* <p>The private key that matches the public key in the certificate.</p>
*/
inline ImportCertificateRequest& WithPrivateKey(Aws::Utils::CryptoBuffer&& value) { SetPrivateKey(std::move(value)); return *this;}
/**
* <p>The PEM encoded certificate chain.</p>
*/
inline const Aws::Utils::ByteBuffer& GetCertificateChain() const{ return m_certificateChain; }
/**
* <p>The PEM encoded certificate chain.</p>
*/
inline bool CertificateChainHasBeenSet() const { return m_certificateChainHasBeenSet; }
/**
* <p>The PEM encoded certificate chain.</p>
*/
inline void SetCertificateChain(const Aws::Utils::ByteBuffer& value) { m_certificateChainHasBeenSet = true; m_certificateChain = value; }
/**
* <p>The PEM encoded certificate chain.</p>
*/
inline void SetCertificateChain(Aws::Utils::ByteBuffer&& value) { m_certificateChainHasBeenSet = true; m_certificateChain = std::move(value); }
/**
* <p>The PEM encoded certificate chain.</p>
*/
inline ImportCertificateRequest& WithCertificateChain(const Aws::Utils::ByteBuffer& value) { SetCertificateChain(value); return *this;}
/**
* <p>The PEM encoded certificate chain.</p>
*/
inline ImportCertificateRequest& WithCertificateChain(Aws::Utils::ByteBuffer&& value) { SetCertificateChain(std::move(value)); return *this;}
/**
* <p>One or more resource tags to associate with the imported certificate. </p>
* <p>Note: You cannot apply tags when reimporting a certificate.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
/**
* <p>One or more resource tags to associate with the imported certificate. </p>
* <p>Note: You cannot apply tags when reimporting a certificate.</p>
*/
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
/**
* <p>One or more resource tags to associate with the imported certificate. </p>
* <p>Note: You cannot apply tags when reimporting a certificate.</p>
*/
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
/**
* <p>One or more resource tags to associate with the imported certificate. </p>
* <p>Note: You cannot apply tags when reimporting a certificate.</p>
*/
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
/**
* <p>One or more resource tags to associate with the imported certificate. </p>
* <p>Note: You cannot apply tags when reimporting a certificate.</p>
*/
inline ImportCertificateRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
/**
* <p>One or more resource tags to associate with the imported certificate. </p>
* <p>Note: You cannot apply tags when reimporting a certificate.</p>
*/
inline ImportCertificateRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
/**
* <p>One or more resource tags to associate with the imported certificate. </p>
* <p>Note: You cannot apply tags when reimporting a certificate.</p>
*/
inline ImportCertificateRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
/**
* <p>One or more resource tags to associate with the imported certificate. </p>
* <p>Note: You cannot apply tags when reimporting a certificate.</p>
*/
inline ImportCertificateRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
private:
Aws::String m_certificateArn;
bool m_certificateArnHasBeenSet;
Aws::Utils::ByteBuffer m_certificate;
bool m_certificateHasBeenSet;
Aws::Utils::CryptoBuffer m_privateKey;
bool m_privateKeyHasBeenSet;
Aws::Utils::ByteBuffer m_certificateChain;
bool m_certificateChainHasBeenSet;
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet;
};
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,91 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace ACM
{
namespace Model
{
class AWS_ACM_API ImportCertificateResult
{
public:
ImportCertificateResult();
ImportCertificateResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
ImportCertificateResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Name (ARN)</a> of the imported certificate.</p>
*/
inline const Aws::String& GetCertificateArn() const{ return m_certificateArn; }
/**
* <p>The <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Name (ARN)</a> of the imported certificate.</p>
*/
inline void SetCertificateArn(const Aws::String& value) { m_certificateArn = value; }
/**
* <p>The <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Name (ARN)</a> of the imported certificate.</p>
*/
inline void SetCertificateArn(Aws::String&& value) { m_certificateArn = std::move(value); }
/**
* <p>The <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Name (ARN)</a> of the imported certificate.</p>
*/
inline void SetCertificateArn(const char* value) { m_certificateArn.assign(value); }
/**
* <p>The <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Name (ARN)</a> of the imported certificate.</p>
*/
inline ImportCertificateResult& WithCertificateArn(const Aws::String& value) { SetCertificateArn(value); return *this;}
/**
* <p>The <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Name (ARN)</a> of the imported certificate.</p>
*/
inline ImportCertificateResult& WithCertificateArn(Aws::String&& value) { SetCertificateArn(std::move(value)); return *this;}
/**
* <p>The <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Name (ARN)</a> of the imported certificate.</p>
*/
inline ImportCertificateResult& WithCertificateArn(const char* value) { SetCertificateArn(value); return *this;}
private:
Aws::String m_certificateArn;
};
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,35 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace ACM
{
namespace Model
{
enum class KeyAlgorithm
{
NOT_SET,
RSA_2048,
RSA_1024,
RSA_4096,
EC_prime256v1,
EC_secp384r1,
EC_secp521r1
};
namespace KeyAlgorithmMapper
{
AWS_ACM_API KeyAlgorithm GetKeyAlgorithmForName(const Aws::String& name);
AWS_ACM_API Aws::String GetNameForKeyAlgorithm(KeyAlgorithm value);
} // namespace KeyAlgorithmMapper
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,79 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/acm/model/KeyUsageName.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace ACM
{
namespace Model
{
/**
* <p>The Key Usage X.509 v3 extension defines the purpose of the public key
* contained in the certificate.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/KeyUsage">AWS API
* Reference</a></p>
*/
class AWS_ACM_API KeyUsage
{
public:
KeyUsage();
KeyUsage(Aws::Utils::Json::JsonView jsonValue);
KeyUsage& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>A string value that contains a Key Usage extension name.</p>
*/
inline const KeyUsageName& GetName() const{ return m_name; }
/**
* <p>A string value that contains a Key Usage extension name.</p>
*/
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
/**
* <p>A string value that contains a Key Usage extension name.</p>
*/
inline void SetName(const KeyUsageName& value) { m_nameHasBeenSet = true; m_name = value; }
/**
* <p>A string value that contains a Key Usage extension name.</p>
*/
inline void SetName(KeyUsageName&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
/**
* <p>A string value that contains a Key Usage extension name.</p>
*/
inline KeyUsage& WithName(const KeyUsageName& value) { SetName(value); return *this;}
/**
* <p>A string value that contains a Key Usage extension name.</p>
*/
inline KeyUsage& WithName(KeyUsageName&& value) { SetName(std::move(value)); return *this;}
private:
KeyUsageName m_name;
bool m_nameHasBeenSet;
};
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,40 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace ACM
{
namespace Model
{
enum class KeyUsageName
{
NOT_SET,
DIGITAL_SIGNATURE,
NON_REPUDIATION,
KEY_ENCIPHERMENT,
DATA_ENCIPHERMENT,
KEY_AGREEMENT,
CERTIFICATE_SIGNING,
CRL_SIGNING,
ENCIPHER_ONLY,
DECIPHER_ONLY,
ANY,
CUSTOM
};
namespace KeyUsageNameMapper
{
AWS_ACM_API KeyUsageName GetKeyUsageNameForName(const Aws::String& name);
AWS_ACM_API Aws::String GetNameForKeyUsageName(KeyUsageName value);
} // namespace KeyUsageNameMapper
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,228 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/acm/ACMRequest.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/acm/model/Filters.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/acm/model/CertificateStatus.h>
#include <utility>
namespace Aws
{
namespace ACM
{
namespace Model
{
/**
*/
class AWS_ACM_API ListCertificatesRequest : public ACMRequest
{
public:
ListCertificatesRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "ListCertificates"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>Filter the certificate list by status value.</p>
*/
inline const Aws::Vector<CertificateStatus>& GetCertificateStatuses() const{ return m_certificateStatuses; }
/**
* <p>Filter the certificate list by status value.</p>
*/
inline bool CertificateStatusesHasBeenSet() const { return m_certificateStatusesHasBeenSet; }
/**
* <p>Filter the certificate list by status value.</p>
*/
inline void SetCertificateStatuses(const Aws::Vector<CertificateStatus>& value) { m_certificateStatusesHasBeenSet = true; m_certificateStatuses = value; }
/**
* <p>Filter the certificate list by status value.</p>
*/
inline void SetCertificateStatuses(Aws::Vector<CertificateStatus>&& value) { m_certificateStatusesHasBeenSet = true; m_certificateStatuses = std::move(value); }
/**
* <p>Filter the certificate list by status value.</p>
*/
inline ListCertificatesRequest& WithCertificateStatuses(const Aws::Vector<CertificateStatus>& value) { SetCertificateStatuses(value); return *this;}
/**
* <p>Filter the certificate list by status value.</p>
*/
inline ListCertificatesRequest& WithCertificateStatuses(Aws::Vector<CertificateStatus>&& value) { SetCertificateStatuses(std::move(value)); return *this;}
/**
* <p>Filter the certificate list by status value.</p>
*/
inline ListCertificatesRequest& AddCertificateStatuses(const CertificateStatus& value) { m_certificateStatusesHasBeenSet = true; m_certificateStatuses.push_back(value); return *this; }
/**
* <p>Filter the certificate list by status value.</p>
*/
inline ListCertificatesRequest& AddCertificateStatuses(CertificateStatus&& value) { m_certificateStatusesHasBeenSet = true; m_certificateStatuses.push_back(std::move(value)); return *this; }
/**
* <p>Filter the certificate list. For more information, see the <a>Filters</a>
* structure.</p>
*/
inline const Filters& GetIncludes() const{ return m_includes; }
/**
* <p>Filter the certificate list. For more information, see the <a>Filters</a>
* structure.</p>
*/
inline bool IncludesHasBeenSet() const { return m_includesHasBeenSet; }
/**
* <p>Filter the certificate list. For more information, see the <a>Filters</a>
* structure.</p>
*/
inline void SetIncludes(const Filters& value) { m_includesHasBeenSet = true; m_includes = value; }
/**
* <p>Filter the certificate list. For more information, see the <a>Filters</a>
* structure.</p>
*/
inline void SetIncludes(Filters&& value) { m_includesHasBeenSet = true; m_includes = std::move(value); }
/**
* <p>Filter the certificate list. For more information, see the <a>Filters</a>
* structure.</p>
*/
inline ListCertificatesRequest& WithIncludes(const Filters& value) { SetIncludes(value); return *this;}
/**
* <p>Filter the certificate list. For more information, see the <a>Filters</a>
* structure.</p>
*/
inline ListCertificatesRequest& WithIncludes(Filters&& value) { SetIncludes(std::move(value)); return *this;}
/**
* <p>Use this parameter only when paginating results and only in a subsequent
* request after you receive a response with truncated results. Set it to the value
* of <code>NextToken</code> from the response you just received.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>Use this parameter only when paginating results and only in a subsequent
* request after you receive a response with truncated results. Set it to the value
* of <code>NextToken</code> from the response you just received.</p>
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>Use this parameter only when paginating results and only in a subsequent
* request after you receive a response with truncated results. Set it to the value
* of <code>NextToken</code> from the response you just received.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>Use this parameter only when paginating results and only in a subsequent
* request after you receive a response with truncated results. Set it to the value
* of <code>NextToken</code> from the response you just received.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>Use this parameter only when paginating results and only in a subsequent
* request after you receive a response with truncated results. Set it to the value
* of <code>NextToken</code> from the response you just received.</p>
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>Use this parameter only when paginating results and only in a subsequent
* request after you receive a response with truncated results. Set it to the value
* of <code>NextToken</code> from the response you just received.</p>
*/
inline ListCertificatesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>Use this parameter only when paginating results and only in a subsequent
* request after you receive a response with truncated results. Set it to the value
* of <code>NextToken</code> from the response you just received.</p>
*/
inline ListCertificatesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>Use this parameter only when paginating results and only in a subsequent
* request after you receive a response with truncated results. Set it to the value
* of <code>NextToken</code> from the response you just received.</p>
*/
inline ListCertificatesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
/**
* <p>Use this parameter when paginating results to specify the maximum number of
* items to return in the response. If additional items exist beyond the number you
* specify, the <code>NextToken</code> element is sent in the response. Use this
* <code>NextToken</code> value in a subsequent request to retrieve additional
* items.</p>
*/
inline int GetMaxItems() const{ return m_maxItems; }
/**
* <p>Use this parameter when paginating results to specify the maximum number of
* items to return in the response. If additional items exist beyond the number you
* specify, the <code>NextToken</code> element is sent in the response. Use this
* <code>NextToken</code> value in a subsequent request to retrieve additional
* items.</p>
*/
inline bool MaxItemsHasBeenSet() const { return m_maxItemsHasBeenSet; }
/**
* <p>Use this parameter when paginating results to specify the maximum number of
* items to return in the response. If additional items exist beyond the number you
* specify, the <code>NextToken</code> element is sent in the response. Use this
* <code>NextToken</code> value in a subsequent request to retrieve additional
* items.</p>
*/
inline void SetMaxItems(int value) { m_maxItemsHasBeenSet = true; m_maxItems = value; }
/**
* <p>Use this parameter when paginating results to specify the maximum number of
* items to return in the response. If additional items exist beyond the number you
* specify, the <code>NextToken</code> element is sent in the response. Use this
* <code>NextToken</code> value in a subsequent request to retrieve additional
* items.</p>
*/
inline ListCertificatesRequest& WithMaxItems(int value) { SetMaxItems(value); return *this;}
private:
Aws::Vector<CertificateStatus> m_certificateStatuses;
bool m_certificateStatusesHasBeenSet;
Filters m_includes;
bool m_includesHasBeenSet;
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
int m_maxItems;
bool m_maxItemsHasBeenSet;
};
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,131 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/acm/model/CertificateSummary.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace ACM
{
namespace Model
{
class AWS_ACM_API ListCertificatesResult
{
public:
ListCertificatesResult();
ListCertificatesResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
ListCertificatesResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>When the list is truncated, this value is present and contains the value to
* use for the <code>NextToken</code> parameter in a subsequent pagination
* request.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>When the list is truncated, this value is present and contains the value to
* use for the <code>NextToken</code> parameter in a subsequent pagination
* request.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>When the list is truncated, this value is present and contains the value to
* use for the <code>NextToken</code> parameter in a subsequent pagination
* request.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>When the list is truncated, this value is present and contains the value to
* use for the <code>NextToken</code> parameter in a subsequent pagination
* request.</p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>When the list is truncated, this value is present and contains the value to
* use for the <code>NextToken</code> parameter in a subsequent pagination
* request.</p>
*/
inline ListCertificatesResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>When the list is truncated, this value is present and contains the value to
* use for the <code>NextToken</code> parameter in a subsequent pagination
* request.</p>
*/
inline ListCertificatesResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>When the list is truncated, this value is present and contains the value to
* use for the <code>NextToken</code> parameter in a subsequent pagination
* request.</p>
*/
inline ListCertificatesResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
/**
* <p>A list of ACM certificates.</p>
*/
inline const Aws::Vector<CertificateSummary>& GetCertificateSummaryList() const{ return m_certificateSummaryList; }
/**
* <p>A list of ACM certificates.</p>
*/
inline void SetCertificateSummaryList(const Aws::Vector<CertificateSummary>& value) { m_certificateSummaryList = value; }
/**
* <p>A list of ACM certificates.</p>
*/
inline void SetCertificateSummaryList(Aws::Vector<CertificateSummary>&& value) { m_certificateSummaryList = std::move(value); }
/**
* <p>A list of ACM certificates.</p>
*/
inline ListCertificatesResult& WithCertificateSummaryList(const Aws::Vector<CertificateSummary>& value) { SetCertificateSummaryList(value); return *this;}
/**
* <p>A list of ACM certificates.</p>
*/
inline ListCertificatesResult& WithCertificateSummaryList(Aws::Vector<CertificateSummary>&& value) { SetCertificateSummaryList(std::move(value)); return *this;}
/**
* <p>A list of ACM certificates.</p>
*/
inline ListCertificatesResult& AddCertificateSummaryList(const CertificateSummary& value) { m_certificateSummaryList.push_back(value); return *this; }
/**
* <p>A list of ACM certificates.</p>
*/
inline ListCertificatesResult& AddCertificateSummaryList(CertificateSummary&& value) { m_certificateSummaryList.push_back(std::move(value)); return *this; }
private:
Aws::String m_nextToken;
Aws::Vector<CertificateSummary> m_certificateSummaryList;
};
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,125 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/acm/ACMRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace ACM
{
namespace Model
{
/**
*/
class AWS_ACM_API ListTagsForCertificateRequest : public ACMRequest
{
public:
ListTagsForCertificateRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "ListTagsForCertificate"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>String that contains the ARN of the ACM certificate for which you want to
* list the tags. This must have the following form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>. </p>
*/
inline const Aws::String& GetCertificateArn() const{ return m_certificateArn; }
/**
* <p>String that contains the ARN of the ACM certificate for which you want to
* list the tags. This must have the following form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>. </p>
*/
inline bool CertificateArnHasBeenSet() const { return m_certificateArnHasBeenSet; }
/**
* <p>String that contains the ARN of the ACM certificate for which you want to
* list the tags. This must have the following form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>. </p>
*/
inline void SetCertificateArn(const Aws::String& value) { m_certificateArnHasBeenSet = true; m_certificateArn = value; }
/**
* <p>String that contains the ARN of the ACM certificate for which you want to
* list the tags. This must have the following form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>. </p>
*/
inline void SetCertificateArn(Aws::String&& value) { m_certificateArnHasBeenSet = true; m_certificateArn = std::move(value); }
/**
* <p>String that contains the ARN of the ACM certificate for which you want to
* list the tags. This must have the following form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>. </p>
*/
inline void SetCertificateArn(const char* value) { m_certificateArnHasBeenSet = true; m_certificateArn.assign(value); }
/**
* <p>String that contains the ARN of the ACM certificate for which you want to
* list the tags. This must have the following form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>. </p>
*/
inline ListTagsForCertificateRequest& WithCertificateArn(const Aws::String& value) { SetCertificateArn(value); return *this;}
/**
* <p>String that contains the ARN of the ACM certificate for which you want to
* list the tags. This must have the following form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>. </p>
*/
inline ListTagsForCertificateRequest& WithCertificateArn(Aws::String&& value) { SetCertificateArn(std::move(value)); return *this;}
/**
* <p>String that contains the ARN of the ACM certificate for which you want to
* list the tags. This must have the following form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>. </p>
*/
inline ListTagsForCertificateRequest& WithCertificateArn(const char* value) { SetCertificateArn(value); return *this;}
private:
Aws::String m_certificateArn;
bool m_certificateArnHasBeenSet;
};
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,78 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/acm/model/Tag.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace ACM
{
namespace Model
{
class AWS_ACM_API ListTagsForCertificateResult
{
public:
ListTagsForCertificateResult();
ListTagsForCertificateResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
ListTagsForCertificateResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The key-value pairs that define the applied tags.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
/**
* <p>The key-value pairs that define the applied tags.</p>
*/
inline void SetTags(const Aws::Vector<Tag>& value) { m_tags = value; }
/**
* <p>The key-value pairs that define the applied tags.</p>
*/
inline void SetTags(Aws::Vector<Tag>&& value) { m_tags = std::move(value); }
/**
* <p>The key-value pairs that define the applied tags.</p>
*/
inline ListTagsForCertificateResult& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
/**
* <p>The key-value pairs that define the applied tags.</p>
*/
inline ListTagsForCertificateResult& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
/**
* <p>The key-value pairs that define the applied tags.</p>
*/
inline ListTagsForCertificateResult& AddTags(const Tag& value) { m_tags.push_back(value); return *this; }
/**
* <p>The key-value pairs that define the applied tags.</p>
*/
inline ListTagsForCertificateResult& AddTags(Tag&& value) { m_tags.push_back(std::move(value)); return *this; }
private:
Aws::Vector<Tag> m_tags;
};
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,30 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace ACM
{
namespace Model
{
enum class RecordType
{
NOT_SET,
CNAME
};
namespace RecordTypeMapper
{
AWS_ACM_API RecordType GetRecordTypeForName(const Aws::String& name);
AWS_ACM_API Aws::String GetNameForRecordType(RecordType value);
} // namespace RecordTypeMapper
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,171 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/acm/ACMRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/acm/model/Tag.h>
#include <utility>
namespace Aws
{
namespace ACM
{
namespace Model
{
/**
*/
class AWS_ACM_API RemoveTagsFromCertificateRequest : public ACMRequest
{
public:
RemoveTagsFromCertificateRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "RemoveTagsFromCertificate"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>String that contains the ARN of the ACM Certificate with one or more tags
* that you want to remove. This must be of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>. </p>
*/
inline const Aws::String& GetCertificateArn() const{ return m_certificateArn; }
/**
* <p>String that contains the ARN of the ACM Certificate with one or more tags
* that you want to remove. This must be of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>. </p>
*/
inline bool CertificateArnHasBeenSet() const { return m_certificateArnHasBeenSet; }
/**
* <p>String that contains the ARN of the ACM Certificate with one or more tags
* that you want to remove. This must be of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>. </p>
*/
inline void SetCertificateArn(const Aws::String& value) { m_certificateArnHasBeenSet = true; m_certificateArn = value; }
/**
* <p>String that contains the ARN of the ACM Certificate with one or more tags
* that you want to remove. This must be of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>. </p>
*/
inline void SetCertificateArn(Aws::String&& value) { m_certificateArnHasBeenSet = true; m_certificateArn = std::move(value); }
/**
* <p>String that contains the ARN of the ACM Certificate with one or more tags
* that you want to remove. This must be of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>. </p>
*/
inline void SetCertificateArn(const char* value) { m_certificateArnHasBeenSet = true; m_certificateArn.assign(value); }
/**
* <p>String that contains the ARN of the ACM Certificate with one or more tags
* that you want to remove. This must be of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>. </p>
*/
inline RemoveTagsFromCertificateRequest& WithCertificateArn(const Aws::String& value) { SetCertificateArn(value); return *this;}
/**
* <p>String that contains the ARN of the ACM Certificate with one or more tags
* that you want to remove. This must be of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>. </p>
*/
inline RemoveTagsFromCertificateRequest& WithCertificateArn(Aws::String&& value) { SetCertificateArn(std::move(value)); return *this;}
/**
* <p>String that contains the ARN of the ACM Certificate with one or more tags
* that you want to remove. This must be of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>. </p>
*/
inline RemoveTagsFromCertificateRequest& WithCertificateArn(const char* value) { SetCertificateArn(value); return *this;}
/**
* <p>The key-value pair that defines the tag to remove.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
/**
* <p>The key-value pair that defines the tag to remove.</p>
*/
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
/**
* <p>The key-value pair that defines the tag to remove.</p>
*/
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
/**
* <p>The key-value pair that defines the tag to remove.</p>
*/
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
/**
* <p>The key-value pair that defines the tag to remove.</p>
*/
inline RemoveTagsFromCertificateRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
/**
* <p>The key-value pair that defines the tag to remove.</p>
*/
inline RemoveTagsFromCertificateRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
/**
* <p>The key-value pair that defines the tag to remove.</p>
*/
inline RemoveTagsFromCertificateRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
/**
* <p>The key-value pair that defines the tag to remove.</p>
*/
inline RemoveTagsFromCertificateRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
private:
Aws::String m_certificateArn;
bool m_certificateArnHasBeenSet;
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet;
};
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,125 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/acm/ACMRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace ACM
{
namespace Model
{
/**
*/
class AWS_ACM_API RenewCertificateRequest : public ACMRequest
{
public:
RenewCertificateRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "RenewCertificate"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>String that contains the ARN of the ACM certificate to be renewed. This must
* be of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
*/
inline const Aws::String& GetCertificateArn() const{ return m_certificateArn; }
/**
* <p>String that contains the ARN of the ACM certificate to be renewed. This must
* be of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
*/
inline bool CertificateArnHasBeenSet() const { return m_certificateArnHasBeenSet; }
/**
* <p>String that contains the ARN of the ACM certificate to be renewed. This must
* be of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
*/
inline void SetCertificateArn(const Aws::String& value) { m_certificateArnHasBeenSet = true; m_certificateArn = value; }
/**
* <p>String that contains the ARN of the ACM certificate to be renewed. This must
* be of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
*/
inline void SetCertificateArn(Aws::String&& value) { m_certificateArnHasBeenSet = true; m_certificateArn = std::move(value); }
/**
* <p>String that contains the ARN of the ACM certificate to be renewed. This must
* be of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
*/
inline void SetCertificateArn(const char* value) { m_certificateArnHasBeenSet = true; m_certificateArn.assign(value); }
/**
* <p>String that contains the ARN of the ACM certificate to be renewed. This must
* be of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
*/
inline RenewCertificateRequest& WithCertificateArn(const Aws::String& value) { SetCertificateArn(value); return *this;}
/**
* <p>String that contains the ARN of the ACM certificate to be renewed. This must
* be of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
*/
inline RenewCertificateRequest& WithCertificateArn(Aws::String&& value) { SetCertificateArn(std::move(value)); return *this;}
/**
* <p>String that contains the ARN of the ACM certificate to be renewed. This must
* be of the form:</p> <p>
* <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p> <p>For more information about ARNs, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
* Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
*/
inline RenewCertificateRequest& WithCertificateArn(const char* value) { SetCertificateArn(value); return *this;}
private:
Aws::String m_certificateArn;
bool m_certificateArnHasBeenSet;
};
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace ACM
{
namespace Model
{
enum class RenewalEligibility
{
NOT_SET,
ELIGIBLE,
INELIGIBLE
};
namespace RenewalEligibilityMapper
{
AWS_ACM_API RenewalEligibility GetRenewalEligibilityForName(const Aws::String& name);
AWS_ACM_API Aws::String GetNameForRenewalEligibility(RenewalEligibility value);
} // namespace RenewalEligibilityMapper
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,33 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace ACM
{
namespace Model
{
enum class RenewalStatus
{
NOT_SET,
PENDING_AUTO_RENEWAL,
PENDING_VALIDATION,
SUCCESS,
FAILED
};
namespace RenewalStatusMapper
{
AWS_ACM_API RenewalStatus GetRenewalStatusForName(const Aws::String& name);
AWS_ACM_API Aws::String GetNameForRenewalStatus(RenewalStatus value);
} // namespace RenewalStatusMapper
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,249 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/acm/model/RenewalStatus.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/acm/model/FailureReason.h>
#include <aws/core/utils/DateTime.h>
#include <aws/acm/model/DomainValidation.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace ACM
{
namespace Model
{
/**
* <p>Contains information about the status of ACM's <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html">managed
* renewal</a> for the certificate. This structure exists only when the certificate
* type is <code>AMAZON_ISSUED</code>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/RenewalSummary">AWS
* API Reference</a></p>
*/
class AWS_ACM_API RenewalSummary
{
public:
RenewalSummary();
RenewalSummary(Aws::Utils::Json::JsonView jsonValue);
RenewalSummary& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The status of ACM's <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html">managed
* renewal</a> of the certificate.</p>
*/
inline const RenewalStatus& GetRenewalStatus() const{ return m_renewalStatus; }
/**
* <p>The status of ACM's <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html">managed
* renewal</a> of the certificate.</p>
*/
inline bool RenewalStatusHasBeenSet() const { return m_renewalStatusHasBeenSet; }
/**
* <p>The status of ACM's <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html">managed
* renewal</a> of the certificate.</p>
*/
inline void SetRenewalStatus(const RenewalStatus& value) { m_renewalStatusHasBeenSet = true; m_renewalStatus = value; }
/**
* <p>The status of ACM's <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html">managed
* renewal</a> of the certificate.</p>
*/
inline void SetRenewalStatus(RenewalStatus&& value) { m_renewalStatusHasBeenSet = true; m_renewalStatus = std::move(value); }
/**
* <p>The status of ACM's <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html">managed
* renewal</a> of the certificate.</p>
*/
inline RenewalSummary& WithRenewalStatus(const RenewalStatus& value) { SetRenewalStatus(value); return *this;}
/**
* <p>The status of ACM's <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html">managed
* renewal</a> of the certificate.</p>
*/
inline RenewalSummary& WithRenewalStatus(RenewalStatus&& value) { SetRenewalStatus(std::move(value)); return *this;}
/**
* <p>Contains information about the validation of each domain name in the
* certificate, as it pertains to ACM's <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html">managed
* renewal</a>. This is different from the initial validation that occurs as a
* result of the <a>RequestCertificate</a> request. This field exists only when the
* certificate type is <code>AMAZON_ISSUED</code>.</p>
*/
inline const Aws::Vector<DomainValidation>& GetDomainValidationOptions() const{ return m_domainValidationOptions; }
/**
* <p>Contains information about the validation of each domain name in the
* certificate, as it pertains to ACM's <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html">managed
* renewal</a>. This is different from the initial validation that occurs as a
* result of the <a>RequestCertificate</a> request. This field exists only when the
* certificate type is <code>AMAZON_ISSUED</code>.</p>
*/
inline bool DomainValidationOptionsHasBeenSet() const { return m_domainValidationOptionsHasBeenSet; }
/**
* <p>Contains information about the validation of each domain name in the
* certificate, as it pertains to ACM's <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html">managed
* renewal</a>. This is different from the initial validation that occurs as a
* result of the <a>RequestCertificate</a> request. This field exists only when the
* certificate type is <code>AMAZON_ISSUED</code>.</p>
*/
inline void SetDomainValidationOptions(const Aws::Vector<DomainValidation>& value) { m_domainValidationOptionsHasBeenSet = true; m_domainValidationOptions = value; }
/**
* <p>Contains information about the validation of each domain name in the
* certificate, as it pertains to ACM's <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html">managed
* renewal</a>. This is different from the initial validation that occurs as a
* result of the <a>RequestCertificate</a> request. This field exists only when the
* certificate type is <code>AMAZON_ISSUED</code>.</p>
*/
inline void SetDomainValidationOptions(Aws::Vector<DomainValidation>&& value) { m_domainValidationOptionsHasBeenSet = true; m_domainValidationOptions = std::move(value); }
/**
* <p>Contains information about the validation of each domain name in the
* certificate, as it pertains to ACM's <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html">managed
* renewal</a>. This is different from the initial validation that occurs as a
* result of the <a>RequestCertificate</a> request. This field exists only when the
* certificate type is <code>AMAZON_ISSUED</code>.</p>
*/
inline RenewalSummary& WithDomainValidationOptions(const Aws::Vector<DomainValidation>& value) { SetDomainValidationOptions(value); return *this;}
/**
* <p>Contains information about the validation of each domain name in the
* certificate, as it pertains to ACM's <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html">managed
* renewal</a>. This is different from the initial validation that occurs as a
* result of the <a>RequestCertificate</a> request. This field exists only when the
* certificate type is <code>AMAZON_ISSUED</code>.</p>
*/
inline RenewalSummary& WithDomainValidationOptions(Aws::Vector<DomainValidation>&& value) { SetDomainValidationOptions(std::move(value)); return *this;}
/**
* <p>Contains information about the validation of each domain name in the
* certificate, as it pertains to ACM's <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html">managed
* renewal</a>. This is different from the initial validation that occurs as a
* result of the <a>RequestCertificate</a> request. This field exists only when the
* certificate type is <code>AMAZON_ISSUED</code>.</p>
*/
inline RenewalSummary& AddDomainValidationOptions(const DomainValidation& value) { m_domainValidationOptionsHasBeenSet = true; m_domainValidationOptions.push_back(value); return *this; }
/**
* <p>Contains information about the validation of each domain name in the
* certificate, as it pertains to ACM's <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html">managed
* renewal</a>. This is different from the initial validation that occurs as a
* result of the <a>RequestCertificate</a> request. This field exists only when the
* certificate type is <code>AMAZON_ISSUED</code>.</p>
*/
inline RenewalSummary& AddDomainValidationOptions(DomainValidation&& value) { m_domainValidationOptionsHasBeenSet = true; m_domainValidationOptions.push_back(std::move(value)); return *this; }
/**
* <p>The reason that a renewal request was unsuccessful.</p>
*/
inline const FailureReason& GetRenewalStatusReason() const{ return m_renewalStatusReason; }
/**
* <p>The reason that a renewal request was unsuccessful.</p>
*/
inline bool RenewalStatusReasonHasBeenSet() const { return m_renewalStatusReasonHasBeenSet; }
/**
* <p>The reason that a renewal request was unsuccessful.</p>
*/
inline void SetRenewalStatusReason(const FailureReason& value) { m_renewalStatusReasonHasBeenSet = true; m_renewalStatusReason = value; }
/**
* <p>The reason that a renewal request was unsuccessful.</p>
*/
inline void SetRenewalStatusReason(FailureReason&& value) { m_renewalStatusReasonHasBeenSet = true; m_renewalStatusReason = std::move(value); }
/**
* <p>The reason that a renewal request was unsuccessful.</p>
*/
inline RenewalSummary& WithRenewalStatusReason(const FailureReason& value) { SetRenewalStatusReason(value); return *this;}
/**
* <p>The reason that a renewal request was unsuccessful.</p>
*/
inline RenewalSummary& WithRenewalStatusReason(FailureReason&& value) { SetRenewalStatusReason(std::move(value)); return *this;}
/**
* <p>The time at which the renewal summary was last updated.</p>
*/
inline const Aws::Utils::DateTime& GetUpdatedAt() const{ return m_updatedAt; }
/**
* <p>The time at which the renewal summary was last updated.</p>
*/
inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; }
/**
* <p>The time at which the renewal summary was last updated.</p>
*/
inline void SetUpdatedAt(const Aws::Utils::DateTime& value) { m_updatedAtHasBeenSet = true; m_updatedAt = value; }
/**
* <p>The time at which the renewal summary was last updated.</p>
*/
inline void SetUpdatedAt(Aws::Utils::DateTime&& value) { m_updatedAtHasBeenSet = true; m_updatedAt = std::move(value); }
/**
* <p>The time at which the renewal summary was last updated.</p>
*/
inline RenewalSummary& WithUpdatedAt(const Aws::Utils::DateTime& value) { SetUpdatedAt(value); return *this;}
/**
* <p>The time at which the renewal summary was last updated.</p>
*/
inline RenewalSummary& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;}
private:
RenewalStatus m_renewalStatus;
bool m_renewalStatusHasBeenSet;
Aws::Vector<DomainValidation> m_domainValidationOptions;
bool m_domainValidationOptionsHasBeenSet;
FailureReason m_renewalStatusReason;
bool m_renewalStatusReasonHasBeenSet;
Aws::Utils::DateTime m_updatedAt;
bool m_updatedAtHasBeenSet;
};
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,770 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/acm/ACMRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/acm/model/ValidationMethod.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/acm/model/CertificateOptions.h>
#include <aws/acm/model/DomainValidationOption.h>
#include <aws/acm/model/Tag.h>
#include <utility>
namespace Aws
{
namespace ACM
{
namespace Model
{
/**
*/
class AWS_ACM_API RequestCertificateRequest : public ACMRequest
{
public:
RequestCertificateRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "RequestCertificate"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p> Fully qualified domain name (FQDN), such as www.example.com, that you want
* to secure with an ACM certificate. Use an asterisk (*) to create a wildcard
* certificate that protects several sites in the same domain. For example,
* *.example.com protects www.example.com, site.example.com, and
* images.example.com. </p> <p> The first domain name you enter cannot exceed 64
* octets, including periods. Each subsequent Subject Alternative Name (SAN),
* however, can be up to 253 octets in length. </p>
*/
inline const Aws::String& GetDomainName() const{ return m_domainName; }
/**
* <p> Fully qualified domain name (FQDN), such as www.example.com, that you want
* to secure with an ACM certificate. Use an asterisk (*) to create a wildcard
* certificate that protects several sites in the same domain. For example,
* *.example.com protects www.example.com, site.example.com, and
* images.example.com. </p> <p> The first domain name you enter cannot exceed 64
* octets, including periods. Each subsequent Subject Alternative Name (SAN),
* however, can be up to 253 octets in length. </p>
*/
inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; }
/**
* <p> Fully qualified domain name (FQDN), such as www.example.com, that you want
* to secure with an ACM certificate. Use an asterisk (*) to create a wildcard
* certificate that protects several sites in the same domain. For example,
* *.example.com protects www.example.com, site.example.com, and
* images.example.com. </p> <p> The first domain name you enter cannot exceed 64
* octets, including periods. Each subsequent Subject Alternative Name (SAN),
* however, can be up to 253 octets in length. </p>
*/
inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; }
/**
* <p> Fully qualified domain name (FQDN), such as www.example.com, that you want
* to secure with an ACM certificate. Use an asterisk (*) to create a wildcard
* certificate that protects several sites in the same domain. For example,
* *.example.com protects www.example.com, site.example.com, and
* images.example.com. </p> <p> The first domain name you enter cannot exceed 64
* octets, including periods. Each subsequent Subject Alternative Name (SAN),
* however, can be up to 253 octets in length. </p>
*/
inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); }
/**
* <p> Fully qualified domain name (FQDN), such as www.example.com, that you want
* to secure with an ACM certificate. Use an asterisk (*) to create a wildcard
* certificate that protects several sites in the same domain. For example,
* *.example.com protects www.example.com, site.example.com, and
* images.example.com. </p> <p> The first domain name you enter cannot exceed 64
* octets, including periods. Each subsequent Subject Alternative Name (SAN),
* however, can be up to 253 octets in length. </p>
*/
inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); }
/**
* <p> Fully qualified domain name (FQDN), such as www.example.com, that you want
* to secure with an ACM certificate. Use an asterisk (*) to create a wildcard
* certificate that protects several sites in the same domain. For example,
* *.example.com protects www.example.com, site.example.com, and
* images.example.com. </p> <p> The first domain name you enter cannot exceed 64
* octets, including periods. Each subsequent Subject Alternative Name (SAN),
* however, can be up to 253 octets in length. </p>
*/
inline RequestCertificateRequest& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;}
/**
* <p> Fully qualified domain name (FQDN), such as www.example.com, that you want
* to secure with an ACM certificate. Use an asterisk (*) to create a wildcard
* certificate that protects several sites in the same domain. For example,
* *.example.com protects www.example.com, site.example.com, and
* images.example.com. </p> <p> The first domain name you enter cannot exceed 64
* octets, including periods. Each subsequent Subject Alternative Name (SAN),
* however, can be up to 253 octets in length. </p>
*/
inline RequestCertificateRequest& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;}
/**
* <p> Fully qualified domain name (FQDN), such as www.example.com, that you want
* to secure with an ACM certificate. Use an asterisk (*) to create a wildcard
* certificate that protects several sites in the same domain. For example,
* *.example.com protects www.example.com, site.example.com, and
* images.example.com. </p> <p> The first domain name you enter cannot exceed 64
* octets, including periods. Each subsequent Subject Alternative Name (SAN),
* however, can be up to 253 octets in length. </p>
*/
inline RequestCertificateRequest& WithDomainName(const char* value) { SetDomainName(value); return *this;}
/**
* <p>The method you want to use if you are requesting a public certificate to
* validate that you own or control domain. You can <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-dns.html">validate
* with DNS</a> or <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-email.html">validate
* with email</a>. We recommend that you use DNS validation. </p>
*/
inline const ValidationMethod& GetValidationMethod() const{ return m_validationMethod; }
/**
* <p>The method you want to use if you are requesting a public certificate to
* validate that you own or control domain. You can <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-dns.html">validate
* with DNS</a> or <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-email.html">validate
* with email</a>. We recommend that you use DNS validation. </p>
*/
inline bool ValidationMethodHasBeenSet() const { return m_validationMethodHasBeenSet; }
/**
* <p>The method you want to use if you are requesting a public certificate to
* validate that you own or control domain. You can <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-dns.html">validate
* with DNS</a> or <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-email.html">validate
* with email</a>. We recommend that you use DNS validation. </p>
*/
inline void SetValidationMethod(const ValidationMethod& value) { m_validationMethodHasBeenSet = true; m_validationMethod = value; }
/**
* <p>The method you want to use if you are requesting a public certificate to
* validate that you own or control domain. You can <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-dns.html">validate
* with DNS</a> or <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-email.html">validate
* with email</a>. We recommend that you use DNS validation. </p>
*/
inline void SetValidationMethod(ValidationMethod&& value) { m_validationMethodHasBeenSet = true; m_validationMethod = std::move(value); }
/**
* <p>The method you want to use if you are requesting a public certificate to
* validate that you own or control domain. You can <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-dns.html">validate
* with DNS</a> or <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-email.html">validate
* with email</a>. We recommend that you use DNS validation. </p>
*/
inline RequestCertificateRequest& WithValidationMethod(const ValidationMethod& value) { SetValidationMethod(value); return *this;}
/**
* <p>The method you want to use if you are requesting a public certificate to
* validate that you own or control domain. You can <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-dns.html">validate
* with DNS</a> or <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-email.html">validate
* with email</a>. We recommend that you use DNS validation. </p>
*/
inline RequestCertificateRequest& WithValidationMethod(ValidationMethod&& value) { SetValidationMethod(std::move(value)); return *this;}
/**
* <p>Additional FQDNs to be included in the Subject Alternative Name extension of
* the ACM certificate. For example, add the name www.example.net to a certificate
* for which the <code>DomainName</code> field is www.example.com if users can
* reach your site by using either name. The maximum number of domain names that
* you can add to an ACM certificate is 100. However, the initial quota is 10
* domain names. If you need more than 10 names, you must request a quota increase.
* For more information, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-limits.html">Quotas</a>.</p>
* <p> The maximum length of a SAN DNS name is 253 octets. The name is made up of
* multiple labels separated by periods. No label can be longer than 63 octets.
* Consider the following examples: </p> <ul> <li> <p> <code>(63 octets).(63
* octets).(63 octets).(61 octets)</code> is legal because the total length is 253
* octets (63+1+63+1+63+1+61) and no label exceeds 63 octets.</p> </li> <li> <p>
* <code>(64 octets).(63 octets).(63 octets).(61 octets)</code> is not legal
* because the total length exceeds 253 octets (64+1+63+1+63+1+61) and the first
* label exceeds 63 octets.</p> </li> <li> <p> <code>(63 octets).(63 octets).(63
* octets).(62 octets)</code> is not legal because the total length of the DNS name
* (63+1+63+1+63+1+62) exceeds 253 octets.</p> </li> </ul>
*/
inline const Aws::Vector<Aws::String>& GetSubjectAlternativeNames() const{ return m_subjectAlternativeNames; }
/**
* <p>Additional FQDNs to be included in the Subject Alternative Name extension of
* the ACM certificate. For example, add the name www.example.net to a certificate
* for which the <code>DomainName</code> field is www.example.com if users can
* reach your site by using either name. The maximum number of domain names that
* you can add to an ACM certificate is 100. However, the initial quota is 10
* domain names. If you need more than 10 names, you must request a quota increase.
* For more information, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-limits.html">Quotas</a>.</p>
* <p> The maximum length of a SAN DNS name is 253 octets. The name is made up of
* multiple labels separated by periods. No label can be longer than 63 octets.
* Consider the following examples: </p> <ul> <li> <p> <code>(63 octets).(63
* octets).(63 octets).(61 octets)</code> is legal because the total length is 253
* octets (63+1+63+1+63+1+61) and no label exceeds 63 octets.</p> </li> <li> <p>
* <code>(64 octets).(63 octets).(63 octets).(61 octets)</code> is not legal
* because the total length exceeds 253 octets (64+1+63+1+63+1+61) and the first
* label exceeds 63 octets.</p> </li> <li> <p> <code>(63 octets).(63 octets).(63
* octets).(62 octets)</code> is not legal because the total length of the DNS name
* (63+1+63+1+63+1+62) exceeds 253 octets.</p> </li> </ul>
*/
inline bool SubjectAlternativeNamesHasBeenSet() const { return m_subjectAlternativeNamesHasBeenSet; }
/**
* <p>Additional FQDNs to be included in the Subject Alternative Name extension of
* the ACM certificate. For example, add the name www.example.net to a certificate
* for which the <code>DomainName</code> field is www.example.com if users can
* reach your site by using either name. The maximum number of domain names that
* you can add to an ACM certificate is 100. However, the initial quota is 10
* domain names. If you need more than 10 names, you must request a quota increase.
* For more information, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-limits.html">Quotas</a>.</p>
* <p> The maximum length of a SAN DNS name is 253 octets. The name is made up of
* multiple labels separated by periods. No label can be longer than 63 octets.
* Consider the following examples: </p> <ul> <li> <p> <code>(63 octets).(63
* octets).(63 octets).(61 octets)</code> is legal because the total length is 253
* octets (63+1+63+1+63+1+61) and no label exceeds 63 octets.</p> </li> <li> <p>
* <code>(64 octets).(63 octets).(63 octets).(61 octets)</code> is not legal
* because the total length exceeds 253 octets (64+1+63+1+63+1+61) and the first
* label exceeds 63 octets.</p> </li> <li> <p> <code>(63 octets).(63 octets).(63
* octets).(62 octets)</code> is not legal because the total length of the DNS name
* (63+1+63+1+63+1+62) exceeds 253 octets.</p> </li> </ul>
*/
inline void SetSubjectAlternativeNames(const Aws::Vector<Aws::String>& value) { m_subjectAlternativeNamesHasBeenSet = true; m_subjectAlternativeNames = value; }
/**
* <p>Additional FQDNs to be included in the Subject Alternative Name extension of
* the ACM certificate. For example, add the name www.example.net to a certificate
* for which the <code>DomainName</code> field is www.example.com if users can
* reach your site by using either name. The maximum number of domain names that
* you can add to an ACM certificate is 100. However, the initial quota is 10
* domain names. If you need more than 10 names, you must request a quota increase.
* For more information, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-limits.html">Quotas</a>.</p>
* <p> The maximum length of a SAN DNS name is 253 octets. The name is made up of
* multiple labels separated by periods. No label can be longer than 63 octets.
* Consider the following examples: </p> <ul> <li> <p> <code>(63 octets).(63
* octets).(63 octets).(61 octets)</code> is legal because the total length is 253
* octets (63+1+63+1+63+1+61) and no label exceeds 63 octets.</p> </li> <li> <p>
* <code>(64 octets).(63 octets).(63 octets).(61 octets)</code> is not legal
* because the total length exceeds 253 octets (64+1+63+1+63+1+61) and the first
* label exceeds 63 octets.</p> </li> <li> <p> <code>(63 octets).(63 octets).(63
* octets).(62 octets)</code> is not legal because the total length of the DNS name
* (63+1+63+1+63+1+62) exceeds 253 octets.</p> </li> </ul>
*/
inline void SetSubjectAlternativeNames(Aws::Vector<Aws::String>&& value) { m_subjectAlternativeNamesHasBeenSet = true; m_subjectAlternativeNames = std::move(value); }
/**
* <p>Additional FQDNs to be included in the Subject Alternative Name extension of
* the ACM certificate. For example, add the name www.example.net to a certificate
* for which the <code>DomainName</code> field is www.example.com if users can
* reach your site by using either name. The maximum number of domain names that
* you can add to an ACM certificate is 100. However, the initial quota is 10
* domain names. If you need more than 10 names, you must request a quota increase.
* For more information, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-limits.html">Quotas</a>.</p>
* <p> The maximum length of a SAN DNS name is 253 octets. The name is made up of
* multiple labels separated by periods. No label can be longer than 63 octets.
* Consider the following examples: </p> <ul> <li> <p> <code>(63 octets).(63
* octets).(63 octets).(61 octets)</code> is legal because the total length is 253
* octets (63+1+63+1+63+1+61) and no label exceeds 63 octets.</p> </li> <li> <p>
* <code>(64 octets).(63 octets).(63 octets).(61 octets)</code> is not legal
* because the total length exceeds 253 octets (64+1+63+1+63+1+61) and the first
* label exceeds 63 octets.</p> </li> <li> <p> <code>(63 octets).(63 octets).(63
* octets).(62 octets)</code> is not legal because the total length of the DNS name
* (63+1+63+1+63+1+62) exceeds 253 octets.</p> </li> </ul>
*/
inline RequestCertificateRequest& WithSubjectAlternativeNames(const Aws::Vector<Aws::String>& value) { SetSubjectAlternativeNames(value); return *this;}
/**
* <p>Additional FQDNs to be included in the Subject Alternative Name extension of
* the ACM certificate. For example, add the name www.example.net to a certificate
* for which the <code>DomainName</code> field is www.example.com if users can
* reach your site by using either name. The maximum number of domain names that
* you can add to an ACM certificate is 100. However, the initial quota is 10
* domain names. If you need more than 10 names, you must request a quota increase.
* For more information, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-limits.html">Quotas</a>.</p>
* <p> The maximum length of a SAN DNS name is 253 octets. The name is made up of
* multiple labels separated by periods. No label can be longer than 63 octets.
* Consider the following examples: </p> <ul> <li> <p> <code>(63 octets).(63
* octets).(63 octets).(61 octets)</code> is legal because the total length is 253
* octets (63+1+63+1+63+1+61) and no label exceeds 63 octets.</p> </li> <li> <p>
* <code>(64 octets).(63 octets).(63 octets).(61 octets)</code> is not legal
* because the total length exceeds 253 octets (64+1+63+1+63+1+61) and the first
* label exceeds 63 octets.</p> </li> <li> <p> <code>(63 octets).(63 octets).(63
* octets).(62 octets)</code> is not legal because the total length of the DNS name
* (63+1+63+1+63+1+62) exceeds 253 octets.</p> </li> </ul>
*/
inline RequestCertificateRequest& WithSubjectAlternativeNames(Aws::Vector<Aws::String>&& value) { SetSubjectAlternativeNames(std::move(value)); return *this;}
/**
* <p>Additional FQDNs to be included in the Subject Alternative Name extension of
* the ACM certificate. For example, add the name www.example.net to a certificate
* for which the <code>DomainName</code> field is www.example.com if users can
* reach your site by using either name. The maximum number of domain names that
* you can add to an ACM certificate is 100. However, the initial quota is 10
* domain names. If you need more than 10 names, you must request a quota increase.
* For more information, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-limits.html">Quotas</a>.</p>
* <p> The maximum length of a SAN DNS name is 253 octets. The name is made up of
* multiple labels separated by periods. No label can be longer than 63 octets.
* Consider the following examples: </p> <ul> <li> <p> <code>(63 octets).(63
* octets).(63 octets).(61 octets)</code> is legal because the total length is 253
* octets (63+1+63+1+63+1+61) and no label exceeds 63 octets.</p> </li> <li> <p>
* <code>(64 octets).(63 octets).(63 octets).(61 octets)</code> is not legal
* because the total length exceeds 253 octets (64+1+63+1+63+1+61) and the first
* label exceeds 63 octets.</p> </li> <li> <p> <code>(63 octets).(63 octets).(63
* octets).(62 octets)</code> is not legal because the total length of the DNS name
* (63+1+63+1+63+1+62) exceeds 253 octets.</p> </li> </ul>
*/
inline RequestCertificateRequest& AddSubjectAlternativeNames(const Aws::String& value) { m_subjectAlternativeNamesHasBeenSet = true; m_subjectAlternativeNames.push_back(value); return *this; }
/**
* <p>Additional FQDNs to be included in the Subject Alternative Name extension of
* the ACM certificate. For example, add the name www.example.net to a certificate
* for which the <code>DomainName</code> field is www.example.com if users can
* reach your site by using either name. The maximum number of domain names that
* you can add to an ACM certificate is 100. However, the initial quota is 10
* domain names. If you need more than 10 names, you must request a quota increase.
* For more information, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-limits.html">Quotas</a>.</p>
* <p> The maximum length of a SAN DNS name is 253 octets. The name is made up of
* multiple labels separated by periods. No label can be longer than 63 octets.
* Consider the following examples: </p> <ul> <li> <p> <code>(63 octets).(63
* octets).(63 octets).(61 octets)</code> is legal because the total length is 253
* octets (63+1+63+1+63+1+61) and no label exceeds 63 octets.</p> </li> <li> <p>
* <code>(64 octets).(63 octets).(63 octets).(61 octets)</code> is not legal
* because the total length exceeds 253 octets (64+1+63+1+63+1+61) and the first
* label exceeds 63 octets.</p> </li> <li> <p> <code>(63 octets).(63 octets).(63
* octets).(62 octets)</code> is not legal because the total length of the DNS name
* (63+1+63+1+63+1+62) exceeds 253 octets.</p> </li> </ul>
*/
inline RequestCertificateRequest& AddSubjectAlternativeNames(Aws::String&& value) { m_subjectAlternativeNamesHasBeenSet = true; m_subjectAlternativeNames.push_back(std::move(value)); return *this; }
/**
* <p>Additional FQDNs to be included in the Subject Alternative Name extension of
* the ACM certificate. For example, add the name www.example.net to a certificate
* for which the <code>DomainName</code> field is www.example.com if users can
* reach your site by using either name. The maximum number of domain names that
* you can add to an ACM certificate is 100. However, the initial quota is 10
* domain names. If you need more than 10 names, you must request a quota increase.
* For more information, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-limits.html">Quotas</a>.</p>
* <p> The maximum length of a SAN DNS name is 253 octets. The name is made up of
* multiple labels separated by periods. No label can be longer than 63 octets.
* Consider the following examples: </p> <ul> <li> <p> <code>(63 octets).(63
* octets).(63 octets).(61 octets)</code> is legal because the total length is 253
* octets (63+1+63+1+63+1+61) and no label exceeds 63 octets.</p> </li> <li> <p>
* <code>(64 octets).(63 octets).(63 octets).(61 octets)</code> is not legal
* because the total length exceeds 253 octets (64+1+63+1+63+1+61) and the first
* label exceeds 63 octets.</p> </li> <li> <p> <code>(63 octets).(63 octets).(63
* octets).(62 octets)</code> is not legal because the total length of the DNS name
* (63+1+63+1+63+1+62) exceeds 253 octets.</p> </li> </ul>
*/
inline RequestCertificateRequest& AddSubjectAlternativeNames(const char* value) { m_subjectAlternativeNamesHasBeenSet = true; m_subjectAlternativeNames.push_back(value); return *this; }
/**
* <p>Customer chosen string that can be used to distinguish between calls to
* <code>RequestCertificate</code>. Idempotency tokens time out after one hour.
* Therefore, if you call <code>RequestCertificate</code> multiple times with the
* same idempotency token within one hour, ACM recognizes that you are requesting
* only one certificate and will issue only one. If you change the idempotency
* token for each call, ACM recognizes that you are requesting multiple
* certificates.</p>
*/
inline const Aws::String& GetIdempotencyToken() const{ return m_idempotencyToken; }
/**
* <p>Customer chosen string that can be used to distinguish between calls to
* <code>RequestCertificate</code>. Idempotency tokens time out after one hour.
* Therefore, if you call <code>RequestCertificate</code> multiple times with the
* same idempotency token within one hour, ACM recognizes that you are requesting
* only one certificate and will issue only one. If you change the idempotency
* token for each call, ACM recognizes that you are requesting multiple
* certificates.</p>
*/
inline bool IdempotencyTokenHasBeenSet() const { return m_idempotencyTokenHasBeenSet; }
/**
* <p>Customer chosen string that can be used to distinguish between calls to
* <code>RequestCertificate</code>. Idempotency tokens time out after one hour.
* Therefore, if you call <code>RequestCertificate</code> multiple times with the
* same idempotency token within one hour, ACM recognizes that you are requesting
* only one certificate and will issue only one. If you change the idempotency
* token for each call, ACM recognizes that you are requesting multiple
* certificates.</p>
*/
inline void SetIdempotencyToken(const Aws::String& value) { m_idempotencyTokenHasBeenSet = true; m_idempotencyToken = value; }
/**
* <p>Customer chosen string that can be used to distinguish between calls to
* <code>RequestCertificate</code>. Idempotency tokens time out after one hour.
* Therefore, if you call <code>RequestCertificate</code> multiple times with the
* same idempotency token within one hour, ACM recognizes that you are requesting
* only one certificate and will issue only one. If you change the idempotency
* token for each call, ACM recognizes that you are requesting multiple
* certificates.</p>
*/
inline void SetIdempotencyToken(Aws::String&& value) { m_idempotencyTokenHasBeenSet = true; m_idempotencyToken = std::move(value); }
/**
* <p>Customer chosen string that can be used to distinguish between calls to
* <code>RequestCertificate</code>. Idempotency tokens time out after one hour.
* Therefore, if you call <code>RequestCertificate</code> multiple times with the
* same idempotency token within one hour, ACM recognizes that you are requesting
* only one certificate and will issue only one. If you change the idempotency
* token for each call, ACM recognizes that you are requesting multiple
* certificates.</p>
*/
inline void SetIdempotencyToken(const char* value) { m_idempotencyTokenHasBeenSet = true; m_idempotencyToken.assign(value); }
/**
* <p>Customer chosen string that can be used to distinguish between calls to
* <code>RequestCertificate</code>. Idempotency tokens time out after one hour.
* Therefore, if you call <code>RequestCertificate</code> multiple times with the
* same idempotency token within one hour, ACM recognizes that you are requesting
* only one certificate and will issue only one. If you change the idempotency
* token for each call, ACM recognizes that you are requesting multiple
* certificates.</p>
*/
inline RequestCertificateRequest& WithIdempotencyToken(const Aws::String& value) { SetIdempotencyToken(value); return *this;}
/**
* <p>Customer chosen string that can be used to distinguish between calls to
* <code>RequestCertificate</code>. Idempotency tokens time out after one hour.
* Therefore, if you call <code>RequestCertificate</code> multiple times with the
* same idempotency token within one hour, ACM recognizes that you are requesting
* only one certificate and will issue only one. If you change the idempotency
* token for each call, ACM recognizes that you are requesting multiple
* certificates.</p>
*/
inline RequestCertificateRequest& WithIdempotencyToken(Aws::String&& value) { SetIdempotencyToken(std::move(value)); return *this;}
/**
* <p>Customer chosen string that can be used to distinguish between calls to
* <code>RequestCertificate</code>. Idempotency tokens time out after one hour.
* Therefore, if you call <code>RequestCertificate</code> multiple times with the
* same idempotency token within one hour, ACM recognizes that you are requesting
* only one certificate and will issue only one. If you change the idempotency
* token for each call, ACM recognizes that you are requesting multiple
* certificates.</p>
*/
inline RequestCertificateRequest& WithIdempotencyToken(const char* value) { SetIdempotencyToken(value); return *this;}
/**
* <p>The domain name that you want ACM to use to send you emails so that you can
* validate domain ownership.</p>
*/
inline const Aws::Vector<DomainValidationOption>& GetDomainValidationOptions() const{ return m_domainValidationOptions; }
/**
* <p>The domain name that you want ACM to use to send you emails so that you can
* validate domain ownership.</p>
*/
inline bool DomainValidationOptionsHasBeenSet() const { return m_domainValidationOptionsHasBeenSet; }
/**
* <p>The domain name that you want ACM to use to send you emails so that you can
* validate domain ownership.</p>
*/
inline void SetDomainValidationOptions(const Aws::Vector<DomainValidationOption>& value) { m_domainValidationOptionsHasBeenSet = true; m_domainValidationOptions = value; }
/**
* <p>The domain name that you want ACM to use to send you emails so that you can
* validate domain ownership.</p>
*/
inline void SetDomainValidationOptions(Aws::Vector<DomainValidationOption>&& value) { m_domainValidationOptionsHasBeenSet = true; m_domainValidationOptions = std::move(value); }
/**
* <p>The domain name that you want ACM to use to send you emails so that you can
* validate domain ownership.</p>
*/
inline RequestCertificateRequest& WithDomainValidationOptions(const Aws::Vector<DomainValidationOption>& value) { SetDomainValidationOptions(value); return *this;}
/**
* <p>The domain name that you want ACM to use to send you emails so that you can
* validate domain ownership.</p>
*/
inline RequestCertificateRequest& WithDomainValidationOptions(Aws::Vector<DomainValidationOption>&& value) { SetDomainValidationOptions(std::move(value)); return *this;}
/**
* <p>The domain name that you want ACM to use to send you emails so that you can
* validate domain ownership.</p>
*/
inline RequestCertificateRequest& AddDomainValidationOptions(const DomainValidationOption& value) { m_domainValidationOptionsHasBeenSet = true; m_domainValidationOptions.push_back(value); return *this; }
/**
* <p>The domain name that you want ACM to use to send you emails so that you can
* validate domain ownership.</p>
*/
inline RequestCertificateRequest& AddDomainValidationOptions(DomainValidationOption&& value) { m_domainValidationOptionsHasBeenSet = true; m_domainValidationOptions.push_back(std::move(value)); return *this; }
/**
* <p>Currently, you can use this parameter to specify whether to add the
* certificate to a certificate transparency log. Certificate transparency makes it
* possible to detect SSL/TLS certificates that have been mistakenly or maliciously
* issued. Certificates that have not been logged typically produce an error
* message in a browser. For more information, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-bestpractices.html#best-practices-transparency">Opting
* Out of Certificate Transparency Logging</a>.</p>
*/
inline const CertificateOptions& GetOptions() const{ return m_options; }
/**
* <p>Currently, you can use this parameter to specify whether to add the
* certificate to a certificate transparency log. Certificate transparency makes it
* possible to detect SSL/TLS certificates that have been mistakenly or maliciously
* issued. Certificates that have not been logged typically produce an error
* message in a browser. For more information, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-bestpractices.html#best-practices-transparency">Opting
* Out of Certificate Transparency Logging</a>.</p>
*/
inline bool OptionsHasBeenSet() const { return m_optionsHasBeenSet; }
/**
* <p>Currently, you can use this parameter to specify whether to add the
* certificate to a certificate transparency log. Certificate transparency makes it
* possible to detect SSL/TLS certificates that have been mistakenly or maliciously
* issued. Certificates that have not been logged typically produce an error
* message in a browser. For more information, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-bestpractices.html#best-practices-transparency">Opting
* Out of Certificate Transparency Logging</a>.</p>
*/
inline void SetOptions(const CertificateOptions& value) { m_optionsHasBeenSet = true; m_options = value; }
/**
* <p>Currently, you can use this parameter to specify whether to add the
* certificate to a certificate transparency log. Certificate transparency makes it
* possible to detect SSL/TLS certificates that have been mistakenly or maliciously
* issued. Certificates that have not been logged typically produce an error
* message in a browser. For more information, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-bestpractices.html#best-practices-transparency">Opting
* Out of Certificate Transparency Logging</a>.</p>
*/
inline void SetOptions(CertificateOptions&& value) { m_optionsHasBeenSet = true; m_options = std::move(value); }
/**
* <p>Currently, you can use this parameter to specify whether to add the
* certificate to a certificate transparency log. Certificate transparency makes it
* possible to detect SSL/TLS certificates that have been mistakenly or maliciously
* issued. Certificates that have not been logged typically produce an error
* message in a browser. For more information, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-bestpractices.html#best-practices-transparency">Opting
* Out of Certificate Transparency Logging</a>.</p>
*/
inline RequestCertificateRequest& WithOptions(const CertificateOptions& value) { SetOptions(value); return *this;}
/**
* <p>Currently, you can use this parameter to specify whether to add the
* certificate to a certificate transparency log. Certificate transparency makes it
* possible to detect SSL/TLS certificates that have been mistakenly or maliciously
* issued. Certificates that have not been logged typically produce an error
* message in a browser. For more information, see <a
* href="https://docs.aws.amazon.com/acm/latest/userguide/acm-bestpractices.html#best-practices-transparency">Opting
* Out of Certificate Transparency Logging</a>.</p>
*/
inline RequestCertificateRequest& WithOptions(CertificateOptions&& value) { SetOptions(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the private certificate authority (CA) that
* will be used to issue the certificate. If you do not provide an ARN and you are
* trying to request a private certificate, ACM will attempt to issue a public
* certificate. For more information about private CAs, see the <a
* href="https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaWelcome.html">AWS
* Certificate Manager Private Certificate Authority (PCA)</a> user guide. The ARN
* must have the following form: </p> <p>
* <code>arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012</code>
* </p>
*/
inline const Aws::String& GetCertificateAuthorityArn() const{ return m_certificateAuthorityArn; }
/**
* <p>The Amazon Resource Name (ARN) of the private certificate authority (CA) that
* will be used to issue the certificate. If you do not provide an ARN and you are
* trying to request a private certificate, ACM will attempt to issue a public
* certificate. For more information about private CAs, see the <a
* href="https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaWelcome.html">AWS
* Certificate Manager Private Certificate Authority (PCA)</a> user guide. The ARN
* must have the following form: </p> <p>
* <code>arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012</code>
* </p>
*/
inline bool CertificateAuthorityArnHasBeenSet() const { return m_certificateAuthorityArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the private certificate authority (CA) that
* will be used to issue the certificate. If you do not provide an ARN and you are
* trying to request a private certificate, ACM will attempt to issue a public
* certificate. For more information about private CAs, see the <a
* href="https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaWelcome.html">AWS
* Certificate Manager Private Certificate Authority (PCA)</a> user guide. The ARN
* must have the following form: </p> <p>
* <code>arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012</code>
* </p>
*/
inline void SetCertificateAuthorityArn(const Aws::String& value) { m_certificateAuthorityArnHasBeenSet = true; m_certificateAuthorityArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the private certificate authority (CA) that
* will be used to issue the certificate. If you do not provide an ARN and you are
* trying to request a private certificate, ACM will attempt to issue a public
* certificate. For more information about private CAs, see the <a
* href="https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaWelcome.html">AWS
* Certificate Manager Private Certificate Authority (PCA)</a> user guide. The ARN
* must have the following form: </p> <p>
* <code>arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012</code>
* </p>
*/
inline void SetCertificateAuthorityArn(Aws::String&& value) { m_certificateAuthorityArnHasBeenSet = true; m_certificateAuthorityArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the private certificate authority (CA) that
* will be used to issue the certificate. If you do not provide an ARN and you are
* trying to request a private certificate, ACM will attempt to issue a public
* certificate. For more information about private CAs, see the <a
* href="https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaWelcome.html">AWS
* Certificate Manager Private Certificate Authority (PCA)</a> user guide. The ARN
* must have the following form: </p> <p>
* <code>arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012</code>
* </p>
*/
inline void SetCertificateAuthorityArn(const char* value) { m_certificateAuthorityArnHasBeenSet = true; m_certificateAuthorityArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the private certificate authority (CA) that
* will be used to issue the certificate. If you do not provide an ARN and you are
* trying to request a private certificate, ACM will attempt to issue a public
* certificate. For more information about private CAs, see the <a
* href="https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaWelcome.html">AWS
* Certificate Manager Private Certificate Authority (PCA)</a> user guide. The ARN
* must have the following form: </p> <p>
* <code>arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012</code>
* </p>
*/
inline RequestCertificateRequest& WithCertificateAuthorityArn(const Aws::String& value) { SetCertificateAuthorityArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the private certificate authority (CA) that
* will be used to issue the certificate. If you do not provide an ARN and you are
* trying to request a private certificate, ACM will attempt to issue a public
* certificate. For more information about private CAs, see the <a
* href="https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaWelcome.html">AWS
* Certificate Manager Private Certificate Authority (PCA)</a> user guide. The ARN
* must have the following form: </p> <p>
* <code>arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012</code>
* </p>
*/
inline RequestCertificateRequest& WithCertificateAuthorityArn(Aws::String&& value) { SetCertificateAuthorityArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the private certificate authority (CA) that
* will be used to issue the certificate. If you do not provide an ARN and you are
* trying to request a private certificate, ACM will attempt to issue a public
* certificate. For more information about private CAs, see the <a
* href="https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaWelcome.html">AWS
* Certificate Manager Private Certificate Authority (PCA)</a> user guide. The ARN
* must have the following form: </p> <p>
* <code>arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012</code>
* </p>
*/
inline RequestCertificateRequest& WithCertificateAuthorityArn(const char* value) { SetCertificateAuthorityArn(value); return *this;}
/**
* <p>One or more resource tags to associate with the certificate.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
/**
* <p>One or more resource tags to associate with the certificate.</p>
*/
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
/**
* <p>One or more resource tags to associate with the certificate.</p>
*/
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
/**
* <p>One or more resource tags to associate with the certificate.</p>
*/
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
/**
* <p>One or more resource tags to associate with the certificate.</p>
*/
inline RequestCertificateRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
/**
* <p>One or more resource tags to associate with the certificate.</p>
*/
inline RequestCertificateRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
/**
* <p>One or more resource tags to associate with the certificate.</p>
*/
inline RequestCertificateRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
/**
* <p>One or more resource tags to associate with the certificate.</p>
*/
inline RequestCertificateRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
private:
Aws::String m_domainName;
bool m_domainNameHasBeenSet;
ValidationMethod m_validationMethod;
bool m_validationMethodHasBeenSet;
Aws::Vector<Aws::String> m_subjectAlternativeNames;
bool m_subjectAlternativeNamesHasBeenSet;
Aws::String m_idempotencyToken;
bool m_idempotencyTokenHasBeenSet;
Aws::Vector<DomainValidationOption> m_domainValidationOptions;
bool m_domainValidationOptionsHasBeenSet;
CertificateOptions m_options;
bool m_optionsHasBeenSet;
Aws::String m_certificateAuthorityArn;
bool m_certificateAuthorityArnHasBeenSet;
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet;
};
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,98 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace ACM
{
namespace Model
{
class AWS_ACM_API RequestCertificateResult
{
public:
RequestCertificateResult();
RequestCertificateResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
RequestCertificateResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>String that contains the ARN of the issued certificate. This must be of the
* form:</p> <p>
* <code>arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p>
*/
inline const Aws::String& GetCertificateArn() const{ return m_certificateArn; }
/**
* <p>String that contains the ARN of the issued certificate. This must be of the
* form:</p> <p>
* <code>arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p>
*/
inline void SetCertificateArn(const Aws::String& value) { m_certificateArn = value; }
/**
* <p>String that contains the ARN of the issued certificate. This must be of the
* form:</p> <p>
* <code>arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p>
*/
inline void SetCertificateArn(Aws::String&& value) { m_certificateArn = std::move(value); }
/**
* <p>String that contains the ARN of the issued certificate. This must be of the
* form:</p> <p>
* <code>arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p>
*/
inline void SetCertificateArn(const char* value) { m_certificateArn.assign(value); }
/**
* <p>String that contains the ARN of the issued certificate. This must be of the
* form:</p> <p>
* <code>arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p>
*/
inline RequestCertificateResult& WithCertificateArn(const Aws::String& value) { SetCertificateArn(value); return *this;}
/**
* <p>String that contains the ARN of the issued certificate. This must be of the
* form:</p> <p>
* <code>arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p>
*/
inline RequestCertificateResult& WithCertificateArn(Aws::String&& value) { SetCertificateArn(std::move(value)); return *this;}
/**
* <p>String that contains the ARN of the issued certificate. This must be of the
* form:</p> <p>
* <code>arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p>
*/
inline RequestCertificateResult& WithCertificateArn(const char* value) { SetCertificateArn(value); return *this;}
private:
Aws::String m_certificateArn;
};
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,317 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/acm/ACMRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace ACM
{
namespace Model
{
/**
*/
class AWS_ACM_API ResendValidationEmailRequest : public ACMRequest
{
public:
ResendValidationEmailRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "ResendValidationEmail"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>String that contains the ARN of the requested certificate. The certificate
* ARN is generated and returned by the <a>RequestCertificate</a> action as soon as
* the request is made. By default, using this parameter causes email to be sent to
* all top-level domains you specified in the certificate request. The ARN must be
* of the form: </p> <p>
* <code>arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p>
*/
inline const Aws::String& GetCertificateArn() const{ return m_certificateArn; }
/**
* <p>String that contains the ARN of the requested certificate. The certificate
* ARN is generated and returned by the <a>RequestCertificate</a> action as soon as
* the request is made. By default, using this parameter causes email to be sent to
* all top-level domains you specified in the certificate request. The ARN must be
* of the form: </p> <p>
* <code>arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p>
*/
inline bool CertificateArnHasBeenSet() const { return m_certificateArnHasBeenSet; }
/**
* <p>String that contains the ARN of the requested certificate. The certificate
* ARN is generated and returned by the <a>RequestCertificate</a> action as soon as
* the request is made. By default, using this parameter causes email to be sent to
* all top-level domains you specified in the certificate request. The ARN must be
* of the form: </p> <p>
* <code>arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p>
*/
inline void SetCertificateArn(const Aws::String& value) { m_certificateArnHasBeenSet = true; m_certificateArn = value; }
/**
* <p>String that contains the ARN of the requested certificate. The certificate
* ARN is generated and returned by the <a>RequestCertificate</a> action as soon as
* the request is made. By default, using this parameter causes email to be sent to
* all top-level domains you specified in the certificate request. The ARN must be
* of the form: </p> <p>
* <code>arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p>
*/
inline void SetCertificateArn(Aws::String&& value) { m_certificateArnHasBeenSet = true; m_certificateArn = std::move(value); }
/**
* <p>String that contains the ARN of the requested certificate. The certificate
* ARN is generated and returned by the <a>RequestCertificate</a> action as soon as
* the request is made. By default, using this parameter causes email to be sent to
* all top-level domains you specified in the certificate request. The ARN must be
* of the form: </p> <p>
* <code>arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p>
*/
inline void SetCertificateArn(const char* value) { m_certificateArnHasBeenSet = true; m_certificateArn.assign(value); }
/**
* <p>String that contains the ARN of the requested certificate. The certificate
* ARN is generated and returned by the <a>RequestCertificate</a> action as soon as
* the request is made. By default, using this parameter causes email to be sent to
* all top-level domains you specified in the certificate request. The ARN must be
* of the form: </p> <p>
* <code>arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p>
*/
inline ResendValidationEmailRequest& WithCertificateArn(const Aws::String& value) { SetCertificateArn(value); return *this;}
/**
* <p>String that contains the ARN of the requested certificate. The certificate
* ARN is generated and returned by the <a>RequestCertificate</a> action as soon as
* the request is made. By default, using this parameter causes email to be sent to
* all top-level domains you specified in the certificate request. The ARN must be
* of the form: </p> <p>
* <code>arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p>
*/
inline ResendValidationEmailRequest& WithCertificateArn(Aws::String&& value) { SetCertificateArn(std::move(value)); return *this;}
/**
* <p>String that contains the ARN of the requested certificate. The certificate
* ARN is generated and returned by the <a>RequestCertificate</a> action as soon as
* the request is made. By default, using this parameter causes email to be sent to
* all top-level domains you specified in the certificate request. The ARN must be
* of the form: </p> <p>
* <code>arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012</code>
* </p>
*/
inline ResendValidationEmailRequest& WithCertificateArn(const char* value) { SetCertificateArn(value); return *this;}
/**
* <p>The fully qualified domain name (FQDN) of the certificate that needs to be
* validated.</p>
*/
inline const Aws::String& GetDomain() const{ return m_domain; }
/**
* <p>The fully qualified domain name (FQDN) of the certificate that needs to be
* validated.</p>
*/
inline bool DomainHasBeenSet() const { return m_domainHasBeenSet; }
/**
* <p>The fully qualified domain name (FQDN) of the certificate that needs to be
* validated.</p>
*/
inline void SetDomain(const Aws::String& value) { m_domainHasBeenSet = true; m_domain = value; }
/**
* <p>The fully qualified domain name (FQDN) of the certificate that needs to be
* validated.</p>
*/
inline void SetDomain(Aws::String&& value) { m_domainHasBeenSet = true; m_domain = std::move(value); }
/**
* <p>The fully qualified domain name (FQDN) of the certificate that needs to be
* validated.</p>
*/
inline void SetDomain(const char* value) { m_domainHasBeenSet = true; m_domain.assign(value); }
/**
* <p>The fully qualified domain name (FQDN) of the certificate that needs to be
* validated.</p>
*/
inline ResendValidationEmailRequest& WithDomain(const Aws::String& value) { SetDomain(value); return *this;}
/**
* <p>The fully qualified domain name (FQDN) of the certificate that needs to be
* validated.</p>
*/
inline ResendValidationEmailRequest& WithDomain(Aws::String&& value) { SetDomain(std::move(value)); return *this;}
/**
* <p>The fully qualified domain name (FQDN) of the certificate that needs to be
* validated.</p>
*/
inline ResendValidationEmailRequest& WithDomain(const char* value) { SetDomain(value); return *this;}
/**
* <p>The base validation domain that will act as the suffix of the email addresses
* that are used to send the emails. This must be the same as the
* <code>Domain</code> value or a superdomain of the <code>Domain</code> value. For
* example, if you requested a certificate for
* <code>site.subdomain.example.com</code> and specify a <b>ValidationDomain</b> of
* <code>subdomain.example.com</code>, ACM sends email to the domain registrant,
* technical contact, and administrative contact in WHOIS and the following five
* addresses:</p> <ul> <li> <p>admin@subdomain.example.com</p> </li> <li>
* <p>administrator@subdomain.example.com</p> </li> <li>
* <p>hostmaster@subdomain.example.com</p> </li> <li>
* <p>postmaster@subdomain.example.com</p> </li> <li>
* <p>webmaster@subdomain.example.com</p> </li> </ul>
*/
inline const Aws::String& GetValidationDomain() const{ return m_validationDomain; }
/**
* <p>The base validation domain that will act as the suffix of the email addresses
* that are used to send the emails. This must be the same as the
* <code>Domain</code> value or a superdomain of the <code>Domain</code> value. For
* example, if you requested a certificate for
* <code>site.subdomain.example.com</code> and specify a <b>ValidationDomain</b> of
* <code>subdomain.example.com</code>, ACM sends email to the domain registrant,
* technical contact, and administrative contact in WHOIS and the following five
* addresses:</p> <ul> <li> <p>admin@subdomain.example.com</p> </li> <li>
* <p>administrator@subdomain.example.com</p> </li> <li>
* <p>hostmaster@subdomain.example.com</p> </li> <li>
* <p>postmaster@subdomain.example.com</p> </li> <li>
* <p>webmaster@subdomain.example.com</p> </li> </ul>
*/
inline bool ValidationDomainHasBeenSet() const { return m_validationDomainHasBeenSet; }
/**
* <p>The base validation domain that will act as the suffix of the email addresses
* that are used to send the emails. This must be the same as the
* <code>Domain</code> value or a superdomain of the <code>Domain</code> value. For
* example, if you requested a certificate for
* <code>site.subdomain.example.com</code> and specify a <b>ValidationDomain</b> of
* <code>subdomain.example.com</code>, ACM sends email to the domain registrant,
* technical contact, and administrative contact in WHOIS and the following five
* addresses:</p> <ul> <li> <p>admin@subdomain.example.com</p> </li> <li>
* <p>administrator@subdomain.example.com</p> </li> <li>
* <p>hostmaster@subdomain.example.com</p> </li> <li>
* <p>postmaster@subdomain.example.com</p> </li> <li>
* <p>webmaster@subdomain.example.com</p> </li> </ul>
*/
inline void SetValidationDomain(const Aws::String& value) { m_validationDomainHasBeenSet = true; m_validationDomain = value; }
/**
* <p>The base validation domain that will act as the suffix of the email addresses
* that are used to send the emails. This must be the same as the
* <code>Domain</code> value or a superdomain of the <code>Domain</code> value. For
* example, if you requested a certificate for
* <code>site.subdomain.example.com</code> and specify a <b>ValidationDomain</b> of
* <code>subdomain.example.com</code>, ACM sends email to the domain registrant,
* technical contact, and administrative contact in WHOIS and the following five
* addresses:</p> <ul> <li> <p>admin@subdomain.example.com</p> </li> <li>
* <p>administrator@subdomain.example.com</p> </li> <li>
* <p>hostmaster@subdomain.example.com</p> </li> <li>
* <p>postmaster@subdomain.example.com</p> </li> <li>
* <p>webmaster@subdomain.example.com</p> </li> </ul>
*/
inline void SetValidationDomain(Aws::String&& value) { m_validationDomainHasBeenSet = true; m_validationDomain = std::move(value); }
/**
* <p>The base validation domain that will act as the suffix of the email addresses
* that are used to send the emails. This must be the same as the
* <code>Domain</code> value or a superdomain of the <code>Domain</code> value. For
* example, if you requested a certificate for
* <code>site.subdomain.example.com</code> and specify a <b>ValidationDomain</b> of
* <code>subdomain.example.com</code>, ACM sends email to the domain registrant,
* technical contact, and administrative contact in WHOIS and the following five
* addresses:</p> <ul> <li> <p>admin@subdomain.example.com</p> </li> <li>
* <p>administrator@subdomain.example.com</p> </li> <li>
* <p>hostmaster@subdomain.example.com</p> </li> <li>
* <p>postmaster@subdomain.example.com</p> </li> <li>
* <p>webmaster@subdomain.example.com</p> </li> </ul>
*/
inline void SetValidationDomain(const char* value) { m_validationDomainHasBeenSet = true; m_validationDomain.assign(value); }
/**
* <p>The base validation domain that will act as the suffix of the email addresses
* that are used to send the emails. This must be the same as the
* <code>Domain</code> value or a superdomain of the <code>Domain</code> value. For
* example, if you requested a certificate for
* <code>site.subdomain.example.com</code> and specify a <b>ValidationDomain</b> of
* <code>subdomain.example.com</code>, ACM sends email to the domain registrant,
* technical contact, and administrative contact in WHOIS and the following five
* addresses:</p> <ul> <li> <p>admin@subdomain.example.com</p> </li> <li>
* <p>administrator@subdomain.example.com</p> </li> <li>
* <p>hostmaster@subdomain.example.com</p> </li> <li>
* <p>postmaster@subdomain.example.com</p> </li> <li>
* <p>webmaster@subdomain.example.com</p> </li> </ul>
*/
inline ResendValidationEmailRequest& WithValidationDomain(const Aws::String& value) { SetValidationDomain(value); return *this;}
/**
* <p>The base validation domain that will act as the suffix of the email addresses
* that are used to send the emails. This must be the same as the
* <code>Domain</code> value or a superdomain of the <code>Domain</code> value. For
* example, if you requested a certificate for
* <code>site.subdomain.example.com</code> and specify a <b>ValidationDomain</b> of
* <code>subdomain.example.com</code>, ACM sends email to the domain registrant,
* technical contact, and administrative contact in WHOIS and the following five
* addresses:</p> <ul> <li> <p>admin@subdomain.example.com</p> </li> <li>
* <p>administrator@subdomain.example.com</p> </li> <li>
* <p>hostmaster@subdomain.example.com</p> </li> <li>
* <p>postmaster@subdomain.example.com</p> </li> <li>
* <p>webmaster@subdomain.example.com</p> </li> </ul>
*/
inline ResendValidationEmailRequest& WithValidationDomain(Aws::String&& value) { SetValidationDomain(std::move(value)); return *this;}
/**
* <p>The base validation domain that will act as the suffix of the email addresses
* that are used to send the emails. This must be the same as the
* <code>Domain</code> value or a superdomain of the <code>Domain</code> value. For
* example, if you requested a certificate for
* <code>site.subdomain.example.com</code> and specify a <b>ValidationDomain</b> of
* <code>subdomain.example.com</code>, ACM sends email to the domain registrant,
* technical contact, and administrative contact in WHOIS and the following five
* addresses:</p> <ul> <li> <p>admin@subdomain.example.com</p> </li> <li>
* <p>administrator@subdomain.example.com</p> </li> <li>
* <p>hostmaster@subdomain.example.com</p> </li> <li>
* <p>postmaster@subdomain.example.com</p> </li> <li>
* <p>webmaster@subdomain.example.com</p> </li> </ul>
*/
inline ResendValidationEmailRequest& WithValidationDomain(const char* value) { SetValidationDomain(value); return *this;}
private:
Aws::String m_certificateArn;
bool m_certificateArnHasBeenSet;
Aws::String m_domain;
bool m_domainHasBeenSet;
Aws::String m_validationDomain;
bool m_validationDomainHasBeenSet;
};
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,185 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/acm/model/RecordType.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace ACM
{
namespace Model
{
/**
* <p>Contains a DNS record value that you can use to can use to validate ownership
* or control of a domain. This is used by the <a>DescribeCertificate</a> action.
* </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/ResourceRecord">AWS
* API Reference</a></p>
*/
class AWS_ACM_API ResourceRecord
{
public:
ResourceRecord();
ResourceRecord(Aws::Utils::Json::JsonView jsonValue);
ResourceRecord& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The name of the DNS record to create in your domain. This is supplied by
* ACM.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
/**
* <p>The name of the DNS record to create in your domain. This is supplied by
* ACM.</p>
*/
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
/**
* <p>The name of the DNS record to create in your domain. This is supplied by
* ACM.</p>
*/
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
/**
* <p>The name of the DNS record to create in your domain. This is supplied by
* ACM.</p>
*/
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
/**
* <p>The name of the DNS record to create in your domain. This is supplied by
* ACM.</p>
*/
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
/**
* <p>The name of the DNS record to create in your domain. This is supplied by
* ACM.</p>
*/
inline ResourceRecord& WithName(const Aws::String& value) { SetName(value); return *this;}
/**
* <p>The name of the DNS record to create in your domain. This is supplied by
* ACM.</p>
*/
inline ResourceRecord& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
/**
* <p>The name of the DNS record to create in your domain. This is supplied by
* ACM.</p>
*/
inline ResourceRecord& WithName(const char* value) { SetName(value); return *this;}
/**
* <p>The type of DNS record. Currently this can be <code>CNAME</code>.</p>
*/
inline const RecordType& GetType() const{ return m_type; }
/**
* <p>The type of DNS record. Currently this can be <code>CNAME</code>.</p>
*/
inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
/**
* <p>The type of DNS record. Currently this can be <code>CNAME</code>.</p>
*/
inline void SetType(const RecordType& value) { m_typeHasBeenSet = true; m_type = value; }
/**
* <p>The type of DNS record. Currently this can be <code>CNAME</code>.</p>
*/
inline void SetType(RecordType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); }
/**
* <p>The type of DNS record. Currently this can be <code>CNAME</code>.</p>
*/
inline ResourceRecord& WithType(const RecordType& value) { SetType(value); return *this;}
/**
* <p>The type of DNS record. Currently this can be <code>CNAME</code>.</p>
*/
inline ResourceRecord& WithType(RecordType&& value) { SetType(std::move(value)); return *this;}
/**
* <p>The value of the CNAME record to add to your DNS database. This is supplied
* by ACM.</p>
*/
inline const Aws::String& GetValue() const{ return m_value; }
/**
* <p>The value of the CNAME record to add to your DNS database. This is supplied
* by ACM.</p>
*/
inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; }
/**
* <p>The value of the CNAME record to add to your DNS database. This is supplied
* by ACM.</p>
*/
inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; }
/**
* <p>The value of the CNAME record to add to your DNS database. This is supplied
* by ACM.</p>
*/
inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); }
/**
* <p>The value of the CNAME record to add to your DNS database. This is supplied
* by ACM.</p>
*/
inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); }
/**
* <p>The value of the CNAME record to add to your DNS database. This is supplied
* by ACM.</p>
*/
inline ResourceRecord& WithValue(const Aws::String& value) { SetValue(value); return *this;}
/**
* <p>The value of the CNAME record to add to your DNS database. This is supplied
* by ACM.</p>
*/
inline ResourceRecord& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;}
/**
* <p>The value of the CNAME record to add to your DNS database. This is supplied
* by ACM.</p>
*/
inline ResourceRecord& WithValue(const char* value) { SetValue(value); return *this;}
private:
Aws::String m_name;
bool m_nameHasBeenSet;
RecordType m_type;
bool m_typeHasBeenSet;
Aws::String m_value;
bool m_valueHasBeenSet;
};
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,39 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace ACM
{
namespace Model
{
enum class RevocationReason
{
NOT_SET,
UNSPECIFIED,
KEY_COMPROMISE,
CA_COMPROMISE,
AFFILIATION_CHANGED,
SUPERCEDED,
CESSATION_OF_OPERATION,
CERTIFICATE_HOLD,
REMOVE_FROM_CRL,
PRIVILEGE_WITHDRAWN,
A_A_COMPROMISE
};
namespace RevocationReasonMapper
{
AWS_ACM_API RevocationReason GetRevocationReasonForName(const Aws::String& name);
AWS_ACM_API Aws::String GetNameForRevocationReason(RevocationReason value);
} // namespace RevocationReasonMapper
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,133 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace ACM
{
namespace Model
{
/**
* <p>A key-value pair that identifies or specifies metadata about an ACM
* resource.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/Tag">AWS API
* Reference</a></p>
*/
class AWS_ACM_API Tag
{
public:
Tag();
Tag(Aws::Utils::Json::JsonView jsonValue);
Tag& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The key of the tag.</p>
*/
inline const Aws::String& GetKey() const{ return m_key; }
/**
* <p>The key of the tag.</p>
*/
inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
/**
* <p>The key of the tag.</p>
*/
inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; }
/**
* <p>The key of the tag.</p>
*/
inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); }
/**
* <p>The key of the tag.</p>
*/
inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); }
/**
* <p>The key of the tag.</p>
*/
inline Tag& WithKey(const Aws::String& value) { SetKey(value); return *this;}
/**
* <p>The key of the tag.</p>
*/
inline Tag& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;}
/**
* <p>The key of the tag.</p>
*/
inline Tag& WithKey(const char* value) { SetKey(value); return *this;}
/**
* <p>The value of the tag.</p>
*/
inline const Aws::String& GetValue() const{ return m_value; }
/**
* <p>The value of the tag.</p>
*/
inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; }
/**
* <p>The value of the tag.</p>
*/
inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; }
/**
* <p>The value of the tag.</p>
*/
inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); }
/**
* <p>The value of the tag.</p>
*/
inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); }
/**
* <p>The value of the tag.</p>
*/
inline Tag& WithValue(const Aws::String& value) { SetValue(value); return *this;}
/**
* <p>The value of the tag.</p>
*/
inline Tag& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;}
/**
* <p>The value of the tag.</p>
*/
inline Tag& WithValue(const char* value) { SetValue(value); return *this;}
private:
Aws::String m_key;
bool m_keyHasBeenSet;
Aws::String m_value;
bool m_valueHasBeenSet;
};
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,160 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/acm/ACMRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/acm/model/CertificateOptions.h>
#include <utility>
namespace Aws
{
namespace ACM
{
namespace Model
{
/**
*/
class AWS_ACM_API UpdateCertificateOptionsRequest : public ACMRequest
{
public:
UpdateCertificateOptionsRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "UpdateCertificateOptions"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>ARN of the requested certificate to update. This must be of the form:</p> <p>
* <code>arn:aws:acm:us-east-1:<i>account</i>:certificate/<i>12345678-1234-1234-1234-123456789012</i>
* </code> </p>
*/
inline const Aws::String& GetCertificateArn() const{ return m_certificateArn; }
/**
* <p>ARN of the requested certificate to update. This must be of the form:</p> <p>
* <code>arn:aws:acm:us-east-1:<i>account</i>:certificate/<i>12345678-1234-1234-1234-123456789012</i>
* </code> </p>
*/
inline bool CertificateArnHasBeenSet() const { return m_certificateArnHasBeenSet; }
/**
* <p>ARN of the requested certificate to update. This must be of the form:</p> <p>
* <code>arn:aws:acm:us-east-1:<i>account</i>:certificate/<i>12345678-1234-1234-1234-123456789012</i>
* </code> </p>
*/
inline void SetCertificateArn(const Aws::String& value) { m_certificateArnHasBeenSet = true; m_certificateArn = value; }
/**
* <p>ARN of the requested certificate to update. This must be of the form:</p> <p>
* <code>arn:aws:acm:us-east-1:<i>account</i>:certificate/<i>12345678-1234-1234-1234-123456789012</i>
* </code> </p>
*/
inline void SetCertificateArn(Aws::String&& value) { m_certificateArnHasBeenSet = true; m_certificateArn = std::move(value); }
/**
* <p>ARN of the requested certificate to update. This must be of the form:</p> <p>
* <code>arn:aws:acm:us-east-1:<i>account</i>:certificate/<i>12345678-1234-1234-1234-123456789012</i>
* </code> </p>
*/
inline void SetCertificateArn(const char* value) { m_certificateArnHasBeenSet = true; m_certificateArn.assign(value); }
/**
* <p>ARN of the requested certificate to update. This must be of the form:</p> <p>
* <code>arn:aws:acm:us-east-1:<i>account</i>:certificate/<i>12345678-1234-1234-1234-123456789012</i>
* </code> </p>
*/
inline UpdateCertificateOptionsRequest& WithCertificateArn(const Aws::String& value) { SetCertificateArn(value); return *this;}
/**
* <p>ARN of the requested certificate to update. This must be of the form:</p> <p>
* <code>arn:aws:acm:us-east-1:<i>account</i>:certificate/<i>12345678-1234-1234-1234-123456789012</i>
* </code> </p>
*/
inline UpdateCertificateOptionsRequest& WithCertificateArn(Aws::String&& value) { SetCertificateArn(std::move(value)); return *this;}
/**
* <p>ARN of the requested certificate to update. This must be of the form:</p> <p>
* <code>arn:aws:acm:us-east-1:<i>account</i>:certificate/<i>12345678-1234-1234-1234-123456789012</i>
* </code> </p>
*/
inline UpdateCertificateOptionsRequest& WithCertificateArn(const char* value) { SetCertificateArn(value); return *this;}
/**
* <p>Use to update the options for your certificate. Currently, you can specify
* whether to add your certificate to a transparency log. Certificate transparency
* makes it possible to detect SSL/TLS certificates that have been mistakenly or
* maliciously issued. Certificates that have not been logged typically produce an
* error message in a browser. </p>
*/
inline const CertificateOptions& GetOptions() const{ return m_options; }
/**
* <p>Use to update the options for your certificate. Currently, you can specify
* whether to add your certificate to a transparency log. Certificate transparency
* makes it possible to detect SSL/TLS certificates that have been mistakenly or
* maliciously issued. Certificates that have not been logged typically produce an
* error message in a browser. </p>
*/
inline bool OptionsHasBeenSet() const { return m_optionsHasBeenSet; }
/**
* <p>Use to update the options for your certificate. Currently, you can specify
* whether to add your certificate to a transparency log. Certificate transparency
* makes it possible to detect SSL/TLS certificates that have been mistakenly or
* maliciously issued. Certificates that have not been logged typically produce an
* error message in a browser. </p>
*/
inline void SetOptions(const CertificateOptions& value) { m_optionsHasBeenSet = true; m_options = value; }
/**
* <p>Use to update the options for your certificate. Currently, you can specify
* whether to add your certificate to a transparency log. Certificate transparency
* makes it possible to detect SSL/TLS certificates that have been mistakenly or
* maliciously issued. Certificates that have not been logged typically produce an
* error message in a browser. </p>
*/
inline void SetOptions(CertificateOptions&& value) { m_optionsHasBeenSet = true; m_options = std::move(value); }
/**
* <p>Use to update the options for your certificate. Currently, you can specify
* whether to add your certificate to a transparency log. Certificate transparency
* makes it possible to detect SSL/TLS certificates that have been mistakenly or
* maliciously issued. Certificates that have not been logged typically produce an
* error message in a browser. </p>
*/
inline UpdateCertificateOptionsRequest& WithOptions(const CertificateOptions& value) { SetOptions(value); return *this;}
/**
* <p>Use to update the options for your certificate. Currently, you can specify
* whether to add your certificate to a transparency log. Certificate transparency
* makes it possible to detect SSL/TLS certificates that have been mistakenly or
* maliciously issued. Certificates that have not been logged typically produce an
* error message in a browser. </p>
*/
inline UpdateCertificateOptionsRequest& WithOptions(CertificateOptions&& value) { SetOptions(std::move(value)); return *this;}
private:
Aws::String m_certificateArn;
bool m_certificateArnHasBeenSet;
CertificateOptions m_options;
bool m_optionsHasBeenSet;
};
} // namespace Model
} // namespace ACM
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/acm/ACM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace ACM
{
namespace Model
{
enum class ValidationMethod
{
NOT_SET,
EMAIL,
DNS
};
namespace ValidationMethodMapper
{
AWS_ACM_API ValidationMethod GetValidationMethodForName(const Aws::String& name);
AWS_ACM_API Aws::String GetNameForValidationMethod(ValidationMethod value);
} // namespace ValidationMethodMapper
} // namespace Model
} // namespace ACM
} // namespace Aws