/** * 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.

See Also:

AWS * API Reference

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

The Amazon Web Services account ID for the account that sent the * invitation.

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

The Amazon Web Services account ID for the account that sent the * invitation.

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

The Amazon Web Services account ID for the account that sent the * invitation.

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

The Amazon Web Services account ID for the account that sent the * invitation.

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

The Amazon Web Services account ID for the account that sent the * invitation.

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

The Amazon Web Services account ID for the account that sent the * invitation.

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

The Amazon Web Services account ID for the account that sent the * invitation.

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

The Amazon Web Services 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.

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

The unique identifier for the invitation.

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

The unique identifier for the invitation.

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

The unique identifier for the invitation.

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

The unique identifier for the invitation.

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

The unique identifier for the invitation.

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

The unique identifier for the invitation.

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

The unique identifier for the invitation.

*/ 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 * and the account that received the invitation.

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

The status of the relationship between the account that sent the invitation * and the account that received the invitation.

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

The status of the relationship between the account that sent the invitation * and the account that received the invitation.

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

The status of the relationship between the account that sent the invitation * and the account that received the invitation.

*/ 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 * and the account that received the invitation.

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

The status of the relationship between the account that sent the invitation * and the account that received the invitation.

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