/** * 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 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 ServerCertificate { public: AWS_IAM_API ServerCertificate(); AWS_IAM_API ServerCertificate(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_IAM_API ServerCertificate& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_IAM_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_IAM_API 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;} /** *

A list of tags that are attached to the server certificate. For more * information about tagging, see Tagging IAM * resources in the IAM User Guide.

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

A list of tags that are attached to the server certificate. For more * information about tagging, see Tagging IAM * resources in the IAM User Guide.

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

A list of tags that are attached to the server certificate. For more * information about tagging, see Tagging IAM * resources in the IAM User Guide.

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

A list of tags that are attached to the server certificate. For more * information about tagging, see Tagging IAM * resources in the IAM User Guide.

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

A list of tags that are attached to the server certificate. For more * information about tagging, see Tagging IAM * resources in the IAM User Guide.

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

A list of tags that are attached to the server certificate. For more * information about tagging, see Tagging IAM * resources in the IAM User Guide.

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

A list of tags that are attached to the server certificate. For more * information about tagging, see Tagging IAM * resources in the IAM User Guide.

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

A list of tags that are attached to the server certificate. For more * information about tagging, see Tagging IAM * resources in the IAM User Guide.

*/ inline ServerCertificate& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: ServerCertificateMetadata m_serverCertificateMetadata; bool m_serverCertificateMetadataHasBeenSet = false; Aws::String m_certificateBody; bool m_certificateBodyHasBeenSet = false; Aws::String m_certificateChain; bool m_certificateChainHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace IAM } // namespace Aws