/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The state of the subject after a read or write operation.See
* Also:
AWS
* API Reference
The ISO-8601 timestamp when the subject was created.
*/ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } /** *The ISO-8601 timestamp when the subject was created.
*/ inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } /** *The ISO-8601 timestamp when the subject was created.
*/ inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } /** *The ISO-8601 timestamp when the subject was created.
*/ inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } /** *The ISO-8601 timestamp when the subject was created.
*/ inline SubjectDetail& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} /** *The ISO-8601 timestamp when the subject was created.
*/ inline SubjectDetail& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} /** *The temporary session credentials vended at the last authenticating call with * this subject.
*/ inline const Aws::VectorThe temporary session credentials vended at the last authenticating call with * this subject.
*/ inline bool CredentialsHasBeenSet() const { return m_credentialsHasBeenSet; } /** *The temporary session credentials vended at the last authenticating call with * this subject.
*/ inline void SetCredentials(const Aws::VectorThe temporary session credentials vended at the last authenticating call with * this subject.
*/ inline void SetCredentials(Aws::VectorThe temporary session credentials vended at the last authenticating call with * this subject.
*/ inline SubjectDetail& WithCredentials(const Aws::VectorThe temporary session credentials vended at the last authenticating call with * this subject.
*/ inline SubjectDetail& WithCredentials(Aws::VectorThe temporary session credentials vended at the last authenticating call with * this subject.
*/ inline SubjectDetail& AddCredentials(const CredentialSummary& value) { m_credentialsHasBeenSet = true; m_credentials.push_back(value); return *this; } /** *The temporary session credentials vended at the last authenticating call with * this subject.
*/ inline SubjectDetail& AddCredentials(CredentialSummary&& value) { m_credentialsHasBeenSet = true; m_credentials.push_back(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 SubjectDetail& WithEnabled(bool value) { SetEnabled(value); return *this;} /** *The specified instance properties associated with the request.
*/ inline const Aws::VectorThe specified instance properties associated with the request.
*/ inline bool InstancePropertiesHasBeenSet() const { return m_instancePropertiesHasBeenSet; } /** *The specified instance properties associated with the request.
*/ inline void SetInstanceProperties(const Aws::VectorThe specified instance properties associated with the request.
*/ inline void SetInstanceProperties(Aws::VectorThe specified instance properties associated with the request.
*/ inline SubjectDetail& WithInstanceProperties(const Aws::VectorThe specified instance properties associated with the request.
*/ inline SubjectDetail& WithInstanceProperties(Aws::VectorThe specified instance properties associated with the request.
*/ inline SubjectDetail& AddInstanceProperties(const InstanceProperty& value) { m_instancePropertiesHasBeenSet = true; m_instanceProperties.push_back(value); return *this; } /** *The specified instance properties associated with the request.
*/ inline SubjectDetail& AddInstanceProperties(InstanceProperty&& value) { m_instancePropertiesHasBeenSet = true; m_instanceProperties.push_back(std::move(value)); return *this; } /** *The ISO-8601 timestamp of the last time this subject requested temporary * session credentials.
*/ inline const Aws::Utils::DateTime& GetLastSeenAt() const{ return m_lastSeenAt; } /** *The ISO-8601 timestamp of the last time this subject requested temporary * session credentials.
*/ inline bool LastSeenAtHasBeenSet() const { return m_lastSeenAtHasBeenSet; } /** *The ISO-8601 timestamp of the last time this subject requested temporary * session credentials.
*/ inline void SetLastSeenAt(const Aws::Utils::DateTime& value) { m_lastSeenAtHasBeenSet = true; m_lastSeenAt = value; } /** *The ISO-8601 timestamp of the last time this subject requested temporary * session credentials.
*/ inline void SetLastSeenAt(Aws::Utils::DateTime&& value) { m_lastSeenAtHasBeenSet = true; m_lastSeenAt = std::move(value); } /** *The ISO-8601 timestamp of the last time this subject requested temporary * session credentials.
*/ inline SubjectDetail& WithLastSeenAt(const Aws::Utils::DateTime& value) { SetLastSeenAt(value); return *this;} /** *The ISO-8601 timestamp of the last time this subject requested temporary * session credentials.
*/ inline SubjectDetail& 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 SubjectDetail& WithSubjectArn(const Aws::String& value) { SetSubjectArn(value); return *this;} /** *The ARN of the resource.
*/ inline SubjectDetail& WithSubjectArn(Aws::String&& value) { SetSubjectArn(std::move(value)); return *this;} /** *The ARN of the resource.
*/ inline SubjectDetail& 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 SubjectDetail& WithSubjectId(const Aws::String& value) { SetSubjectId(value); return *this;} /** *The id of the resource
*/ inline SubjectDetail& WithSubjectId(Aws::String&& value) { SetSubjectId(std::move(value)); return *this;} /** *The id of the resource
*/ inline SubjectDetail& 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 SubjectDetail& WithUpdatedAt(const Aws::Utils::DateTime& value) { SetUpdatedAt(value); return *this;} /** *The ISO-8601 timestamp when the subject was last updated.
*/ inline SubjectDetail& 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 SubjectDetail& WithX509Subject(const Aws::String& value) { SetX509Subject(value); return *this;} /** *The x509 principal identifier of the authenticating certificate.
*/ inline SubjectDetail& WithX509Subject(Aws::String&& value) { SetX509Subject(std::move(value)); return *this;} /** *The x509 principal identifier of the authenticating certificate.
*/ inline SubjectDetail& WithX509Subject(const char* value) { SetX509Subject(value); return *this;} private: Aws::Utils::DateTime m_createdAt; bool m_createdAtHasBeenSet = false; Aws::Vector