/** * 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 Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace Redshift { namespace Model { /** *

Contains information about the custom domain name association.

See * Also:

AWS * API Reference

*/ class Association { public: AWS_REDSHIFT_API Association(); AWS_REDSHIFT_API Association(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_REDSHIFT_API Association& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_REDSHIFT_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_REDSHIFT_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The Amazon Resource Name (ARN) for the certificate associated with the custom * domain.

*/ inline const Aws::String& GetCustomDomainCertificateArn() const{ return m_customDomainCertificateArn; } /** *

The Amazon Resource Name (ARN) for the certificate associated with the custom * domain.

*/ inline bool CustomDomainCertificateArnHasBeenSet() const { return m_customDomainCertificateArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) for the certificate associated with the custom * domain.

*/ inline void SetCustomDomainCertificateArn(const Aws::String& value) { m_customDomainCertificateArnHasBeenSet = true; m_customDomainCertificateArn = value; } /** *

The Amazon Resource Name (ARN) for the certificate associated with the custom * domain.

*/ inline void SetCustomDomainCertificateArn(Aws::String&& value) { m_customDomainCertificateArnHasBeenSet = true; m_customDomainCertificateArn = std::move(value); } /** *

The Amazon Resource Name (ARN) for the certificate associated with the custom * domain.

*/ inline void SetCustomDomainCertificateArn(const char* value) { m_customDomainCertificateArnHasBeenSet = true; m_customDomainCertificateArn.assign(value); } /** *

The Amazon Resource Name (ARN) for the certificate associated with the custom * domain.

*/ inline Association& WithCustomDomainCertificateArn(const Aws::String& value) { SetCustomDomainCertificateArn(value); return *this;} /** *

The Amazon Resource Name (ARN) for the certificate associated with the custom * domain.

*/ inline Association& WithCustomDomainCertificateArn(Aws::String&& value) { SetCustomDomainCertificateArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) for the certificate associated with the custom * domain.

*/ inline Association& WithCustomDomainCertificateArn(const char* value) { SetCustomDomainCertificateArn(value); return *this;} /** *

The expiration date for the certificate.

*/ inline const Aws::Utils::DateTime& GetCustomDomainCertificateExpiryDate() const{ return m_customDomainCertificateExpiryDate; } /** *

The expiration date for the certificate.

*/ inline bool CustomDomainCertificateExpiryDateHasBeenSet() const { return m_customDomainCertificateExpiryDateHasBeenSet; } /** *

The expiration date for the certificate.

*/ inline void SetCustomDomainCertificateExpiryDate(const Aws::Utils::DateTime& value) { m_customDomainCertificateExpiryDateHasBeenSet = true; m_customDomainCertificateExpiryDate = value; } /** *

The expiration date for the certificate.

*/ inline void SetCustomDomainCertificateExpiryDate(Aws::Utils::DateTime&& value) { m_customDomainCertificateExpiryDateHasBeenSet = true; m_customDomainCertificateExpiryDate = std::move(value); } /** *

The expiration date for the certificate.

*/ inline Association& WithCustomDomainCertificateExpiryDate(const Aws::Utils::DateTime& value) { SetCustomDomainCertificateExpiryDate(value); return *this;} /** *

The expiration date for the certificate.

*/ inline Association& WithCustomDomainCertificateExpiryDate(Aws::Utils::DateTime&& value) { SetCustomDomainCertificateExpiryDate(std::move(value)); return *this;} /** *

A list of all associated clusters and domain names tied to a specific * certificate.

*/ inline const Aws::Vector& GetCertificateAssociations() const{ return m_certificateAssociations; } /** *

A list of all associated clusters and domain names tied to a specific * certificate.

*/ inline bool CertificateAssociationsHasBeenSet() const { return m_certificateAssociationsHasBeenSet; } /** *

A list of all associated clusters and domain names tied to a specific * certificate.

*/ inline void SetCertificateAssociations(const Aws::Vector& value) { m_certificateAssociationsHasBeenSet = true; m_certificateAssociations = value; } /** *

A list of all associated clusters and domain names tied to a specific * certificate.

*/ inline void SetCertificateAssociations(Aws::Vector&& value) { m_certificateAssociationsHasBeenSet = true; m_certificateAssociations = std::move(value); } /** *

A list of all associated clusters and domain names tied to a specific * certificate.

*/ inline Association& WithCertificateAssociations(const Aws::Vector& value) { SetCertificateAssociations(value); return *this;} /** *

A list of all associated clusters and domain names tied to a specific * certificate.

*/ inline Association& WithCertificateAssociations(Aws::Vector&& value) { SetCertificateAssociations(std::move(value)); return *this;} /** *

A list of all associated clusters and domain names tied to a specific * certificate.

*/ inline Association& AddCertificateAssociations(const CertificateAssociation& value) { m_certificateAssociationsHasBeenSet = true; m_certificateAssociations.push_back(value); return *this; } /** *

A list of all associated clusters and domain names tied to a specific * certificate.

*/ inline Association& AddCertificateAssociations(CertificateAssociation&& value) { m_certificateAssociationsHasBeenSet = true; m_certificateAssociations.push_back(std::move(value)); return *this; } private: Aws::String m_customDomainCertificateArn; bool m_customDomainCertificateArnHasBeenSet = false; Aws::Utils::DateTime m_customDomainCertificateExpiryDate; bool m_customDomainCertificateExpiryDateHasBeenSet = false; Aws::Vector m_certificateAssociations; bool m_certificateAssociationsHasBeenSet = false; }; } // namespace Model } // namespace Redshift } // namespace Aws