/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #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 Amazon Macie membership invitation that was * received by an account.

See Also:

AWS * API Reference

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

The AWS account ID for the account that sent the invitation.

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

The AWS account ID for the account that sent the invitation.

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

The AWS account ID for the account that sent the invitation.

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

The AWS account ID for the account that sent the invitation.

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

The AWS account ID for the account that sent the invitation.

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

The AWS account ID for the account that sent the invitation.

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

The AWS account ID for the account that sent the invitation.

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

The AWS account ID for the account that sent the invitation.

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

The unique identifier for the invitation. Amazon Macie uses this identifier * to validate the inviter account with the invitee account.

*/ inline const Aws::String& GetInvitationId() const{ return m_invitationId; } /** *

The unique identifier for the invitation. Amazon Macie uses this identifier * to validate the inviter account with the invitee account.

*/ inline bool InvitationIdHasBeenSet() const { return m_invitationIdHasBeenSet; } /** *

The unique identifier for the invitation. Amazon Macie uses this identifier * to validate the inviter account with the invitee account.

*/ inline void SetInvitationId(const Aws::String& value) { m_invitationIdHasBeenSet = true; m_invitationId = value; } /** *

The unique identifier for the invitation. Amazon Macie uses this identifier * to validate the inviter account with the invitee account.

*/ inline void SetInvitationId(Aws::String&& value) { m_invitationIdHasBeenSet = true; m_invitationId = std::move(value); } /** *

The unique identifier for the invitation. Amazon Macie uses this identifier * to validate the inviter account with the invitee account.

*/ inline void SetInvitationId(const char* value) { m_invitationIdHasBeenSet = true; m_invitationId.assign(value); } /** *

The unique identifier for the invitation. Amazon Macie uses this identifier * to validate the inviter account with the invitee account.

*/ inline Invitation& WithInvitationId(const Aws::String& value) { SetInvitationId(value); return *this;} /** *

The unique identifier for the invitation. Amazon Macie uses this identifier * to validate the inviter account with the invitee account.

*/ inline Invitation& WithInvitationId(Aws::String&& value) { SetInvitationId(std::move(value)); return *this;} /** *

The unique identifier for the invitation. Amazon Macie uses this identifier * to validate the inviter account with the invitee account.

*/ inline Invitation& WithInvitationId(const char* value) { SetInvitationId(value); return *this;} /** *

The date and time, in UTC and extended ISO 8601 format, when the invitation * was sent.

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

The date and time, in UTC and extended ISO 8601 format, when the invitation * was sent.

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

The date and time, in UTC and extended ISO 8601 format, when the invitation * was sent.

*/ 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 the invitation * was sent.

*/ 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 the invitation * was sent.

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

The date and time, in UTC and extended ISO 8601 format, when the invitation * was sent.

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

The status of the relationship between the account that sent the invitation * (inviter account) and the account that received the invitation * (invitee account).

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

The status of the relationship between the account that sent the invitation * (inviter account) and the account that received the invitation * (invitee account).

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

The status of the relationship between the account that sent the invitation * (inviter account) and the account that received the invitation * (invitee account).

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

The status of the relationship between the account that sent the invitation * (inviter account) and the account that received the invitation * (invitee account).

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

The status of the relationship between the account that sent the invitation * (inviter account) and the account that received the invitation * (invitee account).

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

The status of the relationship between the account that sent the invitation * (inviter account) and the account that received the invitation * (invitee account).

*/ inline Invitation& WithRelationshipStatus(RelationshipStatus&& value) { SetRelationshipStatus(std::move(value)); return *this;} private: Aws::String m_accountId; bool m_accountIdHasBeenSet; Aws::String m_invitationId; bool m_invitationIdHasBeenSet; Aws::Utils::DateTime m_invitedAt; bool m_invitedAtHasBeenSet; RelationshipStatus m_relationshipStatus; bool m_relationshipStatusHasBeenSet; }; } // namespace Model } // namespace Macie2 } // namespace Aws