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

Details about a member account that was invited to contribute to a behavior * graph.

See Also:

AWS * API Reference

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

The AWS account identifier for the member account.

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

The AWS account identifier for the member account.

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

The AWS account identifier for the member account.

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

The AWS account identifier for the member account.

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

The AWS account identifier for the member account.

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

The AWS account identifier for the member account.

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

The AWS account identifier for the member account.

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

The AWS account identifier for the member account.

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

The AWS account root user email address for the member account.

*/ inline const Aws::String& GetEmailAddress() const{ return m_emailAddress; } /** *

The AWS account root user email address for the member account.

*/ inline bool EmailAddressHasBeenSet() const { return m_emailAddressHasBeenSet; } /** *

The AWS account root user email address for the member account.

*/ inline void SetEmailAddress(const Aws::String& value) { m_emailAddressHasBeenSet = true; m_emailAddress = value; } /** *

The AWS account root user email address for the member account.

*/ inline void SetEmailAddress(Aws::String&& value) { m_emailAddressHasBeenSet = true; m_emailAddress = std::move(value); } /** *

The AWS account root user email address for the member account.

*/ inline void SetEmailAddress(const char* value) { m_emailAddressHasBeenSet = true; m_emailAddress.assign(value); } /** *

The AWS account root user email address for the member account.

*/ inline MemberDetail& WithEmailAddress(const Aws::String& value) { SetEmailAddress(value); return *this;} /** *

The AWS account root user email address for the member account.

*/ inline MemberDetail& WithEmailAddress(Aws::String&& value) { SetEmailAddress(std::move(value)); return *this;} /** *

The AWS account root user email address for the member account.

*/ inline MemberDetail& WithEmailAddress(const char* value) { SetEmailAddress(value); return *this;} /** *

The ARN of the behavior graph that the member account was invited to.

*/ inline const Aws::String& GetGraphArn() const{ return m_graphArn; } /** *

The ARN of the behavior graph that the member account was invited to.

*/ inline bool GraphArnHasBeenSet() const { return m_graphArnHasBeenSet; } /** *

The ARN of the behavior graph that the member account was invited to.

*/ inline void SetGraphArn(const Aws::String& value) { m_graphArnHasBeenSet = true; m_graphArn = value; } /** *

The ARN of the behavior graph that the member account was invited to.

*/ inline void SetGraphArn(Aws::String&& value) { m_graphArnHasBeenSet = true; m_graphArn = std::move(value); } /** *

The ARN of the behavior graph that the member account was invited to.

*/ inline void SetGraphArn(const char* value) { m_graphArnHasBeenSet = true; m_graphArn.assign(value); } /** *

The ARN of the behavior graph that the member account was invited to.

*/ inline MemberDetail& WithGraphArn(const Aws::String& value) { SetGraphArn(value); return *this;} /** *

The ARN of the behavior graph that the member account was invited to.

*/ inline MemberDetail& WithGraphArn(Aws::String&& value) { SetGraphArn(std::move(value)); return *this;} /** *

The ARN of the behavior graph that the member account was invited to.

*/ inline MemberDetail& WithGraphArn(const char* value) { SetGraphArn(value); return *this;} /** *

The AWS account identifier of the master account for the behavior graph.

*/ inline const Aws::String& GetMasterId() const{ return m_masterId; } /** *

The AWS account identifier of the master account for the behavior graph.

*/ inline bool MasterIdHasBeenSet() const { return m_masterIdHasBeenSet; } /** *

The AWS account identifier of the master account for the behavior graph.

*/ inline void SetMasterId(const Aws::String& value) { m_masterIdHasBeenSet = true; m_masterId = value; } /** *

The AWS account identifier of the master account for the behavior graph.

*/ inline void SetMasterId(Aws::String&& value) { m_masterIdHasBeenSet = true; m_masterId = std::move(value); } /** *

The AWS account identifier of the master account for the behavior graph.

*/ inline void SetMasterId(const char* value) { m_masterIdHasBeenSet = true; m_masterId.assign(value); } /** *

The AWS account identifier of the master account for the behavior graph.

*/ inline MemberDetail& WithMasterId(const Aws::String& value) { SetMasterId(value); return *this;} /** *

The AWS account identifier of the master account for the behavior graph.

*/ inline MemberDetail& WithMasterId(Aws::String&& value) { SetMasterId(std::move(value)); return *this;} /** *

The AWS account identifier of the master account for the behavior graph.

*/ inline MemberDetail& WithMasterId(const char* value) { SetMasterId(value); return *this;} /** *

The current membership status of the member account. The status can have one * of the following values:

  • INVITED - Indicates that * the member was sent an invitation but has not yet responded.

  • * VERIFICATION_IN_PROGRESS - Indicates that Detective is verifying * that the account identifier and email address provided for the member account * match. If they do match, then Detective sends the invitation. If the email * address and account identifier don't match, then the member cannot be added to * the behavior graph.

  • VERIFICATION_FAILED - * Indicates that the account and email address provided for the member account do * not match, and Detective did not send an invitation to the account.

  • *
  • ENABLED - Indicates that the member account accepted the * invitation to contribute to the behavior graph.

  • * ACCEPTED_BUT_DISABLED - Indicates that the member account accepted * the invitation but is prevented from contributing data to the behavior graph. * DisabledReason provides the reason why the member account is not * enabled.

Member accounts that declined an invitation or that * were removed from the behavior graph are not included.

*/ inline const MemberStatus& GetStatus() const{ return m_status; } /** *

The current membership status of the member account. The status can have one * of the following values:

  • INVITED - Indicates that * the member was sent an invitation but has not yet responded.

  • * VERIFICATION_IN_PROGRESS - Indicates that Detective is verifying * that the account identifier and email address provided for the member account * match. If they do match, then Detective sends the invitation. If the email * address and account identifier don't match, then the member cannot be added to * the behavior graph.

  • VERIFICATION_FAILED - * Indicates that the account and email address provided for the member account do * not match, and Detective did not send an invitation to the account.

  • *
  • ENABLED - Indicates that the member account accepted the * invitation to contribute to the behavior graph.

  • * ACCEPTED_BUT_DISABLED - Indicates that the member account accepted * the invitation but is prevented from contributing data to the behavior graph. * DisabledReason provides the reason why the member account is not * enabled.

Member accounts that declined an invitation or that * were removed from the behavior graph are not included.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The current membership status of the member account. The status can have one * of the following values:

  • INVITED - Indicates that * the member was sent an invitation but has not yet responded.

  • * VERIFICATION_IN_PROGRESS - Indicates that Detective is verifying * that the account identifier and email address provided for the member account * match. If they do match, then Detective sends the invitation. If the email * address and account identifier don't match, then the member cannot be added to * the behavior graph.

  • VERIFICATION_FAILED - * Indicates that the account and email address provided for the member account do * not match, and Detective did not send an invitation to the account.

  • *
  • ENABLED - Indicates that the member account accepted the * invitation to contribute to the behavior graph.

  • * ACCEPTED_BUT_DISABLED - Indicates that the member account accepted * the invitation but is prevented from contributing data to the behavior graph. * DisabledReason provides the reason why the member account is not * enabled.

Member accounts that declined an invitation or that * were removed from the behavior graph are not included.

*/ inline void SetStatus(const MemberStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The current membership status of the member account. The status can have one * of the following values:

  • INVITED - Indicates that * the member was sent an invitation but has not yet responded.

  • * VERIFICATION_IN_PROGRESS - Indicates that Detective is verifying * that the account identifier and email address provided for the member account * match. If they do match, then Detective sends the invitation. If the email * address and account identifier don't match, then the member cannot be added to * the behavior graph.

  • VERIFICATION_FAILED - * Indicates that the account and email address provided for the member account do * not match, and Detective did not send an invitation to the account.

  • *
  • ENABLED - Indicates that the member account accepted the * invitation to contribute to the behavior graph.

  • * ACCEPTED_BUT_DISABLED - Indicates that the member account accepted * the invitation but is prevented from contributing data to the behavior graph. * DisabledReason provides the reason why the member account is not * enabled.

Member accounts that declined an invitation or that * were removed from the behavior graph are not included.

*/ inline void SetStatus(MemberStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The current membership status of the member account. The status can have one * of the following values:

  • INVITED - Indicates that * the member was sent an invitation but has not yet responded.

  • * VERIFICATION_IN_PROGRESS - Indicates that Detective is verifying * that the account identifier and email address provided for the member account * match. If they do match, then Detective sends the invitation. If the email * address and account identifier don't match, then the member cannot be added to * the behavior graph.

  • VERIFICATION_FAILED - * Indicates that the account and email address provided for the member account do * not match, and Detective did not send an invitation to the account.

  • *
  • ENABLED - Indicates that the member account accepted the * invitation to contribute to the behavior graph.

  • * ACCEPTED_BUT_DISABLED - Indicates that the member account accepted * the invitation but is prevented from contributing data to the behavior graph. * DisabledReason provides the reason why the member account is not * enabled.

Member accounts that declined an invitation or that * were removed from the behavior graph are not included.

*/ inline MemberDetail& WithStatus(const MemberStatus& value) { SetStatus(value); return *this;} /** *

The current membership status of the member account. The status can have one * of the following values:

  • INVITED - Indicates that * the member was sent an invitation but has not yet responded.

  • * VERIFICATION_IN_PROGRESS - Indicates that Detective is verifying * that the account identifier and email address provided for the member account * match. If they do match, then Detective sends the invitation. If the email * address and account identifier don't match, then the member cannot be added to * the behavior graph.

  • VERIFICATION_FAILED - * Indicates that the account and email address provided for the member account do * not match, and Detective did not send an invitation to the account.

  • *
  • ENABLED - Indicates that the member account accepted the * invitation to contribute to the behavior graph.

  • * ACCEPTED_BUT_DISABLED - Indicates that the member account accepted * the invitation but is prevented from contributing data to the behavior graph. * DisabledReason provides the reason why the member account is not * enabled.

Member accounts that declined an invitation or that * were removed from the behavior graph are not included.

*/ inline MemberDetail& WithStatus(MemberStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

For member accounts with a status of ACCEPTED_BUT_DISABLED, the * reason that the member account is not enabled.

The reason can have one of * the following values:

  • VOLUME_TOO_HIGH - Indicates * that adding the member account would cause the data volume for the behavior * graph to be too high.

  • VOLUME_UNKNOWN - Indicates * that Detective is unable to verify the data volume for the member account. This * is usually because the member account is not enrolled in Amazon GuardDuty.

    *
*/ inline const MemberDisabledReason& GetDisabledReason() const{ return m_disabledReason; } /** *

For member accounts with a status of ACCEPTED_BUT_DISABLED, the * reason that the member account is not enabled.

The reason can have one of * the following values:

  • VOLUME_TOO_HIGH - Indicates * that adding the member account would cause the data volume for the behavior * graph to be too high.

  • VOLUME_UNKNOWN - Indicates * that Detective is unable to verify the data volume for the member account. This * is usually because the member account is not enrolled in Amazon GuardDuty.

    *
*/ inline bool DisabledReasonHasBeenSet() const { return m_disabledReasonHasBeenSet; } /** *

For member accounts with a status of ACCEPTED_BUT_DISABLED, the * reason that the member account is not enabled.

The reason can have one of * the following values:

  • VOLUME_TOO_HIGH - Indicates * that adding the member account would cause the data volume for the behavior * graph to be too high.

  • VOLUME_UNKNOWN - Indicates * that Detective is unable to verify the data volume for the member account. This * is usually because the member account is not enrolled in Amazon GuardDuty.

    *
*/ inline void SetDisabledReason(const MemberDisabledReason& value) { m_disabledReasonHasBeenSet = true; m_disabledReason = value; } /** *

For member accounts with a status of ACCEPTED_BUT_DISABLED, the * reason that the member account is not enabled.

The reason can have one of * the following values:

  • VOLUME_TOO_HIGH - Indicates * that adding the member account would cause the data volume for the behavior * graph to be too high.

  • VOLUME_UNKNOWN - Indicates * that Detective is unable to verify the data volume for the member account. This * is usually because the member account is not enrolled in Amazon GuardDuty.

    *
*/ inline void SetDisabledReason(MemberDisabledReason&& value) { m_disabledReasonHasBeenSet = true; m_disabledReason = std::move(value); } /** *

For member accounts with a status of ACCEPTED_BUT_DISABLED, the * reason that the member account is not enabled.

The reason can have one of * the following values:

  • VOLUME_TOO_HIGH - Indicates * that adding the member account would cause the data volume for the behavior * graph to be too high.

  • VOLUME_UNKNOWN - Indicates * that Detective is unable to verify the data volume for the member account. This * is usually because the member account is not enrolled in Amazon GuardDuty.

    *
*/ inline MemberDetail& WithDisabledReason(const MemberDisabledReason& value) { SetDisabledReason(value); return *this;} /** *

For member accounts with a status of ACCEPTED_BUT_DISABLED, the * reason that the member account is not enabled.

The reason can have one of * the following values:

  • VOLUME_TOO_HIGH - Indicates * that adding the member account would cause the data volume for the behavior * graph to be too high.

  • VOLUME_UNKNOWN - Indicates * that Detective is unable to verify the data volume for the member account. This * is usually because the member account is not enrolled in Amazon GuardDuty.

    *
*/ inline MemberDetail& WithDisabledReason(MemberDisabledReason&& value) { SetDisabledReason(std::move(value)); return *this;} /** *

The date and time that Detective sent the invitation to the member account. * The value is in milliseconds since the epoch.

*/ inline const Aws::Utils::DateTime& GetInvitedTime() const{ return m_invitedTime; } /** *

The date and time that Detective sent the invitation to the member account. * The value is in milliseconds since the epoch.

*/ inline bool InvitedTimeHasBeenSet() const { return m_invitedTimeHasBeenSet; } /** *

The date and time that Detective sent the invitation to the member account. * The value is in milliseconds since the epoch.

*/ inline void SetInvitedTime(const Aws::Utils::DateTime& value) { m_invitedTimeHasBeenSet = true; m_invitedTime = value; } /** *

The date and time that Detective sent the invitation to the member account. * The value is in milliseconds since the epoch.

*/ inline void SetInvitedTime(Aws::Utils::DateTime&& value) { m_invitedTimeHasBeenSet = true; m_invitedTime = std::move(value); } /** *

The date and time that Detective sent the invitation to the member account. * The value is in milliseconds since the epoch.

*/ inline MemberDetail& WithInvitedTime(const Aws::Utils::DateTime& value) { SetInvitedTime(value); return *this;} /** *

The date and time that Detective sent the invitation to the member account. * The value is in milliseconds since the epoch.

*/ inline MemberDetail& WithInvitedTime(Aws::Utils::DateTime&& value) { SetInvitedTime(std::move(value)); return *this;} /** *

The date and time that the member account was last updated. The value is in * milliseconds since the epoch.

*/ inline const Aws::Utils::DateTime& GetUpdatedTime() const{ return m_updatedTime; } /** *

The date and time that the member account was last updated. The value is in * milliseconds since the epoch.

*/ inline bool UpdatedTimeHasBeenSet() const { return m_updatedTimeHasBeenSet; } /** *

The date and time that the member account was last updated. The value is in * milliseconds since the epoch.

*/ inline void SetUpdatedTime(const Aws::Utils::DateTime& value) { m_updatedTimeHasBeenSet = true; m_updatedTime = value; } /** *

The date and time that the member account was last updated. The value is in * milliseconds since the epoch.

*/ inline void SetUpdatedTime(Aws::Utils::DateTime&& value) { m_updatedTimeHasBeenSet = true; m_updatedTime = std::move(value); } /** *

The date and time that the member account was last updated. The value is in * milliseconds since the epoch.

*/ inline MemberDetail& WithUpdatedTime(const Aws::Utils::DateTime& value) { SetUpdatedTime(value); return *this;} /** *

The date and time that the member account was last updated. The value is in * milliseconds since the epoch.

*/ inline MemberDetail& WithUpdatedTime(Aws::Utils::DateTime&& value) { SetUpdatedTime(std::move(value)); return *this;} /** *

The member account data volume as a percentage of the maximum allowed data * volume. 0 indicates 0 percent, and 100 indicates 100 percent.

Note that * this is not the percentage of the behavior graph data volume.

For * example, the data volume for the behavior graph is 80 GB per day. The maximum * data volume is 160 GB per day. If the data volume for the member account is 40 * GB per day, then PercentOfGraphUtilization is 25. It represents 25% * of the maximum allowed data volume.

*/ inline double GetPercentOfGraphUtilization() const{ return m_percentOfGraphUtilization; } /** *

The member account data volume as a percentage of the maximum allowed data * volume. 0 indicates 0 percent, and 100 indicates 100 percent.

Note that * this is not the percentage of the behavior graph data volume.

For * example, the data volume for the behavior graph is 80 GB per day. The maximum * data volume is 160 GB per day. If the data volume for the member account is 40 * GB per day, then PercentOfGraphUtilization is 25. It represents 25% * of the maximum allowed data volume.

*/ inline bool PercentOfGraphUtilizationHasBeenSet() const { return m_percentOfGraphUtilizationHasBeenSet; } /** *

The member account data volume as a percentage of the maximum allowed data * volume. 0 indicates 0 percent, and 100 indicates 100 percent.

Note that * this is not the percentage of the behavior graph data volume.

For * example, the data volume for the behavior graph is 80 GB per day. The maximum * data volume is 160 GB per day. If the data volume for the member account is 40 * GB per day, then PercentOfGraphUtilization is 25. It represents 25% * of the maximum allowed data volume.

*/ inline void SetPercentOfGraphUtilization(double value) { m_percentOfGraphUtilizationHasBeenSet = true; m_percentOfGraphUtilization = value; } /** *

The member account data volume as a percentage of the maximum allowed data * volume. 0 indicates 0 percent, and 100 indicates 100 percent.

Note that * this is not the percentage of the behavior graph data volume.

For * example, the data volume for the behavior graph is 80 GB per day. The maximum * data volume is 160 GB per day. If the data volume for the member account is 40 * GB per day, then PercentOfGraphUtilization is 25. It represents 25% * of the maximum allowed data volume.

*/ inline MemberDetail& WithPercentOfGraphUtilization(double value) { SetPercentOfGraphUtilization(value); return *this;} /** *

The date and time when the graph utilization percentage was last updated.

*/ inline const Aws::Utils::DateTime& GetPercentOfGraphUtilizationUpdatedTime() const{ return m_percentOfGraphUtilizationUpdatedTime; } /** *

The date and time when the graph utilization percentage was last updated.

*/ inline bool PercentOfGraphUtilizationUpdatedTimeHasBeenSet() const { return m_percentOfGraphUtilizationUpdatedTimeHasBeenSet; } /** *

The date and time when the graph utilization percentage was last updated.

*/ inline void SetPercentOfGraphUtilizationUpdatedTime(const Aws::Utils::DateTime& value) { m_percentOfGraphUtilizationUpdatedTimeHasBeenSet = true; m_percentOfGraphUtilizationUpdatedTime = value; } /** *

The date and time when the graph utilization percentage was last updated.

*/ inline void SetPercentOfGraphUtilizationUpdatedTime(Aws::Utils::DateTime&& value) { m_percentOfGraphUtilizationUpdatedTimeHasBeenSet = true; m_percentOfGraphUtilizationUpdatedTime = std::move(value); } /** *

The date and time when the graph utilization percentage was last updated.

*/ inline MemberDetail& WithPercentOfGraphUtilizationUpdatedTime(const Aws::Utils::DateTime& value) { SetPercentOfGraphUtilizationUpdatedTime(value); return *this;} /** *

The date and time when the graph utilization percentage was last updated.

*/ inline MemberDetail& WithPercentOfGraphUtilizationUpdatedTime(Aws::Utils::DateTime&& value) { SetPercentOfGraphUtilizationUpdatedTime(std::move(value)); return *this;} private: Aws::String m_accountId; bool m_accountIdHasBeenSet; Aws::String m_emailAddress; bool m_emailAddressHasBeenSet; Aws::String m_graphArn; bool m_graphArnHasBeenSet; Aws::String m_masterId; bool m_masterIdHasBeenSet; MemberStatus m_status; bool m_statusHasBeenSet; MemberDisabledReason m_disabledReason; bool m_disabledReasonHasBeenSet; Aws::Utils::DateTime m_invitedTime; bool m_invitedTimeHasBeenSet; Aws::Utils::DateTime m_updatedTime; bool m_updatedTimeHasBeenSet; double m_percentOfGraphUtilization; bool m_percentOfGraphUtilizationHasBeenSet; Aws::Utils::DateTime m_percentOfGraphUtilizationUpdatedTime; bool m_percentOfGraphUtilizationUpdatedTimeHasBeenSet; }; } // namespace Model } // namespace Detective } // namespace Aws