/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace IAM { namespace Model { /** *

Contains information about a server certificate.

This data type is * used as a response element in the GetServerCertificate operation. *

See Also:

AWS * API Reference

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

The meta information of the server certificate, such as its name, path, ID, * and ARN.

*/ inline const ServerCertificateMetadata& GetServerCertificateMetadata() const{ return m_serverCertificateMetadata; } /** *

The meta information of the server certificate, such as its name, path, ID, * and ARN.

*/ inline bool ServerCertificateMetadataHasBeenSet() const { return m_serverCertificateMetadataHasBeenSet; } /** *

The meta information of the server certificate, such as its name, path, ID, * and ARN.

*/ inline void SetServerCertificateMetadata(const ServerCertificateMetadata& value) { m_serverCertificateMetadataHasBeenSet = true; m_serverCertificateMetadata = value; } /** *

The meta information of the server certificate, such as its name, path, ID, * and ARN.

*/ inline void SetServerCertificateMetadata(ServerCertificateMetadata&& value) { m_serverCertificateMetadataHasBeenSet = true; m_serverCertificateMetadata = std::move(value); } /** *

The meta information of the server certificate, such as its name, path, ID, * and ARN.

*/ inline ServerCertificate& WithServerCertificateMetadata(const ServerCertificateMetadata& value) { SetServerCertificateMetadata(value); return *this;} /** *

The meta information of the server certificate, such as its name, path, ID, * and ARN.

*/ inline ServerCertificate& WithServerCertificateMetadata(ServerCertificateMetadata&& value) { SetServerCertificateMetadata(std::move(value)); return *this;} /** *

The contents of the public key certificate.

*/ inline const Aws::String& GetCertificateBody() const{ return m_certificateBody; } /** *

The contents of the public key certificate.

*/ inline bool CertificateBodyHasBeenSet() const { return m_certificateBodyHasBeenSet; } /** *

The contents of the public key certificate.

*/ inline void SetCertificateBody(const Aws::String& value) { m_certificateBodyHasBeenSet = true; m_certificateBody = value; } /** *

The contents of the public key certificate.

*/ inline void SetCertificateBody(Aws::String&& value) { m_certificateBodyHasBeenSet = true; m_certificateBody = std::move(value); } /** *

The contents of the public key certificate.

*/ inline void SetCertificateBody(const char* value) { m_certificateBodyHasBeenSet = true; m_certificateBody.assign(value); } /** *

The contents of the public key certificate.

*/ inline ServerCertificate& WithCertificateBody(const Aws::String& value) { SetCertificateBody(value); return *this;} /** *

The contents of the public key certificate.

*/ inline ServerCertificate& WithCertificateBody(Aws::String&& value) { SetCertificateBody(std::move(value)); return *this;} /** *

The contents of the public key certificate.

*/ inline ServerCertificate& WithCertificateBody(const char* value) { SetCertificateBody(value); return *this;} /** *

The contents of the public key certificate chain.

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

The contents of the public key certificate chain.

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

The contents of the public key certificate chain.

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

The contents of the public key certificate chain.

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

The contents of the public key certificate chain.

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

The contents of the public key certificate chain.

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

The contents of the public key certificate chain.

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

The contents of the public key certificate chain.

*/ inline ServerCertificate& WithCertificateChain(const char* value) { SetCertificateChain(value); return *this;} private: ServerCertificateMetadata m_serverCertificateMetadata; bool m_serverCertificateMetadataHasBeenSet; Aws::String m_certificateBody; bool m_certificateBodyHasBeenSet; Aws::String m_certificateChain; bool m_certificateChainHasBeenSet; }; } // namespace Model } // namespace IAM } // namespace Aws