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

Provides information about an account that's associated with an Amazon Macie * administrator account.

See Also:

AWS API * Reference

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

The Amazon Web Services account ID for the account.

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

The Amazon Web Services account ID for the account.

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

The Amazon Web Services account ID for the account.

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

The Amazon Web Services account ID for the account.

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

The Amazon Web Services account ID for the account.

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

The Amazon Web Services account ID for the account.

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

The Amazon Web Services account ID for the account.

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

The Amazon Web Services account ID for the account.

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

The Amazon Web Services account ID for the administrator account.

*/ inline const Aws::String& GetAdministratorAccountId() const{ return m_administratorAccountId; } /** *

The Amazon Web Services account ID for the administrator account.

*/ inline bool AdministratorAccountIdHasBeenSet() const { return m_administratorAccountIdHasBeenSet; } /** *

The Amazon Web Services account ID for the administrator account.

*/ inline void SetAdministratorAccountId(const Aws::String& value) { m_administratorAccountIdHasBeenSet = true; m_administratorAccountId = value; } /** *

The Amazon Web Services account ID for the administrator account.

*/ inline void SetAdministratorAccountId(Aws::String&& value) { m_administratorAccountIdHasBeenSet = true; m_administratorAccountId = std::move(value); } /** *

The Amazon Web Services account ID for the administrator account.

*/ inline void SetAdministratorAccountId(const char* value) { m_administratorAccountIdHasBeenSet = true; m_administratorAccountId.assign(value); } /** *

The Amazon Web Services account ID for the administrator account.

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

The Amazon Web Services account ID for the administrator account.

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

The Amazon Web Services account ID for the administrator account.

*/ inline Member& WithAdministratorAccountId(const char* value) { SetAdministratorAccountId(value); return *this;} /** *

The Amazon Resource Name (ARN) of the account.

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

The Amazon Resource Name (ARN) of the account.

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

The Amazon Resource Name (ARN) of the account.

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

The Amazon Resource Name (ARN) of the account.

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

The Amazon Resource Name (ARN) of the account.

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

The Amazon Resource Name (ARN) of the account.

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

The Amazon Resource Name (ARN) of the account.

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

The Amazon Resource Name (ARN) of the account.

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

The email address for the account. This value is null if the account is * associated with the administrator account through Organizations.

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

The email address for the account. This value is null if the account is * associated with the administrator account through Organizations.

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

The email address for the account. This value is null if the account is * associated with the administrator account through Organizations.

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

The email address for the account. This value is null if the account is * associated with the administrator account through Organizations.

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

The email address for the account. This value is null if the account is * associated with the administrator account through Organizations.

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

The email address for the account. This value is null if the account is * associated with the administrator account through Organizations.

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

The email address for the account. This value is null if the account is * associated with the administrator account through Organizations.

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

The email address for the account. This value is null if the account is * associated with the administrator account through Organizations.

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

The date and time, in UTC and extended ISO 8601 format, when an Amazon Macie * membership invitation was last sent to the account. This value is null if a * Macie membership invitation hasn't been sent to the account.

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

The date and time, in UTC and extended ISO 8601 format, when an Amazon Macie * membership invitation was last sent to the account. This value is null if a * Macie membership invitation hasn't been sent to the account.

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

The date and time, in UTC and extended ISO 8601 format, when an Amazon Macie * membership invitation was last sent to the account. This value is null if a * Macie membership invitation hasn't been sent to the account.

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

The date and time, in UTC and extended ISO 8601 format, when an Amazon Macie * membership invitation was last sent to the account. This value is null if a * Macie membership invitation hasn't been sent to the account.

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

The date and time, in UTC and extended ISO 8601 format, when an Amazon Macie * membership invitation was last sent to the account. This value is null if a * Macie membership invitation hasn't been sent to the account.

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

The date and time, in UTC and extended ISO 8601 format, when an Amazon Macie * membership invitation was last sent to the account. This value is null if a * Macie membership invitation hasn't been sent to the account.

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

(Deprecated) The Amazon Web Services account ID for the administrator * account. This property has been replaced by the administratorAccountId property * and is retained only for backward compatibility.

*/ inline const Aws::String& GetMasterAccountId() const{ return m_masterAccountId; } /** *

(Deprecated) The Amazon Web Services account ID for the administrator * account. This property has been replaced by the administratorAccountId property * and is retained only for backward compatibility.

*/ inline bool MasterAccountIdHasBeenSet() const { return m_masterAccountIdHasBeenSet; } /** *

(Deprecated) The Amazon Web Services account ID for the administrator * account. This property has been replaced by the administratorAccountId property * and is retained only for backward compatibility.

*/ inline void SetMasterAccountId(const Aws::String& value) { m_masterAccountIdHasBeenSet = true; m_masterAccountId = value; } /** *

(Deprecated) The Amazon Web Services account ID for the administrator * account. This property has been replaced by the administratorAccountId property * and is retained only for backward compatibility.

*/ inline void SetMasterAccountId(Aws::String&& value) { m_masterAccountIdHasBeenSet = true; m_masterAccountId = std::move(value); } /** *

(Deprecated) The Amazon Web Services account ID for the administrator * account. This property has been replaced by the administratorAccountId property * and is retained only for backward compatibility.

*/ inline void SetMasterAccountId(const char* value) { m_masterAccountIdHasBeenSet = true; m_masterAccountId.assign(value); } /** *

(Deprecated) The Amazon Web Services account ID for the administrator * account. This property has been replaced by the administratorAccountId property * and is retained only for backward compatibility.

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

(Deprecated) The Amazon Web Services account ID for the administrator * account. This property has been replaced by the administratorAccountId property * and is retained only for backward compatibility.

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

(Deprecated) The Amazon Web Services account ID for the administrator * account. This property has been replaced by the administratorAccountId property * and is retained only for backward compatibility.

*/ inline Member& WithMasterAccountId(const char* value) { SetMasterAccountId(value); return *this;} /** *

The current status of the relationship between the account and the * administrator account.

*/ inline const RelationshipStatus& GetRelationshipStatus() const{ return m_relationshipStatus; } /** *

The current status of the relationship between the account and the * administrator account.

*/ inline bool RelationshipStatusHasBeenSet() const { return m_relationshipStatusHasBeenSet; } /** *

The current status of the relationship between the account and the * administrator account.

*/ inline void SetRelationshipStatus(const RelationshipStatus& value) { m_relationshipStatusHasBeenSet = true; m_relationshipStatus = value; } /** *

The current status of the relationship between the account and the * administrator account.

*/ inline void SetRelationshipStatus(RelationshipStatus&& value) { m_relationshipStatusHasBeenSet = true; m_relationshipStatus = std::move(value); } /** *

The current status of the relationship between the account and the * administrator account.

*/ inline Member& WithRelationshipStatus(const RelationshipStatus& value) { SetRelationshipStatus(value); return *this;} /** *

The current status of the relationship between the account and the * administrator account.

*/ inline Member& WithRelationshipStatus(RelationshipStatus&& value) { SetRelationshipStatus(std::move(value)); return *this;} /** *

A map of key-value pairs that specifies which tags (keys and values) are * associated with the account in Amazon Macie.

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

A map of key-value pairs that specifies which tags (keys and values) are * associated with the account in Amazon Macie.

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

A map of key-value pairs that specifies which tags (keys and values) are * associated with the account in Amazon Macie.

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

A map of key-value pairs that specifies which tags (keys and values) are * associated with the account in Amazon Macie.

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

A map of key-value pairs that specifies which tags (keys and values) are * associated with the account in Amazon Macie.

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

A map of key-value pairs that specifies which tags (keys and values) are * associated with the account in Amazon Macie.

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

A map of key-value pairs that specifies which tags (keys and values) are * associated with the account in Amazon Macie.

*/ inline Member& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

A map of key-value pairs that specifies which tags (keys and values) are * associated with the account in Amazon Macie.

*/ inline Member& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

A map of key-value pairs that specifies which tags (keys and values) are * associated with the account in Amazon Macie.

*/ inline Member& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

A map of key-value pairs that specifies which tags (keys and values) are * associated with the account in Amazon Macie.

*/ inline Member& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *

A map of key-value pairs that specifies which tags (keys and values) are * associated with the account in Amazon Macie.

*/ inline Member& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

A map of key-value pairs that specifies which tags (keys and values) are * associated with the account in Amazon Macie.

*/ inline Member& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

A map of key-value pairs that specifies which tags (keys and values) are * associated with the account in Amazon Macie.

*/ inline Member& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

The date and time, in UTC and extended ISO 8601 format, of the most recent * change to the status of the relationship between the account and the * administrator account.

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

The date and time, in UTC and extended ISO 8601 format, of the most recent * change to the status of the relationship between the account and the * administrator account.

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

The date and time, in UTC and extended ISO 8601 format, of the most recent * change to the status of the relationship between the account and the * administrator account.

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

The date and time, in UTC and extended ISO 8601 format, of the most recent * change to the status of the relationship between the account and the * administrator account.

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

The date and time, in UTC and extended ISO 8601 format, of the most recent * change to the status of the relationship between the account and the * administrator account.

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

The date and time, in UTC and extended ISO 8601 format, of the most recent * change to the status of the relationship between the account and the * administrator account.

*/ 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_administratorAccountId; bool m_administratorAccountIdHasBeenSet = false; Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_email; bool m_emailHasBeenSet = false; Aws::Utils::DateTime m_invitedAt; bool m_invitedAtHasBeenSet = false; Aws::String m_masterAccountId; bool m_masterAccountIdHasBeenSet = false; RelationshipStatus m_relationshipStatus; bool m_relationshipStatusHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; Aws::Utils::DateTime m_updatedAt; bool m_updatedAtHasBeenSet = false; }; } // namespace Model } // namespace Macie2 } // namespace Aws