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

The actions to carry out if a proposal is APPROVED.

*

Applies only to Hyperledger Fabric.

See Also:

AWS * API Reference

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

The actions to perform for an APPROVED proposal to invite an * Amazon Web Services account to create a member and join the network.

*/ inline const Aws::Vector& GetInvitations() const{ return m_invitations; } /** *

The actions to perform for an APPROVED proposal to invite an * Amazon Web Services account to create a member and join the network.

*/ inline bool InvitationsHasBeenSet() const { return m_invitationsHasBeenSet; } /** *

The actions to perform for an APPROVED proposal to invite an * Amazon Web Services account to create a member and join the network.

*/ inline void SetInvitations(const Aws::Vector& value) { m_invitationsHasBeenSet = true; m_invitations = value; } /** *

The actions to perform for an APPROVED proposal to invite an * Amazon Web Services account to create a member and join the network.

*/ inline void SetInvitations(Aws::Vector&& value) { m_invitationsHasBeenSet = true; m_invitations = std::move(value); } /** *

The actions to perform for an APPROVED proposal to invite an * Amazon Web Services account to create a member and join the network.

*/ inline ProposalActions& WithInvitations(const Aws::Vector& value) { SetInvitations(value); return *this;} /** *

The actions to perform for an APPROVED proposal to invite an * Amazon Web Services account to create a member and join the network.

*/ inline ProposalActions& WithInvitations(Aws::Vector&& value) { SetInvitations(std::move(value)); return *this;} /** *

The actions to perform for an APPROVED proposal to invite an * Amazon Web Services account to create a member and join the network.

*/ inline ProposalActions& AddInvitations(const InviteAction& value) { m_invitationsHasBeenSet = true; m_invitations.push_back(value); return *this; } /** *

The actions to perform for an APPROVED proposal to invite an * Amazon Web Services account to create a member and join the network.

*/ inline ProposalActions& AddInvitations(InviteAction&& value) { m_invitationsHasBeenSet = true; m_invitations.push_back(std::move(value)); return *this; } /** *

The actions to perform for an APPROVED proposal to remove a * member from the network, which deletes the member and all associated member * resources from the network.

*/ inline const Aws::Vector& GetRemovals() const{ return m_removals; } /** *

The actions to perform for an APPROVED proposal to remove a * member from the network, which deletes the member and all associated member * resources from the network.

*/ inline bool RemovalsHasBeenSet() const { return m_removalsHasBeenSet; } /** *

The actions to perform for an APPROVED proposal to remove a * member from the network, which deletes the member and all associated member * resources from the network.

*/ inline void SetRemovals(const Aws::Vector& value) { m_removalsHasBeenSet = true; m_removals = value; } /** *

The actions to perform for an APPROVED proposal to remove a * member from the network, which deletes the member and all associated member * resources from the network.

*/ inline void SetRemovals(Aws::Vector&& value) { m_removalsHasBeenSet = true; m_removals = std::move(value); } /** *

The actions to perform for an APPROVED proposal to remove a * member from the network, which deletes the member and all associated member * resources from the network.

*/ inline ProposalActions& WithRemovals(const Aws::Vector& value) { SetRemovals(value); return *this;} /** *

The actions to perform for an APPROVED proposal to remove a * member from the network, which deletes the member and all associated member * resources from the network.

*/ inline ProposalActions& WithRemovals(Aws::Vector&& value) { SetRemovals(std::move(value)); return *this;} /** *

The actions to perform for an APPROVED proposal to remove a * member from the network, which deletes the member and all associated member * resources from the network.

*/ inline ProposalActions& AddRemovals(const RemoveAction& value) { m_removalsHasBeenSet = true; m_removals.push_back(value); return *this; } /** *

The actions to perform for an APPROVED proposal to remove a * member from the network, which deletes the member and all associated member * resources from the network.

*/ inline ProposalActions& AddRemovals(RemoveAction&& value) { m_removalsHasBeenSet = true; m_removals.push_back(std::move(value)); return *this; } private: Aws::Vector m_invitations; bool m_invitationsHasBeenSet = false; Aws::Vector m_removals; bool m_removalsHasBeenSet = false; }; } // namespace Model } // namespace ManagedBlockchain } // namespace Aws