/** * 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 SecurityHub { namespace Model { /** *

The details about a member account.

See Also:

AWS * API Reference

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

The Amazon Web Services account ID of the member account.

*/ inline const Aws::String& GetAccountId() const{ return m_accountId; } /** *

The Amazon Web Services account ID of the member account.

*/ inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } /** *

The Amazon Web Services account ID of the member account.

*/ inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } /** *

The Amazon Web Services account ID of the member account.

*/ inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } /** *

The Amazon Web Services account ID of the member account.

*/ inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } /** *

The Amazon Web Services account ID of the member account.

*/ inline Member& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} /** *

The Amazon Web Services account ID of the member account.

*/ inline Member& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} /** *

The Amazon Web Services account ID of the member account.

*/ inline Member& WithAccountId(const char* value) { SetAccountId(value); return *this;} /** *

The email address of the member account.

*/ inline const Aws::String& GetEmail() const{ return m_email; } /** *

The email address of the member account.

*/ inline bool EmailHasBeenSet() const { return m_emailHasBeenSet; } /** *

The email address of the member account.

*/ inline void SetEmail(const Aws::String& value) { m_emailHasBeenSet = true; m_email = value; } /** *

The email address of the member account.

*/ inline void SetEmail(Aws::String&& value) { m_emailHasBeenSet = true; m_email = std::move(value); } /** *

The email address of the member account.

*/ inline void SetEmail(const char* value) { m_emailHasBeenSet = true; m_email.assign(value); } /** *

The email address of the member account.

*/ inline Member& WithEmail(const Aws::String& value) { SetEmail(value); return *this;} /** *

The email address of the member account.

*/ inline Member& WithEmail(Aws::String&& value) { SetEmail(std::move(value)); return *this;} /** *

The email address of the member account.

*/ inline Member& WithEmail(const char* value) { SetEmail(value); return *this;} /** *

The Amazon Web Services account ID of the Security Hub administrator account * associated with this member account.

*/ inline const Aws::String& GetAdministratorId() const{ return m_administratorId; } /** *

The Amazon Web Services account ID of the Security Hub administrator account * associated with this member account.

*/ inline bool AdministratorIdHasBeenSet() const { return m_administratorIdHasBeenSet; } /** *

The Amazon Web Services account ID of the Security Hub administrator account * associated with this member account.

*/ inline void SetAdministratorId(const Aws::String& value) { m_administratorIdHasBeenSet = true; m_administratorId = value; } /** *

The Amazon Web Services account ID of the Security Hub administrator account * associated with this member account.

*/ inline void SetAdministratorId(Aws::String&& value) { m_administratorIdHasBeenSet = true; m_administratorId = std::move(value); } /** *

The Amazon Web Services account ID of the Security Hub administrator account * associated with this member account.

*/ inline void SetAdministratorId(const char* value) { m_administratorIdHasBeenSet = true; m_administratorId.assign(value); } /** *

The Amazon Web Services account ID of the Security Hub administrator account * associated with this member account.

*/ inline Member& WithAdministratorId(const Aws::String& value) { SetAdministratorId(value); return *this;} /** *

The Amazon Web Services account ID of the Security Hub administrator account * associated with this member account.

*/ inline Member& WithAdministratorId(Aws::String&& value) { SetAdministratorId(std::move(value)); return *this;} /** *

The Amazon Web Services account ID of the Security Hub administrator account * associated with this member account.

*/ inline Member& WithAdministratorId(const char* value) { SetAdministratorId(value); return *this;} /** *

The status of the relationship between the member account and its * administrator account.

The status can have one of the following * values:

  • Created - Indicates that the * administrator account added the member account, but has not yet invited the * member account.

  • Invited - Indicates that the * administrator account invited the member account. The member account has not yet * responded to the invitation.

  • Enabled - Indicates * that the member account is currently active. For manually invited member * accounts, indicates that the member account accepted the invitation.

  • *
  • Removed - Indicates that the administrator account * disassociated the member account.

  • Resigned - * Indicates that the member account disassociated themselves from the * administrator account.

  • Deleted - Indicates that * the administrator account deleted the member account.

  • * AccountSuspended - Indicates that an organization account was * suspended from Amazon Web Services at the same time that the administrator * account tried to enable the organization account as a member account.

  • *
*/ inline const Aws::String& GetMemberStatus() const{ return m_memberStatus; } /** *

The status of the relationship between the member account and its * administrator account.

The status can have one of the following * values:

  • Created - Indicates that the * administrator account added the member account, but has not yet invited the * member account.

  • Invited - Indicates that the * administrator account invited the member account. The member account has not yet * responded to the invitation.

  • Enabled - Indicates * that the member account is currently active. For manually invited member * accounts, indicates that the member account accepted the invitation.

  • *
  • Removed - Indicates that the administrator account * disassociated the member account.

  • Resigned - * Indicates that the member account disassociated themselves from the * administrator account.

  • Deleted - Indicates that * the administrator account deleted the member account.

  • * AccountSuspended - Indicates that an organization account was * suspended from Amazon Web Services at the same time that the administrator * account tried to enable the organization account as a member account.

  • *
*/ inline bool MemberStatusHasBeenSet() const { return m_memberStatusHasBeenSet; } /** *

The status of the relationship between the member account and its * administrator account.

The status can have one of the following * values:

  • Created - Indicates that the * administrator account added the member account, but has not yet invited the * member account.

  • Invited - Indicates that the * administrator account invited the member account. The member account has not yet * responded to the invitation.

  • Enabled - Indicates * that the member account is currently active. For manually invited member * accounts, indicates that the member account accepted the invitation.

  • *
  • Removed - Indicates that the administrator account * disassociated the member account.

  • Resigned - * Indicates that the member account disassociated themselves from the * administrator account.

  • Deleted - Indicates that * the administrator account deleted the member account.

  • * AccountSuspended - Indicates that an organization account was * suspended from Amazon Web Services at the same time that the administrator * account tried to enable the organization account as a member account.

  • *
*/ inline void SetMemberStatus(const Aws::String& value) { m_memberStatusHasBeenSet = true; m_memberStatus = value; } /** *

The status of the relationship between the member account and its * administrator account.

The status can have one of the following * values:

  • Created - Indicates that the * administrator account added the member account, but has not yet invited the * member account.

  • Invited - Indicates that the * administrator account invited the member account. The member account has not yet * responded to the invitation.

  • Enabled - Indicates * that the member account is currently active. For manually invited member * accounts, indicates that the member account accepted the invitation.

  • *
  • Removed - Indicates that the administrator account * disassociated the member account.

  • Resigned - * Indicates that the member account disassociated themselves from the * administrator account.

  • Deleted - Indicates that * the administrator account deleted the member account.

  • * AccountSuspended - Indicates that an organization account was * suspended from Amazon Web Services at the same time that the administrator * account tried to enable the organization account as a member account.

  • *
*/ inline void SetMemberStatus(Aws::String&& value) { m_memberStatusHasBeenSet = true; m_memberStatus = std::move(value); } /** *

The status of the relationship between the member account and its * administrator account.

The status can have one of the following * values:

  • Created - Indicates that the * administrator account added the member account, but has not yet invited the * member account.

  • Invited - Indicates that the * administrator account invited the member account. The member account has not yet * responded to the invitation.

  • Enabled - Indicates * that the member account is currently active. For manually invited member * accounts, indicates that the member account accepted the invitation.

  • *
  • Removed - Indicates that the administrator account * disassociated the member account.

  • Resigned - * Indicates that the member account disassociated themselves from the * administrator account.

  • Deleted - Indicates that * the administrator account deleted the member account.

  • * AccountSuspended - Indicates that an organization account was * suspended from Amazon Web Services at the same time that the administrator * account tried to enable the organization account as a member account.

  • *
*/ inline void SetMemberStatus(const char* value) { m_memberStatusHasBeenSet = true; m_memberStatus.assign(value); } /** *

The status of the relationship between the member account and its * administrator account.

The status can have one of the following * values:

  • Created - Indicates that the * administrator account added the member account, but has not yet invited the * member account.

  • Invited - Indicates that the * administrator account invited the member account. The member account has not yet * responded to the invitation.

  • Enabled - Indicates * that the member account is currently active. For manually invited member * accounts, indicates that the member account accepted the invitation.

  • *
  • Removed - Indicates that the administrator account * disassociated the member account.

  • Resigned - * Indicates that the member account disassociated themselves from the * administrator account.

  • Deleted - Indicates that * the administrator account deleted the member account.

  • * AccountSuspended - Indicates that an organization account was * suspended from Amazon Web Services at the same time that the administrator * account tried to enable the organization account as a member account.

  • *
*/ inline Member& WithMemberStatus(const Aws::String& value) { SetMemberStatus(value); return *this;} /** *

The status of the relationship between the member account and its * administrator account.

The status can have one of the following * values:

  • Created - Indicates that the * administrator account added the member account, but has not yet invited the * member account.

  • Invited - Indicates that the * administrator account invited the member account. The member account has not yet * responded to the invitation.

  • Enabled - Indicates * that the member account is currently active. For manually invited member * accounts, indicates that the member account accepted the invitation.

  • *
  • Removed - Indicates that the administrator account * disassociated the member account.

  • Resigned - * Indicates that the member account disassociated themselves from the * administrator account.

  • Deleted - Indicates that * the administrator account deleted the member account.

  • * AccountSuspended - Indicates that an organization account was * suspended from Amazon Web Services at the same time that the administrator * account tried to enable the organization account as a member account.

  • *
*/ inline Member& WithMemberStatus(Aws::String&& value) { SetMemberStatus(std::move(value)); return *this;} /** *

The status of the relationship between the member account and its * administrator account.

The status can have one of the following * values:

  • Created - Indicates that the * administrator account added the member account, but has not yet invited the * member account.

  • Invited - Indicates that the * administrator account invited the member account. The member account has not yet * responded to the invitation.

  • Enabled - Indicates * that the member account is currently active. For manually invited member * accounts, indicates that the member account accepted the invitation.

  • *
  • Removed - Indicates that the administrator account * disassociated the member account.

  • Resigned - * Indicates that the member account disassociated themselves from the * administrator account.

  • Deleted - Indicates that * the administrator account deleted the member account.

  • * AccountSuspended - Indicates that an organization account was * suspended from Amazon Web Services at the same time that the administrator * account tried to enable the organization account as a member account.

  • *
*/ inline Member& WithMemberStatus(const char* value) { SetMemberStatus(value); return *this;} /** *

A timestamp for the date and time when the invitation was sent to the member * account.

*/ inline const Aws::Utils::DateTime& GetInvitedAt() const{ return m_invitedAt; } /** *

A timestamp for the date and time when the invitation was sent to the member * account.

*/ inline bool InvitedAtHasBeenSet() const { return m_invitedAtHasBeenSet; } /** *

A timestamp for the date and time when the invitation was sent to the member * account.

*/ inline void SetInvitedAt(const Aws::Utils::DateTime& value) { m_invitedAtHasBeenSet = true; m_invitedAt = value; } /** *

A timestamp for the date and time when the invitation was sent to the member * account.

*/ inline void SetInvitedAt(Aws::Utils::DateTime&& value) { m_invitedAtHasBeenSet = true; m_invitedAt = std::move(value); } /** *

A timestamp for the date and time when the invitation was sent to the member * account.

*/ inline Member& WithInvitedAt(const Aws::Utils::DateTime& value) { SetInvitedAt(value); return *this;} /** *

A timestamp for the date and time when the invitation was sent to the member * account.

*/ inline Member& WithInvitedAt(Aws::Utils::DateTime&& value) { SetInvitedAt(std::move(value)); return *this;} /** *

The timestamp for the date and time when the member account was updated.

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

The timestamp for the date and time when the member account was updated.

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

The timestamp for the date and time when the member account was updated.

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

The timestamp for the date and time when the member account was updated.

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

The timestamp for the date and time when the member account was updated.

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

The timestamp for the date and time when the member account was updated.

*/ inline Member& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;} private: Aws::String m_accountId; bool m_accountIdHasBeenSet = false; Aws::String m_email; bool m_emailHasBeenSet = false; Aws::String m_administratorId; bool m_administratorIdHasBeenSet = false; Aws::String m_memberStatus; bool m_memberStatusHasBeenSet = false; Aws::Utils::DateTime m_invitedAt; bool m_invitedAtHasBeenSet = false; Aws::Utils::DateTime m_updatedAt; bool m_updatedAtHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws