libZSservicesZSamazonka-managedblockchainZSamazonka-managedblockchain
Copyright(c) 2013-2021 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay+amazonka@gmail.com>
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellNone

Amazonka.ManagedBlockChain.Types.ApprovalThresholdPolicy

Description

 
Synopsis

Documentation

data ApprovalThresholdPolicy Source #

A policy type that defines the voting rules for the network. The rules decide if a proposal is approved. Approval may be based on criteria such as the percentage of YES votes and the duration of the proposal. The policy applies to all proposals and is specified when the network is created.

Applies only to Hyperledger Fabric.

See: newApprovalThresholdPolicy smart constructor.

Constructors

ApprovalThresholdPolicy' 

Fields

  • thresholdPercentage :: Maybe Natural

    The percentage of votes among all members that must be YES for a proposal to be approved. For example, a ThresholdPercentage value of 50 indicates 50%. The ThresholdComparator determines the precise comparison. If a ThresholdPercentage value of 50 is specified on a network with 10 members, along with a ThresholdComparator value of GREATER_THAN, this indicates that 6 YES votes are required for the proposal to be approved.

  • thresholdComparator :: Maybe ThresholdComparator

    Determines whether the vote percentage must be greater than the ThresholdPercentage or must be greater than or equal to the ThreholdPercentage to be approved.

  • proposalDurationInHours :: Maybe Natural

    The duration from the time that a proposal is created until it expires. If members cast neither the required number of YES votes to approve the proposal nor the number of NO votes required to reject it before the duration expires, the proposal is EXPIRED and ProposalActions are not carried out.

Instances

Instances details
Eq ApprovalThresholdPolicy Source # 
Instance details

Defined in Amazonka.ManagedBlockChain.Types.ApprovalThresholdPolicy

Read ApprovalThresholdPolicy Source # 
Instance details

Defined in Amazonka.ManagedBlockChain.Types.ApprovalThresholdPolicy

Show ApprovalThresholdPolicy Source # 
Instance details

Defined in Amazonka.ManagedBlockChain.Types.ApprovalThresholdPolicy

Generic ApprovalThresholdPolicy Source # 
Instance details

Defined in Amazonka.ManagedBlockChain.Types.ApprovalThresholdPolicy

Associated Types

type Rep ApprovalThresholdPolicy :: Type -> Type #

NFData ApprovalThresholdPolicy Source # 
Instance details

Defined in Amazonka.ManagedBlockChain.Types.ApprovalThresholdPolicy

Methods

rnf :: ApprovalThresholdPolicy -> () #

Hashable ApprovalThresholdPolicy Source # 
Instance details

Defined in Amazonka.ManagedBlockChain.Types.ApprovalThresholdPolicy

ToJSON ApprovalThresholdPolicy Source # 
Instance details

Defined in Amazonka.ManagedBlockChain.Types.ApprovalThresholdPolicy

FromJSON ApprovalThresholdPolicy Source # 
Instance details

Defined in Amazonka.ManagedBlockChain.Types.ApprovalThresholdPolicy

type Rep ApprovalThresholdPolicy Source # 
Instance details

Defined in Amazonka.ManagedBlockChain.Types.ApprovalThresholdPolicy

type Rep ApprovalThresholdPolicy = D1 ('MetaData "ApprovalThresholdPolicy" "Amazonka.ManagedBlockChain.Types.ApprovalThresholdPolicy" "libZSservicesZSamazonka-managedblockchainZSamazonka-managedblockchain" 'False) (C1 ('MetaCons "ApprovalThresholdPolicy'" 'PrefixI 'True) (S1 ('MetaSel ('Just "thresholdPercentage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Natural)) :*: (S1 ('MetaSel ('Just "thresholdComparator") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ThresholdComparator)) :*: S1 ('MetaSel ('Just "proposalDurationInHours") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Natural)))))

newApprovalThresholdPolicy :: ApprovalThresholdPolicy Source #

Create a value of ApprovalThresholdPolicy 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:thresholdPercentage:ApprovalThresholdPolicy', approvalThresholdPolicy_thresholdPercentage - The percentage of votes among all members that must be YES for a proposal to be approved. For example, a ThresholdPercentage value of 50 indicates 50%. The ThresholdComparator determines the precise comparison. If a ThresholdPercentage value of 50 is specified on a network with 10 members, along with a ThresholdComparator value of GREATER_THAN, this indicates that 6 YES votes are required for the proposal to be approved.

$sel:thresholdComparator:ApprovalThresholdPolicy', approvalThresholdPolicy_thresholdComparator - Determines whether the vote percentage must be greater than the ThresholdPercentage or must be greater than or equal to the ThreholdPercentage to be approved.

$sel:proposalDurationInHours:ApprovalThresholdPolicy', approvalThresholdPolicy_proposalDurationInHours - The duration from the time that a proposal is created until it expires. If members cast neither the required number of YES votes to approve the proposal nor the number of NO votes required to reject it before the duration expires, the proposal is EXPIRED and ProposalActions are not carried out.

approvalThresholdPolicy_thresholdPercentage :: Lens' ApprovalThresholdPolicy (Maybe Natural) Source #

The percentage of votes among all members that must be YES for a proposal to be approved. For example, a ThresholdPercentage value of 50 indicates 50%. The ThresholdComparator determines the precise comparison. If a ThresholdPercentage value of 50 is specified on a network with 10 members, along with a ThresholdComparator value of GREATER_THAN, this indicates that 6 YES votes are required for the proposal to be approved.

approvalThresholdPolicy_thresholdComparator :: Lens' ApprovalThresholdPolicy (Maybe ThresholdComparator) Source #

Determines whether the vote percentage must be greater than the ThresholdPercentage or must be greater than or equal to the ThreholdPercentage to be approved.

approvalThresholdPolicy_proposalDurationInHours :: Lens' ApprovalThresholdPolicy (Maybe Natural) Source #

The duration from the time that a proposal is created until it expires. If members cast neither the required number of YES votes to approve the proposal nor the number of NO votes required to reject it before the duration expires, the proposal is EXPIRED and ProposalActions are not carried out.