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

Basic metadata used to construct a new member.

See Also:

AWS * API Reference

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

The identifier used to reference members of the collaboration. Currently only * supports Amazon Web Services account ID.

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

The identifier used to reference members of the collaboration. Currently only * supports Amazon Web Services account ID.

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

The identifier used to reference members of the collaboration. Currently only * supports Amazon Web Services account ID.

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

The identifier used to reference members of the collaboration. Currently only * supports Amazon Web Services account ID.

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

The identifier used to reference members of the collaboration. Currently only * supports Amazon Web Services account ID.

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

The identifier used to reference members of the collaboration. Currently only * supports Amazon Web Services account ID.

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

The identifier used to reference members of the collaboration. Currently only * supports Amazon Web Services account ID.

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

The identifier used to reference members of the collaboration. Currently only * supports Amazon Web Services account ID.

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

The abilities granted to the collaboration member.

*/ inline const Aws::Vector& GetMemberAbilities() const{ return m_memberAbilities; } /** *

The abilities granted to the collaboration member.

*/ inline bool MemberAbilitiesHasBeenSet() const { return m_memberAbilitiesHasBeenSet; } /** *

The abilities granted to the collaboration member.

*/ inline void SetMemberAbilities(const Aws::Vector& value) { m_memberAbilitiesHasBeenSet = true; m_memberAbilities = value; } /** *

The abilities granted to the collaboration member.

*/ inline void SetMemberAbilities(Aws::Vector&& value) { m_memberAbilitiesHasBeenSet = true; m_memberAbilities = std::move(value); } /** *

The abilities granted to the collaboration member.

*/ inline MemberSpecification& WithMemberAbilities(const Aws::Vector& value) { SetMemberAbilities(value); return *this;} /** *

The abilities granted to the collaboration member.

*/ inline MemberSpecification& WithMemberAbilities(Aws::Vector&& value) { SetMemberAbilities(std::move(value)); return *this;} /** *

The abilities granted to the collaboration member.

*/ inline MemberSpecification& AddMemberAbilities(const MemberAbility& value) { m_memberAbilitiesHasBeenSet = true; m_memberAbilities.push_back(value); return *this; } /** *

The abilities granted to the collaboration member.

*/ inline MemberSpecification& AddMemberAbilities(MemberAbility&& value) { m_memberAbilitiesHasBeenSet = true; m_memberAbilities.push_back(std::move(value)); return *this; } /** *

The member's display name.

*/ inline const Aws::String& GetDisplayName() const{ return m_displayName; } /** *

The member's display name.

*/ inline bool DisplayNameHasBeenSet() const { return m_displayNameHasBeenSet; } /** *

The member's display name.

*/ inline void SetDisplayName(const Aws::String& value) { m_displayNameHasBeenSet = true; m_displayName = value; } /** *

The member's display name.

*/ inline void SetDisplayName(Aws::String&& value) { m_displayNameHasBeenSet = true; m_displayName = std::move(value); } /** *

The member's display name.

*/ inline void SetDisplayName(const char* value) { m_displayNameHasBeenSet = true; m_displayName.assign(value); } /** *

The member's display name.

*/ inline MemberSpecification& WithDisplayName(const Aws::String& value) { SetDisplayName(value); return *this;} /** *

The member's display name.

*/ inline MemberSpecification& WithDisplayName(Aws::String&& value) { SetDisplayName(std::move(value)); return *this;} /** *

The member's display name.

*/ inline MemberSpecification& WithDisplayName(const char* value) { SetDisplayName(value); return *this;} private: Aws::String m_accountId; bool m_accountIdHasBeenSet = false; Aws::Vector m_memberAbilities; bool m_memberAbilitiesHasBeenSet = false; Aws::String m_displayName; bool m_displayNameHasBeenSet = false; }; } // namespace Model } // namespace CleanRooms } // namespace Aws