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

A summary representation of subjects.

See Also:

AWS * API Reference

*/ class SubjectSummary { public: AWS_ROLESANYWHERE_API SubjectSummary(); AWS_ROLESANYWHERE_API SubjectSummary(Aws::Utils::Json::JsonView jsonValue); AWS_ROLESANYWHERE_API SubjectSummary& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_ROLESANYWHERE_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The ISO-8601 time stamp of when the certificate was first used in a temporary * credential request.

*/ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } /** *

The ISO-8601 time stamp of when the certificate was first used in a temporary * credential request.

*/ inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } /** *

The ISO-8601 time stamp of when the certificate was first used in a temporary * credential request.

*/ inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } /** *

The ISO-8601 time stamp of when the certificate was first used in a temporary * credential request.

*/ inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } /** *

The ISO-8601 time stamp of when the certificate was first used in a temporary * credential request.

*/ inline SubjectSummary& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} /** *

The ISO-8601 time stamp of when the certificate was first used in a temporary * credential request.

*/ inline SubjectSummary& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} /** *

The enabled status of the subject.

*/ inline bool GetEnabled() const{ return m_enabled; } /** *

The enabled status of the subject.

*/ inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } /** *

The enabled status of the subject.

*/ inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } /** *

The enabled status of the subject.

*/ inline SubjectSummary& WithEnabled(bool value) { SetEnabled(value); return *this;} /** *

The ISO-8601 time stamp of when the certificate was last used in a temporary * credential request.

*/ inline const Aws::Utils::DateTime& GetLastSeenAt() const{ return m_lastSeenAt; } /** *

The ISO-8601 time stamp of when the certificate was last used in a temporary * credential request.

*/ inline bool LastSeenAtHasBeenSet() const { return m_lastSeenAtHasBeenSet; } /** *

The ISO-8601 time stamp of when the certificate was last used in a temporary * credential request.

*/ inline void SetLastSeenAt(const Aws::Utils::DateTime& value) { m_lastSeenAtHasBeenSet = true; m_lastSeenAt = value; } /** *

The ISO-8601 time stamp of when the certificate was last used in a temporary * credential request.

*/ inline void SetLastSeenAt(Aws::Utils::DateTime&& value) { m_lastSeenAtHasBeenSet = true; m_lastSeenAt = std::move(value); } /** *

The ISO-8601 time stamp of when the certificate was last used in a temporary * credential request.

*/ inline SubjectSummary& WithLastSeenAt(const Aws::Utils::DateTime& value) { SetLastSeenAt(value); return *this;} /** *

The ISO-8601 time stamp of when the certificate was last used in a temporary * credential request.

*/ inline SubjectSummary& WithLastSeenAt(Aws::Utils::DateTime&& value) { SetLastSeenAt(std::move(value)); return *this;} /** *

The ARN of the resource.

*/ inline const Aws::String& GetSubjectArn() const{ return m_subjectArn; } /** *

The ARN of the resource.

*/ inline bool SubjectArnHasBeenSet() const { return m_subjectArnHasBeenSet; } /** *

The ARN of the resource.

*/ inline void SetSubjectArn(const Aws::String& value) { m_subjectArnHasBeenSet = true; m_subjectArn = value; } /** *

The ARN of the resource.

*/ inline void SetSubjectArn(Aws::String&& value) { m_subjectArnHasBeenSet = true; m_subjectArn = std::move(value); } /** *

The ARN of the resource.

*/ inline void SetSubjectArn(const char* value) { m_subjectArnHasBeenSet = true; m_subjectArn.assign(value); } /** *

The ARN of the resource.

*/ inline SubjectSummary& WithSubjectArn(const Aws::String& value) { SetSubjectArn(value); return *this;} /** *

The ARN of the resource.

*/ inline SubjectSummary& WithSubjectArn(Aws::String&& value) { SetSubjectArn(std::move(value)); return *this;} /** *

The ARN of the resource.

*/ inline SubjectSummary& WithSubjectArn(const char* value) { SetSubjectArn(value); return *this;} /** *

The id of the resource.

*/ inline const Aws::String& GetSubjectId() const{ return m_subjectId; } /** *

The id of the resource.

*/ inline bool SubjectIdHasBeenSet() const { return m_subjectIdHasBeenSet; } /** *

The id of the resource.

*/ inline void SetSubjectId(const Aws::String& value) { m_subjectIdHasBeenSet = true; m_subjectId = value; } /** *

The id of the resource.

*/ inline void SetSubjectId(Aws::String&& value) { m_subjectIdHasBeenSet = true; m_subjectId = std::move(value); } /** *

The id of the resource.

*/ inline void SetSubjectId(const char* value) { m_subjectIdHasBeenSet = true; m_subjectId.assign(value); } /** *

The id of the resource.

*/ inline SubjectSummary& WithSubjectId(const Aws::String& value) { SetSubjectId(value); return *this;} /** *

The id of the resource.

*/ inline SubjectSummary& WithSubjectId(Aws::String&& value) { SetSubjectId(std::move(value)); return *this;} /** *

The id of the resource.

*/ inline SubjectSummary& WithSubjectId(const char* value) { SetSubjectId(value); return *this;} /** *

The ISO-8601 timestamp when the subject was last updated.

*/ inline const Aws::Utils::DateTime& GetUpdatedAt() const{ return m_updatedAt; } /** *

The ISO-8601 timestamp when the subject was last updated.

*/ inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; } /** *

The ISO-8601 timestamp when the subject was last updated.

*/ inline void SetUpdatedAt(const Aws::Utils::DateTime& value) { m_updatedAtHasBeenSet = true; m_updatedAt = value; } /** *

The ISO-8601 timestamp when the subject was last updated.

*/ inline void SetUpdatedAt(Aws::Utils::DateTime&& value) { m_updatedAtHasBeenSet = true; m_updatedAt = std::move(value); } /** *

The ISO-8601 timestamp when the subject was last updated.

*/ inline SubjectSummary& WithUpdatedAt(const Aws::Utils::DateTime& value) { SetUpdatedAt(value); return *this;} /** *

The ISO-8601 timestamp when the subject was last updated.

*/ inline SubjectSummary& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;} /** *

The x509 principal identifier of the authenticating certificate.

*/ inline const Aws::String& GetX509Subject() const{ return m_x509Subject; } /** *

The x509 principal identifier of the authenticating certificate.

*/ inline bool X509SubjectHasBeenSet() const { return m_x509SubjectHasBeenSet; } /** *

The x509 principal identifier of the authenticating certificate.

*/ inline void SetX509Subject(const Aws::String& value) { m_x509SubjectHasBeenSet = true; m_x509Subject = value; } /** *

The x509 principal identifier of the authenticating certificate.

*/ inline void SetX509Subject(Aws::String&& value) { m_x509SubjectHasBeenSet = true; m_x509Subject = std::move(value); } /** *

The x509 principal identifier of the authenticating certificate.

*/ inline void SetX509Subject(const char* value) { m_x509SubjectHasBeenSet = true; m_x509Subject.assign(value); } /** *

The x509 principal identifier of the authenticating certificate.

*/ inline SubjectSummary& WithX509Subject(const Aws::String& value) { SetX509Subject(value); return *this;} /** *

The x509 principal identifier of the authenticating certificate.

*/ inline SubjectSummary& WithX509Subject(Aws::String&& value) { SetX509Subject(std::move(value)); return *this;} /** *

The x509 principal identifier of the authenticating certificate.

*/ inline SubjectSummary& WithX509Subject(const char* value) { SetX509Subject(value); return *this;} private: Aws::Utils::DateTime m_createdAt; bool m_createdAtHasBeenSet = false; bool m_enabled; bool m_enabledHasBeenSet = false; Aws::Utils::DateTime m_lastSeenAt; bool m_lastSeenAtHasBeenSet = false; Aws::String m_subjectArn; bool m_subjectArnHasBeenSet = false; Aws::String m_subjectId; bool m_subjectIdHasBeenSet = false; Aws::Utils::DateTime m_updatedAt; bool m_updatedAtHasBeenSet = false; Aws::String m_x509Subject; bool m_x509SubjectHasBeenSet = false; }; } // namespace Model } // namespace RolesAnywhere } // namespace Aws