/** * 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 #include namespace Aws { namespace Transfer { namespace Model { /** */ class ImportCertificateRequest : public TransferRequest { public: AWS_TRANSFER_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_TRANSFER_API Aws::String SerializePayload() const override; AWS_TRANSFER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

Specifies whether this certificate is used for signing or encryption.

*/ inline const CertificateUsageType& GetUsage() const{ return m_usage; } /** *

Specifies whether this certificate is used for signing or encryption.

*/ inline bool UsageHasBeenSet() const { return m_usageHasBeenSet; } /** *

Specifies whether this certificate is used for signing or encryption.

*/ inline void SetUsage(const CertificateUsageType& value) { m_usageHasBeenSet = true; m_usage = value; } /** *

Specifies whether this certificate is used for signing or encryption.

*/ inline void SetUsage(CertificateUsageType&& value) { m_usageHasBeenSet = true; m_usage = std::move(value); } /** *

Specifies whether this certificate is used for signing or encryption.

*/ inline ImportCertificateRequest& WithUsage(const CertificateUsageType& value) { SetUsage(value); return *this;} /** *

Specifies whether this certificate is used for signing or encryption.

*/ inline ImportCertificateRequest& WithUsage(CertificateUsageType&& value) { SetUsage(std::move(value)); return *this;} /** *
  • For the CLI, provide a file path for a certificate in URI format. * For example, --certificate file://encryption-cert.pem. * Alternatively, you can provide the raw content.

  • For the SDK, * specify the raw content of a certificate file. For example, --certificate * "`cat encryption-cert.pem`".

*/ inline const Aws::String& GetCertificate() const{ return m_certificate; } /** *
  • For the CLI, provide a file path for a certificate in URI format. * For example, --certificate file://encryption-cert.pem. * Alternatively, you can provide the raw content.

  • For the SDK, * specify the raw content of a certificate file. For example, --certificate * "`cat encryption-cert.pem`".

*/ inline bool CertificateHasBeenSet() const { return m_certificateHasBeenSet; } /** *
  • For the CLI, provide a file path for a certificate in URI format. * For example, --certificate file://encryption-cert.pem. * Alternatively, you can provide the raw content.

  • For the SDK, * specify the raw content of a certificate file. For example, --certificate * "`cat encryption-cert.pem`".

*/ inline void SetCertificate(const Aws::String& value) { m_certificateHasBeenSet = true; m_certificate = value; } /** *
  • For the CLI, provide a file path for a certificate in URI format. * For example, --certificate file://encryption-cert.pem. * Alternatively, you can provide the raw content.

  • For the SDK, * specify the raw content of a certificate file. For example, --certificate * "`cat encryption-cert.pem`".

*/ inline void SetCertificate(Aws::String&& value) { m_certificateHasBeenSet = true; m_certificate = std::move(value); } /** *
  • For the CLI, provide a file path for a certificate in URI format. * For example, --certificate file://encryption-cert.pem. * Alternatively, you can provide the raw content.

  • For the SDK, * specify the raw content of a certificate file. For example, --certificate * "`cat encryption-cert.pem`".

*/ inline void SetCertificate(const char* value) { m_certificateHasBeenSet = true; m_certificate.assign(value); } /** *
  • For the CLI, provide a file path for a certificate in URI format. * For example, --certificate file://encryption-cert.pem. * Alternatively, you can provide the raw content.

  • For the SDK, * specify the raw content of a certificate file. For example, --certificate * "`cat encryption-cert.pem`".

*/ inline ImportCertificateRequest& WithCertificate(const Aws::String& value) { SetCertificate(value); return *this;} /** *
  • For the CLI, provide a file path for a certificate in URI format. * For example, --certificate file://encryption-cert.pem. * Alternatively, you can provide the raw content.

  • For the SDK, * specify the raw content of a certificate file. For example, --certificate * "`cat encryption-cert.pem`".

*/ inline ImportCertificateRequest& WithCertificate(Aws::String&& value) { SetCertificate(std::move(value)); return *this;} /** *
  • For the CLI, provide a file path for a certificate in URI format. * For example, --certificate file://encryption-cert.pem. * Alternatively, you can provide the raw content.

  • For the SDK, * specify the raw content of a certificate file. For example, --certificate * "`cat encryption-cert.pem`".

*/ inline ImportCertificateRequest& WithCertificate(const char* value) { SetCertificate(value); return *this;} /** *

An optional list of certificates that make up the chain for the certificate * that's being imported.

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

An optional list of certificates that make up the chain for the certificate * that's being imported.

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

An optional list of certificates that make up the chain for the certificate * that's being imported.

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

An optional list of certificates that make up the chain for the certificate * that's being imported.

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

An optional list of certificates that make up the chain for the certificate * that's being imported.

*/ inline void SetCertificateChain(const char* value) { m_certificateChainHasBeenSet = true; m_certificateChain.assign(value); } /** *

An optional list of certificates that make up the chain for the certificate * that's being imported.

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

An optional list of certificates that make up the chain for the certificate * that's being imported.

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

An optional list of certificates that make up the chain for the certificate * that's being imported.

*/ inline ImportCertificateRequest& WithCertificateChain(const char* value) { SetCertificateChain(value); return *this;} /** *
  • For the CLI, provide a file path for a private key in URI * format.For example, --private-key file://encryption-key.pem. * Alternatively, you can provide the raw content of the private key file.

    *
  • For the SDK, specify the raw content of a private key file. For * example, --private-key "`cat encryption-key.pem`"

*/ inline const Aws::String& GetPrivateKey() const{ return m_privateKey; } /** *
  • For the CLI, provide a file path for a private key in URI * format.For example, --private-key file://encryption-key.pem. * Alternatively, you can provide the raw content of the private key file.

    *
  • For the SDK, specify the raw content of a private key file. For * example, --private-key "`cat encryption-key.pem`"

*/ inline bool PrivateKeyHasBeenSet() const { return m_privateKeyHasBeenSet; } /** *
  • For the CLI, provide a file path for a private key in URI * format.For example, --private-key file://encryption-key.pem. * Alternatively, you can provide the raw content of the private key file.

    *
  • For the SDK, specify the raw content of a private key file. For * example, --private-key "`cat encryption-key.pem`"

*/ inline void SetPrivateKey(const Aws::String& value) { m_privateKeyHasBeenSet = true; m_privateKey = value; } /** *
  • For the CLI, provide a file path for a private key in URI * format.For example, --private-key file://encryption-key.pem. * Alternatively, you can provide the raw content of the private key file.

    *
  • For the SDK, specify the raw content of a private key file. For * example, --private-key "`cat encryption-key.pem`"

*/ inline void SetPrivateKey(Aws::String&& value) { m_privateKeyHasBeenSet = true; m_privateKey = std::move(value); } /** *
  • For the CLI, provide a file path for a private key in URI * format.For example, --private-key file://encryption-key.pem. * Alternatively, you can provide the raw content of the private key file.

    *
  • For the SDK, specify the raw content of a private key file. For * example, --private-key "`cat encryption-key.pem`"

*/ inline void SetPrivateKey(const char* value) { m_privateKeyHasBeenSet = true; m_privateKey.assign(value); } /** *
  • For the CLI, provide a file path for a private key in URI * format.For example, --private-key file://encryption-key.pem. * Alternatively, you can provide the raw content of the private key file.

    *
  • For the SDK, specify the raw content of a private key file. For * example, --private-key "`cat encryption-key.pem`"

*/ inline ImportCertificateRequest& WithPrivateKey(const Aws::String& value) { SetPrivateKey(value); return *this;} /** *
  • For the CLI, provide a file path for a private key in URI * format.For example, --private-key file://encryption-key.pem. * Alternatively, you can provide the raw content of the private key file.

    *
  • For the SDK, specify the raw content of a private key file. For * example, --private-key "`cat encryption-key.pem`"

*/ inline ImportCertificateRequest& WithPrivateKey(Aws::String&& value) { SetPrivateKey(std::move(value)); return *this;} /** *
  • For the CLI, provide a file path for a private key in URI * format.For example, --private-key file://encryption-key.pem. * Alternatively, you can provide the raw content of the private key file.

    *
  • For the SDK, specify the raw content of a private key file. For * example, --private-key "`cat encryption-key.pem`"

*/ inline ImportCertificateRequest& WithPrivateKey(const char* value) { SetPrivateKey(value); return *this;} /** *

An optional date that specifies when the certificate becomes active.

*/ inline const Aws::Utils::DateTime& GetActiveDate() const{ return m_activeDate; } /** *

An optional date that specifies when the certificate becomes active.

*/ inline bool ActiveDateHasBeenSet() const { return m_activeDateHasBeenSet; } /** *

An optional date that specifies when the certificate becomes active.

*/ inline void SetActiveDate(const Aws::Utils::DateTime& value) { m_activeDateHasBeenSet = true; m_activeDate = value; } /** *

An optional date that specifies when the certificate becomes active.

*/ inline void SetActiveDate(Aws::Utils::DateTime&& value) { m_activeDateHasBeenSet = true; m_activeDate = std::move(value); } /** *

An optional date that specifies when the certificate becomes active.

*/ inline ImportCertificateRequest& WithActiveDate(const Aws::Utils::DateTime& value) { SetActiveDate(value); return *this;} /** *

An optional date that specifies when the certificate becomes active.

*/ inline ImportCertificateRequest& WithActiveDate(Aws::Utils::DateTime&& value) { SetActiveDate(std::move(value)); return *this;} /** *

An optional date that specifies when the certificate becomes inactive.

*/ inline const Aws::Utils::DateTime& GetInactiveDate() const{ return m_inactiveDate; } /** *

An optional date that specifies when the certificate becomes inactive.

*/ inline bool InactiveDateHasBeenSet() const { return m_inactiveDateHasBeenSet; } /** *

An optional date that specifies when the certificate becomes inactive.

*/ inline void SetInactiveDate(const Aws::Utils::DateTime& value) { m_inactiveDateHasBeenSet = true; m_inactiveDate = value; } /** *

An optional date that specifies when the certificate becomes inactive.

*/ inline void SetInactiveDate(Aws::Utils::DateTime&& value) { m_inactiveDateHasBeenSet = true; m_inactiveDate = std::move(value); } /** *

An optional date that specifies when the certificate becomes inactive.

*/ inline ImportCertificateRequest& WithInactiveDate(const Aws::Utils::DateTime& value) { SetInactiveDate(value); return *this;} /** *

An optional date that specifies when the certificate becomes inactive.

*/ inline ImportCertificateRequest& WithInactiveDate(Aws::Utils::DateTime&& value) { SetInactiveDate(std::move(value)); return *this;} /** *

A short description that helps identify the certificate.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

A short description that helps identify the certificate.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

A short description that helps identify the certificate.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

A short description that helps identify the certificate.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

A short description that helps identify the certificate.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

A short description that helps identify the certificate.

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

A short description that helps identify the certificate.

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

A short description that helps identify the certificate.

*/ inline ImportCertificateRequest& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

Key-value pairs that can be used to group and search for certificates.

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

Key-value pairs that can be used to group and search for certificates.

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

Key-value pairs that can be used to group and search for certificates.

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

Key-value pairs that can be used to group and search for certificates.

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

Key-value pairs that can be used to group and search for certificates.

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

Key-value pairs that can be used to group and search for certificates.

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

Key-value pairs that can be used to group and search for certificates.

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

Key-value pairs that can be used to group and search for certificates.

*/ inline ImportCertificateRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: CertificateUsageType m_usage; bool m_usageHasBeenSet = false; Aws::String m_certificate; bool m_certificateHasBeenSet = false; Aws::String m_certificateChain; bool m_certificateChainHasBeenSet = false; Aws::String m_privateKey; bool m_privateKeyHasBeenSet = false; Aws::Utils::DateTime m_activeDate; bool m_activeDateHasBeenSet = false; Aws::Utils::DateTime m_inactiveDate; bool m_inactiveDateHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace Transfer } // namespace Aws