amazonka-managedblockchain-2.0: Amazon Managed Blockchain SDK.
Copyright(c) 2013-2023 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellSafe-Inferred
LanguageHaskell2010

Amazonka.ManagedBlockChain.Types.Proposal

Description

 
Synopsis

Documentation

data Proposal Source #

Properties of a proposal on a Managed Blockchain network.

Applies only to Hyperledger Fabric.

See: newProposal smart constructor.

Constructors

Proposal' 

Fields

  • actions :: Maybe ProposalActions

    The actions to perform on the network if the proposal is APPROVED.

  • arn :: Maybe Text

    The Amazon Resource Name (ARN) of the proposal. For more information about ARNs and their format, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference.

  • creationDate :: Maybe ISO8601

    The date and time that the proposal was created.

  • description :: Maybe Text

    The description of the proposal.

  • expirationDate :: Maybe ISO8601

    The date and time that the proposal expires. This is the CreationDate plus the ProposalDurationInHours that is specified in the ProposalThresholdPolicy. After this date and time, if members haven't cast enough votes to determine the outcome according to the voting policy, the proposal is EXPIRED and Actions aren't carried out.

  • networkId :: Maybe Text

    The unique identifier of the network for which the proposal is made.

  • noVoteCount :: Maybe Int

    The current total of NO votes cast on the proposal by members.

  • outstandingVoteCount :: Maybe Int

    The number of votes remaining to be cast on the proposal by members. In other words, the number of members minus the sum of YES votes and NO votes.

  • proposalId :: Maybe Text

    The unique identifier of the proposal.

  • proposedByMemberId :: Maybe Text

    The unique identifier of the member that created the proposal.

  • proposedByMemberName :: Maybe Text

    The name of the member that created the proposal.

  • status :: Maybe ProposalStatus

    The status of the proposal. Values are as follows:

    • IN_PROGRESS - The proposal is active and open for member voting.
    • APPROVED - The proposal was approved with sufficient YES votes among members according to the VotingPolicy specified for the Network. The specified proposal actions are carried out.
    • REJECTED - The proposal was rejected with insufficient YES votes among members according to the VotingPolicy specified for the Network. The specified ProposalActions aren't carried out.
    • EXPIRED - Members didn't cast the number of votes required to determine the proposal outcome before the proposal expired. The specified ProposalActions aren't carried out.
    • ACTION_FAILED - One or more of the specified ProposalActions in a proposal that was approved couldn't be completed because of an error. The ACTION_FAILED status occurs even if only one ProposalAction fails and other actions are successful.
  • tags :: Maybe (HashMap Text Text)

    Tags assigned to the proposal. Each tag consists of a key and optional value.

    For more information about tags, see Tagging Resources in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.

  • yesVoteCount :: Maybe Int

    The current total of YES votes cast on the proposal by members.

Instances

Instances details
FromJSON Proposal Source # 
Instance details

Defined in Amazonka.ManagedBlockChain.Types.Proposal

Generic Proposal Source # 
Instance details

Defined in Amazonka.ManagedBlockChain.Types.Proposal

Associated Types

type Rep Proposal :: Type -> Type #

Methods

from :: Proposal -> Rep Proposal x #

to :: Rep Proposal x -> Proposal #

Read Proposal Source # 
Instance details

Defined in Amazonka.ManagedBlockChain.Types.Proposal

Show Proposal Source # 
Instance details

Defined in Amazonka.ManagedBlockChain.Types.Proposal

NFData Proposal Source # 
Instance details

Defined in Amazonka.ManagedBlockChain.Types.Proposal

Methods

rnf :: Proposal -> () #

Eq Proposal Source # 
Instance details

Defined in Amazonka.ManagedBlockChain.Types.Proposal

Hashable Proposal Source # 
Instance details

Defined in Amazonka.ManagedBlockChain.Types.Proposal

Methods

hashWithSalt :: Int -> Proposal -> Int #

hash :: Proposal -> Int #

type Rep Proposal Source # 
Instance details

Defined in Amazonka.ManagedBlockChain.Types.Proposal

type Rep Proposal = D1 ('MetaData "Proposal" "Amazonka.ManagedBlockChain.Types.Proposal" "amazonka-managedblockchain-2.0-7ETEoTxOH0EDuOBkhEvxdC" 'False) (C1 ('MetaCons "Proposal'" 'PrefixI 'True) (((S1 ('MetaSel ('Just "actions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ProposalActions)) :*: (S1 ('MetaSel ('Just "arn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "creationDate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ISO8601)))) :*: ((S1 ('MetaSel ('Just "description") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "expirationDate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ISO8601))) :*: (S1 ('MetaSel ('Just "networkId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "noVoteCount") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int))))) :*: ((S1 ('MetaSel ('Just "outstandingVoteCount") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int)) :*: (S1 ('MetaSel ('Just "proposalId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "proposedByMemberId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)))) :*: ((S1 ('MetaSel ('Just "proposedByMemberName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "status") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ProposalStatus))) :*: (S1 ('MetaSel ('Just "tags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (HashMap Text Text))) :*: S1 ('MetaSel ('Just "yesVoteCount") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int)))))))

newProposal :: Proposal Source #

Create a value of Proposal with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:actions:Proposal', proposal_actions - The actions to perform on the network if the proposal is APPROVED.

$sel:arn:Proposal', proposal_arn - The Amazon Resource Name (ARN) of the proposal. For more information about ARNs and their format, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference.

$sel:creationDate:Proposal', proposal_creationDate - The date and time that the proposal was created.

$sel:description:Proposal', proposal_description - The description of the proposal.

$sel:expirationDate:Proposal', proposal_expirationDate - The date and time that the proposal expires. This is the CreationDate plus the ProposalDurationInHours that is specified in the ProposalThresholdPolicy. After this date and time, if members haven't cast enough votes to determine the outcome according to the voting policy, the proposal is EXPIRED and Actions aren't carried out.

$sel:networkId:Proposal', proposal_networkId - The unique identifier of the network for which the proposal is made.

$sel:noVoteCount:Proposal', proposal_noVoteCount - The current total of NO votes cast on the proposal by members.

$sel:outstandingVoteCount:Proposal', proposal_outstandingVoteCount - The number of votes remaining to be cast on the proposal by members. In other words, the number of members minus the sum of YES votes and NO votes.

$sel:proposalId:Proposal', proposal_proposalId - The unique identifier of the proposal.

$sel:proposedByMemberId:Proposal', proposal_proposedByMemberId - The unique identifier of the member that created the proposal.

$sel:proposedByMemberName:Proposal', proposal_proposedByMemberName - The name of the member that created the proposal.

$sel:status:Proposal', proposal_status - The status of the proposal. Values are as follows:

  • IN_PROGRESS - The proposal is active and open for member voting.
  • APPROVED - The proposal was approved with sufficient YES votes among members according to the VotingPolicy specified for the Network. The specified proposal actions are carried out.
  • REJECTED - The proposal was rejected with insufficient YES votes among members according to the VotingPolicy specified for the Network. The specified ProposalActions aren't carried out.
  • EXPIRED - Members didn't cast the number of votes required to determine the proposal outcome before the proposal expired. The specified ProposalActions aren't carried out.
  • ACTION_FAILED - One or more of the specified ProposalActions in a proposal that was approved couldn't be completed because of an error. The ACTION_FAILED status occurs even if only one ProposalAction fails and other actions are successful.

$sel:tags:Proposal', proposal_tags - Tags assigned to the proposal. Each tag consists of a key and optional value.

For more information about tags, see Tagging Resources in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.

$sel:yesVoteCount:Proposal', proposal_yesVoteCount - The current total of YES votes cast on the proposal by members.

proposal_actions :: Lens' Proposal (Maybe ProposalActions) Source #

The actions to perform on the network if the proposal is APPROVED.

proposal_arn :: Lens' Proposal (Maybe Text) Source #

The Amazon Resource Name (ARN) of the proposal. For more information about ARNs and their format, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference.

proposal_creationDate :: Lens' Proposal (Maybe UTCTime) Source #

The date and time that the proposal was created.

proposal_description :: Lens' Proposal (Maybe Text) Source #

The description of the proposal.

proposal_expirationDate :: Lens' Proposal (Maybe UTCTime) Source #

The date and time that the proposal expires. This is the CreationDate plus the ProposalDurationInHours that is specified in the ProposalThresholdPolicy. After this date and time, if members haven't cast enough votes to determine the outcome according to the voting policy, the proposal is EXPIRED and Actions aren't carried out.

proposal_networkId :: Lens' Proposal (Maybe Text) Source #

The unique identifier of the network for which the proposal is made.

proposal_noVoteCount :: Lens' Proposal (Maybe Int) Source #

The current total of NO votes cast on the proposal by members.

proposal_outstandingVoteCount :: Lens' Proposal (Maybe Int) Source #

The number of votes remaining to be cast on the proposal by members. In other words, the number of members minus the sum of YES votes and NO votes.

proposal_proposalId :: Lens' Proposal (Maybe Text) Source #

The unique identifier of the proposal.

proposal_proposedByMemberId :: Lens' Proposal (Maybe Text) Source #

The unique identifier of the member that created the proposal.

proposal_proposedByMemberName :: Lens' Proposal (Maybe Text) Source #

The name of the member that created the proposal.

proposal_status :: Lens' Proposal (Maybe ProposalStatus) Source #

The status of the proposal. Values are as follows:

  • IN_PROGRESS - The proposal is active and open for member voting.
  • APPROVED - The proposal was approved with sufficient YES votes among members according to the VotingPolicy specified for the Network. The specified proposal actions are carried out.
  • REJECTED - The proposal was rejected with insufficient YES votes among members according to the VotingPolicy specified for the Network. The specified ProposalActions aren't carried out.
  • EXPIRED - Members didn't cast the number of votes required to determine the proposal outcome before the proposal expired. The specified ProposalActions aren't carried out.
  • ACTION_FAILED - One or more of the specified ProposalActions in a proposal that was approved couldn't be completed because of an error. The ACTION_FAILED status occurs even if only one ProposalAction fails and other actions are successful.

proposal_tags :: Lens' Proposal (Maybe (HashMap Text Text)) Source #

Tags assigned to the proposal. Each tag consists of a key and optional value.

For more information about tags, see Tagging Resources in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.

proposal_yesVoteCount :: Lens' Proposal (Maybe Int) Source #

The current total of YES votes cast on the proposal by members.