/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the managedblockchain-2018-09-24.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.ManagedBlockchain.Model { /// /// Properties of a proposal on a Managed Blockchain network. /// /// /// /// Applies only to Hyperledger Fabric. /// /// public partial class Proposal { private ProposalActions _actions; private string _arn; private DateTime? _creationDate; private string _description; private DateTime? _expirationDate; private string _networkId; private int? _noVoteCount; private int? _outstandingVoteCount; private string _proposalId; private string _proposedByMemberId; private string _proposedByMemberName; private ProposalStatus _status; private Dictionary _tags = new Dictionary(); private int? _yesVoteCount; /// /// Gets and sets the property Actions. /// /// The actions to perform on the network if the proposal is APPROVED. /// /// public ProposalActions Actions { get { return this._actions; } set { this._actions = value; } } // Check to see if Actions property is set internal bool IsSetActions() { return this._actions != null; } /// /// Gets and sets the property 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. /// /// [AWSProperty(Min=1, Max=1011)] public string Arn { get { return this._arn; } set { this._arn = value; } } // Check to see if Arn property is set internal bool IsSetArn() { return this._arn != null; } /// /// Gets and sets the property CreationDate. /// /// The date and time that the proposal was created. /// /// public DateTime CreationDate { get { return this._creationDate.GetValueOrDefault(); } set { this._creationDate = value; } } // Check to see if CreationDate property is set internal bool IsSetCreationDate() { return this._creationDate.HasValue; } /// /// Gets and sets the property Description. /// /// The description of the proposal. /// /// [AWSProperty(Max=128)] public string Description { get { return this._description; } set { this._description = value; } } // Check to see if Description property is set internal bool IsSetDescription() { return this._description != null; } /// /// Gets and sets the property 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. /// /// public DateTime ExpirationDate { get { return this._expirationDate.GetValueOrDefault(); } set { this._expirationDate = value; } } // Check to see if ExpirationDate property is set internal bool IsSetExpirationDate() { return this._expirationDate.HasValue; } /// /// Gets and sets the property NetworkId. /// /// The unique identifier of the network for which the proposal is made. /// /// [AWSProperty(Min=1, Max=32)] public string NetworkId { get { return this._networkId; } set { this._networkId = value; } } // Check to see if NetworkId property is set internal bool IsSetNetworkId() { return this._networkId != null; } /// /// Gets and sets the property NoVoteCount. /// /// The current total of NO votes cast on the proposal by members. /// /// public int NoVoteCount { get { return this._noVoteCount.GetValueOrDefault(); } set { this._noVoteCount = value; } } // Check to see if NoVoteCount property is set internal bool IsSetNoVoteCount() { return this._noVoteCount.HasValue; } /// /// Gets and sets the property 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. /// /// public int OutstandingVoteCount { get { return this._outstandingVoteCount.GetValueOrDefault(); } set { this._outstandingVoteCount = value; } } // Check to see if OutstandingVoteCount property is set internal bool IsSetOutstandingVoteCount() { return this._outstandingVoteCount.HasValue; } /// /// Gets and sets the property ProposalId. /// /// The unique identifier of the proposal. /// /// [AWSProperty(Min=1, Max=32)] public string ProposalId { get { return this._proposalId; } set { this._proposalId = value; } } // Check to see if ProposalId property is set internal bool IsSetProposalId() { return this._proposalId != null; } /// /// Gets and sets the property ProposedByMemberId. /// /// The unique identifier of the member that created the proposal. /// /// [AWSProperty(Min=1, Max=32)] public string ProposedByMemberId { get { return this._proposedByMemberId; } set { this._proposedByMemberId = value; } } // Check to see if ProposedByMemberId property is set internal bool IsSetProposedByMemberId() { return this._proposedByMemberId != null; } /// /// Gets and sets the property ProposedByMemberName. /// /// The name of the member that created the proposal. /// /// [AWSProperty(Min=1, Max=64)] public string ProposedByMemberName { get { return this._proposedByMemberName; } set { this._proposedByMemberName = value; } } // Check to see if ProposedByMemberName property is set internal bool IsSetProposedByMemberName() { return this._proposedByMemberName != null; } /// /// Gets and sets the property 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. /// ///
///
public ProposalStatus Status { get { return this._status; } set { this._status = value; } } // Check to see if Status property is set internal bool IsSetStatus() { return this._status != null; } /// /// Gets and sets the property 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. /// /// [AWSProperty(Min=0, Max=200)] public Dictionary Tags { get { return this._tags; } set { this._tags = value; } } // Check to see if Tags property is set internal bool IsSetTags() { return this._tags != null && this._tags.Count > 0; } /// /// Gets and sets the property YesVoteCount. /// /// The current total of YES votes cast on the proposal by members. /// /// public int YesVoteCount { get { return this._yesVoteCount.GetValueOrDefault(); } set { this._yesVoteCount = value; } } // Check to see if YesVoteCount property is set internal bool IsSetYesVoteCount() { return this._yesVoteCount.HasValue; } } }