CreateProposal - Amazon Managed Blockchain

CreateProposal

Creates a proposal for a change to the network that other members of the network can vote on, for example, a proposal to add a new member to the network. Any member can create a proposal.

Applies only to Hyperledger Fabric.

Request Syntax

POST /networks/networkId/proposals HTTP/1.1 Content-type: application/json { "Actions": { "Invitations": [ { "Principal": "string" } ], "Removals": [ { "MemberId": "string" } ] }, "ClientRequestToken": "string", "Description": "string", "MemberId": "string", "Tags": { "string" : "string" } }

URI Request Parameters

The request uses the following URI parameters.

networkId

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

Length Constraints: Minimum length of 1. Maximum length of 32.

Required: Yes

Request Body

The request accepts the following data in JSON format.

Actions

The type of actions proposed, such as inviting a member or removing a member. The types of Actions in a proposal are mutually exclusive. For example, a proposal with Invitations actions cannot also contain Removals actions.

Type: ProposalActions object

Required: Yes

ClientRequestToken

A unique, case-sensitive identifier that you provide to ensure the idempotency of the operation. An idempotent operation completes no more than one time. This identifier is required only if you make a service request directly using an HTTP client. It is generated automatically if you use an AWS SDK or the AWS CLI.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.

Required: Yes

Description

A description for the proposal that is visible to voting members, for example, "Proposal to add Example Corp. as member."

Type: String

Length Constraints: Maximum length of 128.

Required: No

MemberId

The unique identifier of the member that is creating the proposal. This identifier is especially useful for identifying the member making the proposal when multiple members exist in a single AWS account.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 32.

Required: Yes

Tags

Tags to assign to the proposal.

Each tag consists of a key and an optional value. You can specify multiple key-value pairs in a single request with an overall maximum of 50 tags allowed per resource.

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.

Type: String to string map

Map Entries: Minimum number of 0 items. Maximum number of 50 items.

Key Length Constraints: Minimum length of 1. Maximum length of 128.

Value Length Constraints: Minimum length of 0. Maximum length of 256.

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "ProposalId": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

ProposalId

The unique identifier of the proposal.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 32.

Errors

For information about the errors that are common to all actions, see Common Errors.

AccessDeniedException

You don't have sufficient access to perform this action.

HTTP Status Code: 403

InternalServiceErrorException

The request processing has failed because of an unknown error, exception or failure.

HTTP Status Code: 500

InvalidRequestException

The action or operation requested is invalid. Verify that the action is typed correctly.

HTTP Status Code: 400

ResourceNotFoundException

A requested resource doesn't exist. It may have been deleted or referenced incorrectly.

HTTP Status Code: 404

ResourceNotReadyException

The requested resource exists but isn't in a status that can complete the operation.

HTTP Status Code: 409

ThrottlingException

The request or operation couldn't be performed because a service is throttling requests. The most common source of throttling errors is creating resources that exceed your service limit for this resource type. Request a limit increase or delete unused resources if possible.

HTTP Status Code: 429

TooManyTagsException

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: