/** * 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 without its certificate body, * certificate chain, and private key.

This data type is used as a response * element in the UploadServerCertificate and ListServerCertificates * operations.

See Also:

AWS * API Reference

*/ class ServerCertificateMetadata { public: AWS_IAM_API ServerCertificateMetadata(); AWS_IAM_API ServerCertificateMetadata(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_IAM_API ServerCertificateMetadata& 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 path to the server certificate. For more information about paths, see IAM * identifiers in the IAM User Guide.

*/ inline const Aws::String& GetPath() const{ return m_path; } /** *

The path to the server certificate. For more information about paths, see IAM * identifiers in the IAM User Guide.

*/ inline bool PathHasBeenSet() const { return m_pathHasBeenSet; } /** *

The path to the server certificate. For more information about paths, see IAM * identifiers in the IAM User Guide.

*/ inline void SetPath(const Aws::String& value) { m_pathHasBeenSet = true; m_path = value; } /** *

The path to the server certificate. For more information about paths, see IAM * identifiers in the IAM User Guide.

*/ inline void SetPath(Aws::String&& value) { m_pathHasBeenSet = true; m_path = std::move(value); } /** *

The path to the server certificate. For more information about paths, see IAM * identifiers in the IAM User Guide.

*/ inline void SetPath(const char* value) { m_pathHasBeenSet = true; m_path.assign(value); } /** *

The path to the server certificate. For more information about paths, see IAM * identifiers in the IAM User Guide.

*/ inline ServerCertificateMetadata& WithPath(const Aws::String& value) { SetPath(value); return *this;} /** *

The path to the server certificate. For more information about paths, see IAM * identifiers in the IAM User Guide.

*/ inline ServerCertificateMetadata& WithPath(Aws::String&& value) { SetPath(std::move(value)); return *this;} /** *

The path to the server certificate. For more information about paths, see IAM * identifiers in the IAM User Guide.

*/ inline ServerCertificateMetadata& WithPath(const char* value) { SetPath(value); return *this;} /** *

The name that identifies the server certificate.

*/ inline const Aws::String& GetServerCertificateName() const{ return m_serverCertificateName; } /** *

The name that identifies the server certificate.

*/ inline bool ServerCertificateNameHasBeenSet() const { return m_serverCertificateNameHasBeenSet; } /** *

The name that identifies the server certificate.

*/ inline void SetServerCertificateName(const Aws::String& value) { m_serverCertificateNameHasBeenSet = true; m_serverCertificateName = value; } /** *

The name that identifies the server certificate.

*/ inline void SetServerCertificateName(Aws::String&& value) { m_serverCertificateNameHasBeenSet = true; m_serverCertificateName = std::move(value); } /** *

The name that identifies the server certificate.

*/ inline void SetServerCertificateName(const char* value) { m_serverCertificateNameHasBeenSet = true; m_serverCertificateName.assign(value); } /** *

The name that identifies the server certificate.

*/ inline ServerCertificateMetadata& WithServerCertificateName(const Aws::String& value) { SetServerCertificateName(value); return *this;} /** *

The name that identifies the server certificate.

*/ inline ServerCertificateMetadata& WithServerCertificateName(Aws::String&& value) { SetServerCertificateName(std::move(value)); return *this;} /** *

The name that identifies the server certificate.

*/ inline ServerCertificateMetadata& WithServerCertificateName(const char* value) { SetServerCertificateName(value); return *this;} /** *

The stable and unique string identifying the server certificate. For more * information about IDs, see IAM * identifiers in the IAM User Guide.

*/ inline const Aws::String& GetServerCertificateId() const{ return m_serverCertificateId; } /** *

The stable and unique string identifying the server certificate. For more * information about IDs, see IAM * identifiers in the IAM User Guide.

*/ inline bool ServerCertificateIdHasBeenSet() const { return m_serverCertificateIdHasBeenSet; } /** *

The stable and unique string identifying the server certificate. For more * information about IDs, see IAM * identifiers in the IAM User Guide.

*/ inline void SetServerCertificateId(const Aws::String& value) { m_serverCertificateIdHasBeenSet = true; m_serverCertificateId = value; } /** *

The stable and unique string identifying the server certificate. For more * information about IDs, see IAM * identifiers in the IAM User Guide.

*/ inline void SetServerCertificateId(Aws::String&& value) { m_serverCertificateIdHasBeenSet = true; m_serverCertificateId = std::move(value); } /** *

The stable and unique string identifying the server certificate. For more * information about IDs, see IAM * identifiers in the IAM User Guide.

*/ inline void SetServerCertificateId(const char* value) { m_serverCertificateIdHasBeenSet = true; m_serverCertificateId.assign(value); } /** *

The stable and unique string identifying the server certificate. For more * information about IDs, see IAM * identifiers in the IAM User Guide.

*/ inline ServerCertificateMetadata& WithServerCertificateId(const Aws::String& value) { SetServerCertificateId(value); return *this;} /** *

The stable and unique string identifying the server certificate. For more * information about IDs, see IAM * identifiers in the IAM User Guide.

*/ inline ServerCertificateMetadata& WithServerCertificateId(Aws::String&& value) { SetServerCertificateId(std::move(value)); return *this;} /** *

The stable and unique string identifying the server certificate. For more * information about IDs, see IAM * identifiers in the IAM User Guide.

*/ inline ServerCertificateMetadata& WithServerCertificateId(const char* value) { SetServerCertificateId(value); return *this;} /** *

The Amazon Resource Name (ARN) specifying the server certificate. For more * information about ARNs and how to use them in policies, see IAM * identifiers in the IAM User Guide.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

The Amazon Resource Name (ARN) specifying the server certificate. For more * information about ARNs and how to use them in policies, see IAM * identifiers in the IAM User Guide.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

The Amazon Resource Name (ARN) specifying the server certificate. For more * information about ARNs and how to use them in policies, see IAM * identifiers in the IAM User Guide.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

The Amazon Resource Name (ARN) specifying the server certificate. For more * information about ARNs and how to use them in policies, see IAM * identifiers in the IAM User Guide.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

The Amazon Resource Name (ARN) specifying the server certificate. For more * information about ARNs and how to use them in policies, see IAM * identifiers in the IAM User Guide.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

The Amazon Resource Name (ARN) specifying the server certificate. For more * information about ARNs and how to use them in policies, see IAM * identifiers in the IAM User Guide.

*/ inline ServerCertificateMetadata& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

The Amazon Resource Name (ARN) specifying the server certificate. For more * information about ARNs and how to use them in policies, see IAM * identifiers in the IAM User Guide.

*/ inline ServerCertificateMetadata& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) specifying the server certificate. For more * information about ARNs and how to use them in policies, see IAM * identifiers in the IAM User Guide.

*/ inline ServerCertificateMetadata& WithArn(const char* value) { SetArn(value); return *this;} /** *

The date when the server certificate was uploaded.

*/ inline const Aws::Utils::DateTime& GetUploadDate() const{ return m_uploadDate; } /** *

The date when the server certificate was uploaded.

*/ inline bool UploadDateHasBeenSet() const { return m_uploadDateHasBeenSet; } /** *

The date when the server certificate was uploaded.

*/ inline void SetUploadDate(const Aws::Utils::DateTime& value) { m_uploadDateHasBeenSet = true; m_uploadDate = value; } /** *

The date when the server certificate was uploaded.

*/ inline void SetUploadDate(Aws::Utils::DateTime&& value) { m_uploadDateHasBeenSet = true; m_uploadDate = std::move(value); } /** *

The date when the server certificate was uploaded.

*/ inline ServerCertificateMetadata& WithUploadDate(const Aws::Utils::DateTime& value) { SetUploadDate(value); return *this;} /** *

The date when the server certificate was uploaded.

*/ inline ServerCertificateMetadata& WithUploadDate(Aws::Utils::DateTime&& value) { SetUploadDate(std::move(value)); return *this;} /** *

The date on which the certificate is set to expire.

*/ inline const Aws::Utils::DateTime& GetExpiration() const{ return m_expiration; } /** *

The date on which the certificate is set to expire.

*/ inline bool ExpirationHasBeenSet() const { return m_expirationHasBeenSet; } /** *

The date on which the certificate is set to expire.

*/ inline void SetExpiration(const Aws::Utils::DateTime& value) { m_expirationHasBeenSet = true; m_expiration = value; } /** *

The date on which the certificate is set to expire.

*/ inline void SetExpiration(Aws::Utils::DateTime&& value) { m_expirationHasBeenSet = true; m_expiration = std::move(value); } /** *

The date on which the certificate is set to expire.

*/ inline ServerCertificateMetadata& WithExpiration(const Aws::Utils::DateTime& value) { SetExpiration(value); return *this;} /** *

The date on which the certificate is set to expire.

*/ inline ServerCertificateMetadata& WithExpiration(Aws::Utils::DateTime&& value) { SetExpiration(std::move(value)); return *this;} private: Aws::String m_path; bool m_pathHasBeenSet = false; Aws::String m_serverCertificateName; bool m_serverCertificateNameHasBeenSet = false; Aws::String m_serverCertificateId; bool m_serverCertificateIdHasBeenSet = false; Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::Utils::DateTime m_uploadDate; bool m_uploadDateHasBeenSet = false; Aws::Utils::DateTime m_expiration; bool m_expirationHasBeenSet = false; }; } // namespace Model } // namespace IAM } // namespace Aws