/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace ACM { namespace Model { /** */ class ImportCertificateRequest : public ACMRequest { public: AWS_ACM_API 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_ACM_API Aws::String SerializePayload() const override; AWS_ACM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The Amazon * Resource Name (ARN) of an imported certificate to replace. To import a new * certificate, omit this field.

*/ inline const Aws::String& GetCertificateArn() const{ return m_certificateArn; } /** *

The Amazon * Resource Name (ARN) of an imported certificate to replace. To import a new * certificate, omit this field.

*/ inline bool CertificateArnHasBeenSet() const { return m_certificateArnHasBeenSet; } /** *

The Amazon * Resource Name (ARN) of an imported certificate to replace. To import a new * certificate, omit this field.

*/ inline void SetCertificateArn(const Aws::String& value) { m_certificateArnHasBeenSet = true; m_certificateArn = value; } /** *

The Amazon * Resource Name (ARN) of an imported certificate to replace. To import a new * certificate, omit this field.

*/ inline void SetCertificateArn(Aws::String&& value) { m_certificateArnHasBeenSet = true; m_certificateArn = std::move(value); } /** *

The Amazon * Resource Name (ARN) of an imported certificate to replace. To import a new * certificate, omit this field.

*/ inline void SetCertificateArn(const char* value) { m_certificateArnHasBeenSet = true; m_certificateArn.assign(value); } /** *

The Amazon * Resource Name (ARN) of an imported certificate to replace. To import a new * certificate, omit this field.

*/ inline ImportCertificateRequest& WithCertificateArn(const Aws::String& value) { SetCertificateArn(value); return *this;} /** *

The Amazon * Resource Name (ARN) of an imported certificate to replace. To import a new * certificate, omit this field.

*/ inline ImportCertificateRequest& WithCertificateArn(Aws::String&& value) { SetCertificateArn(std::move(value)); return *this;} /** *

The Amazon * Resource Name (ARN) of an imported certificate to replace. To import a new * certificate, omit this field.

*/ inline ImportCertificateRequest& WithCertificateArn(const char* value) { SetCertificateArn(value); return *this;} /** *

The certificate to import.

*/ inline const Aws::Utils::ByteBuffer& GetCertificate() const{ return m_certificate; } /** *

The certificate to import.

*/ inline bool CertificateHasBeenSet() const { return m_certificateHasBeenSet; } /** *

The certificate to import.

*/ inline void SetCertificate(const Aws::Utils::ByteBuffer& value) { m_certificateHasBeenSet = true; m_certificate = value; } /** *

The certificate to import.

*/ inline void SetCertificate(Aws::Utils::ByteBuffer&& value) { m_certificateHasBeenSet = true; m_certificate = std::move(value); } /** *

The certificate to import.

*/ inline ImportCertificateRequest& WithCertificate(const Aws::Utils::ByteBuffer& value) { SetCertificate(value); return *this;} /** *

The certificate to import.

*/ inline ImportCertificateRequest& WithCertificate(Aws::Utils::ByteBuffer&& value) { SetCertificate(std::move(value)); return *this;} /** *

The private key that matches the public key in the certificate.

*/ inline const Aws::Utils::CryptoBuffer& GetPrivateKey() const{ return m_privateKey; } /** *

The private key that matches the public key in the certificate.

*/ inline bool PrivateKeyHasBeenSet() const { return m_privateKeyHasBeenSet; } /** *

The private key that matches the public key in the certificate.

*/ inline void SetPrivateKey(const Aws::Utils::CryptoBuffer& value) { m_privateKeyHasBeenSet = true; m_privateKey = value; } /** *

The private key that matches the public key in the certificate.

*/ inline void SetPrivateKey(Aws::Utils::CryptoBuffer&& value) { m_privateKeyHasBeenSet = true; m_privateKey = std::move(value); } /** *

The private key that matches the public key in the certificate.

*/ inline ImportCertificateRequest& WithPrivateKey(const Aws::Utils::CryptoBuffer& value) { SetPrivateKey(value); return *this;} /** *

The private key that matches the public key in the certificate.

*/ inline ImportCertificateRequest& WithPrivateKey(Aws::Utils::CryptoBuffer&& value) { SetPrivateKey(std::move(value)); return *this;} /** *

The PEM encoded certificate chain.

*/ inline const Aws::Utils::ByteBuffer& GetCertificateChain() const{ return m_certificateChain; } /** *

The PEM encoded certificate chain.

*/ inline bool CertificateChainHasBeenSet() const { return m_certificateChainHasBeenSet; } /** *

The PEM encoded certificate chain.

*/ inline void SetCertificateChain(const Aws::Utils::ByteBuffer& value) { m_certificateChainHasBeenSet = true; m_certificateChain = value; } /** *

The PEM encoded certificate chain.

*/ inline void SetCertificateChain(Aws::Utils::ByteBuffer&& value) { m_certificateChainHasBeenSet = true; m_certificateChain = std::move(value); } /** *

The PEM encoded certificate chain.

*/ inline ImportCertificateRequest& WithCertificateChain(const Aws::Utils::ByteBuffer& value) { SetCertificateChain(value); return *this;} /** *

The PEM encoded certificate chain.

*/ inline ImportCertificateRequest& WithCertificateChain(Aws::Utils::ByteBuffer&& value) { SetCertificateChain(std::move(value)); return *this;} /** *

One or more resource tags to associate with the imported certificate.

*

Note: You cannot apply tags when reimporting a certificate.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

One or more resource tags to associate with the imported certificate.

*

Note: You cannot apply tags when reimporting a certificate.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

One or more resource tags to associate with the imported certificate.

*

Note: You cannot apply tags when reimporting a certificate.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

One or more resource tags to associate with the imported certificate.

*

Note: You cannot apply tags when reimporting a certificate.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

One or more resource tags to associate with the imported certificate.

*

Note: You cannot apply tags when reimporting a certificate.

*/ inline ImportCertificateRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

One or more resource tags to associate with the imported certificate.

*

Note: You cannot apply tags when reimporting a certificate.

*/ inline ImportCertificateRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

One or more resource tags to associate with the imported certificate.

*

Note: You cannot apply tags when reimporting a certificate.

*/ inline ImportCertificateRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

One or more resource tags to associate with the imported certificate.

*

Note: You cannot apply tags when reimporting a certificate.

*/ 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 = false; Aws::Utils::ByteBuffer m_certificate; bool m_certificateHasBeenSet = false; Aws::Utils::CryptoBuffer m_privateKey; bool m_privateKeyHasBeenSet = false; Aws::Utils::ByteBuffer m_certificateChain; bool m_certificateChainHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace ACM } // namespace Aws