Struct aws_sdk_managedblockchain::types::Proposal

source ·
#[non_exhaustive]
pub struct Proposal {
Show 14 fields pub proposal_id: Option<String>, pub network_id: Option<String>, pub description: Option<String>, pub actions: Option<ProposalActions>, pub proposed_by_member_id: Option<String>, pub proposed_by_member_name: Option<String>, pub status: Option<ProposalStatus>, pub creation_date: Option<DateTime>, pub expiration_date: Option<DateTime>, pub yes_vote_count: Option<i32>, pub no_vote_count: Option<i32>, pub outstanding_vote_count: Option<i32>, pub tags: Option<HashMap<String, String>>, pub arn: Option<String>,
}
Expand description

Properties of a proposal on a Managed Blockchain network.

Applies only to Hyperledger Fabric.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§proposal_id: Option<String>

The unique identifier of the proposal.

§network_id: Option<String>

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

§description: Option<String>

The description of the proposal.

§actions: Option<ProposalActions>

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

§proposed_by_member_id: Option<String>

The unique identifier of the member that created the proposal.

§proposed_by_member_name: Option<String>

The name of the member that created the proposal.

§status: Option<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.

§creation_date: Option<DateTime>

The date and time that the proposal was created.

§expiration_date: Option<DateTime>

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.

§yes_vote_count: Option<i32>

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

§no_vote_count: Option<i32>

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

§outstanding_vote_count: Option<i32>

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.

§tags: Option<HashMap<String, String>>

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: Option<String>

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.

Implementations§

source§

impl Proposal

source

pub fn proposal_id(&self) -> Option<&str>

The unique identifier of the proposal.

source

pub fn network_id(&self) -> Option<&str>

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

source

pub fn description(&self) -> Option<&str>

The description of the proposal.

source

pub fn actions(&self) -> Option<&ProposalActions>

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

source

pub fn proposed_by_member_id(&self) -> Option<&str>

The unique identifier of the member that created the proposal.

source

pub fn proposed_by_member_name(&self) -> Option<&str>

The name of the member that created the proposal.

source

pub fn status(&self) -> Option<&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.

source

pub fn creation_date(&self) -> Option<&DateTime>

The date and time that the proposal was created.

source

pub fn expiration_date(&self) -> Option<&DateTime>

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.

source

pub fn yes_vote_count(&self) -> Option<i32>

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

source

pub fn no_vote_count(&self) -> Option<i32>

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

source

pub fn outstanding_vote_count(&self) -> Option<i32>

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.

source

pub fn tags(&self) -> Option<&HashMap<String, String>>

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.

source

pub fn arn(&self) -> Option<&str>

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.

source§

impl Proposal

source

pub fn builder() -> ProposalBuilder

Creates a new builder-style object to manufacture Proposal.

Trait Implementations§

source§

impl Clone for Proposal

source§

fn clone(&self) -> Proposal

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Proposal

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq for Proposal

source§

fn eq(&self, other: &Proposal) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for Proposal

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more