java.lang.Object
software.amazon.awssdk.services.managedblockchain.model.Proposal
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<Proposal.Builder,Proposal>

@Generated("software.amazon.awssdk:codegen") public final class Proposal extends Object implements SdkPojo, Serializable, ToCopyableBuilder<Proposal.Builder,Proposal>

Properties of a proposal on a Managed Blockchain network.

Applies only to Hyperledger Fabric.

See Also:
  • Method Details

    • proposalId

      public final String proposalId()

      The unique identifier of the proposal.

      Returns:
      The unique identifier of the proposal.
    • networkId

      public final String networkId()

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

      Returns:
      The unique identifier of the network for which the proposal is made.
    • description

      public final String description()

      The description of the proposal.

      Returns:
      The description of the proposal.
    • actions

      public final ProposalActions actions()

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

      Returns:
      The actions to perform on the network if the proposal is APPROVED.
    • proposedByMemberId

      public final String proposedByMemberId()

      The unique identifier of the member that created the proposal.

      Returns:
      The unique identifier of the member that created the proposal.
    • proposedByMemberName

      public final String proposedByMemberName()

      The name of the member that created the proposal.

      Returns:
      The name of the member that created the proposal.
    • status

      public final ProposalStatus 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.

      If the service returns an enum value that is not available in the current SDK version, status will return ProposalStatus.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from statusAsString().

      Returns:
      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.

      See Also:
    • statusAsString

      public final String statusAsString()

      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.

      If the service returns an enum value that is not available in the current SDK version, status will return ProposalStatus.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from statusAsString().

      Returns:
      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.

      See Also:
    • creationDate

      public final Instant creationDate()

      The date and time that the proposal was created.

      Returns:
      The date and time that the proposal was created.
    • expirationDate

      public final Instant 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.

      Returns:
      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.
    • yesVoteCount

      public final Integer yesVoteCount()

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

      Returns:
      The current total of YES votes cast on the proposal by members.
    • noVoteCount

      public final Integer noVoteCount()

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

      Returns:
      The current total of NO votes cast on the proposal by members.
    • outstandingVoteCount

      public final Integer 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.

      Returns:
      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.
    • hasTags

      public final boolean hasTags()
      For responses, this returns true if the service returned a value for the Tags property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • tags

      public final Map<String,String> 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.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasTags() method.

      Returns:
      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.

    • arn

      public final String 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.

      Returns:
      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.
    • toBuilder

      public Proposal.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<Proposal.Builder,Proposal>
      Returns:
      a builder for type T
    • builder

      public static Proposal.Builder builder()
    • serializableBuilderClass

      public static Class<? extends Proposal.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.