1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package managedblockchain
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/restjson"
14)
15
16const opCreateMember = "CreateMember"
17
18// CreateMemberRequest generates a "aws/request.Request" representing the
19// client's request for the CreateMember operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See CreateMember for more information on using the CreateMember
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the CreateMemberRequest method.
34//    req, resp := client.CreateMemberRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/CreateMember
42func (c *ManagedBlockchain) CreateMemberRequest(input *CreateMemberInput) (req *request.Request, output *CreateMemberOutput) {
43	op := &request.Operation{
44		Name:       opCreateMember,
45		HTTPMethod: "POST",
46		HTTPPath:   "/networks/{networkId}/members",
47	}
48
49	if input == nil {
50		input = &CreateMemberInput{}
51	}
52
53	output = &CreateMemberOutput{}
54	req = c.newRequest(op, input, output)
55	return
56}
57
58// CreateMember API operation for Amazon Managed Blockchain.
59//
60// Creates a member within a Managed Blockchain network.
61//
62// Applies only to Hyperledger Fabric.
63//
64// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
65// with awserr.Error's Code and Message methods to get detailed information about
66// the error.
67//
68// See the AWS API reference guide for Amazon Managed Blockchain's
69// API operation CreateMember for usage and error information.
70//
71// Returned Error Types:
72//   * InvalidRequestException
73//   The action or operation requested is invalid. Verify that the action is typed
74//   correctly.
75//
76//   * AccessDeniedException
77//   You do not have sufficient access to perform this action.
78//
79//   * ResourceNotFoundException
80//   A requested resource does not exist. It may have been deleted or referenced
81//   inaccurately.
82//
83//   * ResourceAlreadyExistsException
84//   A resource request is issued for a resource that already exists.
85//
86//   * ResourceNotReadyException
87//   The requested resource exists but is not in a status that can complete the
88//   operation.
89//
90//   * ThrottlingException
91//   The request or operation could not be performed because a service is throttling
92//   requests. The most common source of throttling errors is launching EC2 instances
93//   such that your service limit for EC2 instances is exceeded. Request a limit
94//   increase or delete unused resources if possible.
95//
96//   * ResourceLimitExceededException
97//   The maximum number of resources of that type already exist. Ensure the resources
98//   requested are within the boundaries of the service edition and your account
99//   limits.
100//
101//   * InternalServiceErrorException
102//   The request processing has failed because of an unknown error, exception
103//   or failure.
104//
105//   * TooManyTagsException
106//
107// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/CreateMember
108func (c *ManagedBlockchain) CreateMember(input *CreateMemberInput) (*CreateMemberOutput, error) {
109	req, out := c.CreateMemberRequest(input)
110	return out, req.Send()
111}
112
113// CreateMemberWithContext is the same as CreateMember with the addition of
114// the ability to pass a context and additional request options.
115//
116// See CreateMember for details on how to use this API operation.
117//
118// The context must be non-nil and will be used for request cancellation. If
119// the context is nil a panic will occur. In the future the SDK may create
120// sub-contexts for http.Requests. See https://golang.org/pkg/context/
121// for more information on using Contexts.
122func (c *ManagedBlockchain) CreateMemberWithContext(ctx aws.Context, input *CreateMemberInput, opts ...request.Option) (*CreateMemberOutput, error) {
123	req, out := c.CreateMemberRequest(input)
124	req.SetContext(ctx)
125	req.ApplyOptions(opts...)
126	return out, req.Send()
127}
128
129const opCreateNetwork = "CreateNetwork"
130
131// CreateNetworkRequest generates a "aws/request.Request" representing the
132// client's request for the CreateNetwork operation. The "output" return
133// value will be populated with the request's response once the request completes
134// successfully.
135//
136// Use "Send" method on the returned Request to send the API call to the service.
137// the "output" return value is not valid until after Send returns without error.
138//
139// See CreateNetwork for more information on using the CreateNetwork
140// API call, and error handling.
141//
142// This method is useful when you want to inject custom logic or configuration
143// into the SDK's request lifecycle. Such as custom headers, or retry logic.
144//
145//
146//    // Example sending a request using the CreateNetworkRequest method.
147//    req, resp := client.CreateNetworkRequest(params)
148//
149//    err := req.Send()
150//    if err == nil { // resp is now filled
151//        fmt.Println(resp)
152//    }
153//
154// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/CreateNetwork
155func (c *ManagedBlockchain) CreateNetworkRequest(input *CreateNetworkInput) (req *request.Request, output *CreateNetworkOutput) {
156	op := &request.Operation{
157		Name:       opCreateNetwork,
158		HTTPMethod: "POST",
159		HTTPPath:   "/networks",
160	}
161
162	if input == nil {
163		input = &CreateNetworkInput{}
164	}
165
166	output = &CreateNetworkOutput{}
167	req = c.newRequest(op, input, output)
168	return
169}
170
171// CreateNetwork API operation for Amazon Managed Blockchain.
172//
173// Creates a new blockchain network using Amazon Managed Blockchain.
174//
175// Applies only to Hyperledger Fabric.
176//
177// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
178// with awserr.Error's Code and Message methods to get detailed information about
179// the error.
180//
181// See the AWS API reference guide for Amazon Managed Blockchain's
182// API operation CreateNetwork for usage and error information.
183//
184// Returned Error Types:
185//   * InvalidRequestException
186//   The action or operation requested is invalid. Verify that the action is typed
187//   correctly.
188//
189//   * AccessDeniedException
190//   You do not have sufficient access to perform this action.
191//
192//   * ResourceAlreadyExistsException
193//   A resource request is issued for a resource that already exists.
194//
195//   * ThrottlingException
196//   The request or operation could not be performed because a service is throttling
197//   requests. The most common source of throttling errors is launching EC2 instances
198//   such that your service limit for EC2 instances is exceeded. Request a limit
199//   increase or delete unused resources if possible.
200//
201//   * ResourceLimitExceededException
202//   The maximum number of resources of that type already exist. Ensure the resources
203//   requested are within the boundaries of the service edition and your account
204//   limits.
205//
206//   * InternalServiceErrorException
207//   The request processing has failed because of an unknown error, exception
208//   or failure.
209//
210//   * TooManyTagsException
211//
212// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/CreateNetwork
213func (c *ManagedBlockchain) CreateNetwork(input *CreateNetworkInput) (*CreateNetworkOutput, error) {
214	req, out := c.CreateNetworkRequest(input)
215	return out, req.Send()
216}
217
218// CreateNetworkWithContext is the same as CreateNetwork with the addition of
219// the ability to pass a context and additional request options.
220//
221// See CreateNetwork for details on how to use this API operation.
222//
223// The context must be non-nil and will be used for request cancellation. If
224// the context is nil a panic will occur. In the future the SDK may create
225// sub-contexts for http.Requests. See https://golang.org/pkg/context/
226// for more information on using Contexts.
227func (c *ManagedBlockchain) CreateNetworkWithContext(ctx aws.Context, input *CreateNetworkInput, opts ...request.Option) (*CreateNetworkOutput, error) {
228	req, out := c.CreateNetworkRequest(input)
229	req.SetContext(ctx)
230	req.ApplyOptions(opts...)
231	return out, req.Send()
232}
233
234const opCreateNode = "CreateNode"
235
236// CreateNodeRequest generates a "aws/request.Request" representing the
237// client's request for the CreateNode operation. The "output" return
238// value will be populated with the request's response once the request completes
239// successfully.
240//
241// Use "Send" method on the returned Request to send the API call to the service.
242// the "output" return value is not valid until after Send returns without error.
243//
244// See CreateNode for more information on using the CreateNode
245// API call, and error handling.
246//
247// This method is useful when you want to inject custom logic or configuration
248// into the SDK's request lifecycle. Such as custom headers, or retry logic.
249//
250//
251//    // Example sending a request using the CreateNodeRequest method.
252//    req, resp := client.CreateNodeRequest(params)
253//
254//    err := req.Send()
255//    if err == nil { // resp is now filled
256//        fmt.Println(resp)
257//    }
258//
259// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/CreateNode
260func (c *ManagedBlockchain) CreateNodeRequest(input *CreateNodeInput) (req *request.Request, output *CreateNodeOutput) {
261	op := &request.Operation{
262		Name:       opCreateNode,
263		HTTPMethod: "POST",
264		HTTPPath:   "/networks/{networkId}/nodes",
265	}
266
267	if input == nil {
268		input = &CreateNodeInput{}
269	}
270
271	output = &CreateNodeOutput{}
272	req = c.newRequest(op, input, output)
273	return
274}
275
276// CreateNode API operation for Amazon Managed Blockchain.
277//
278// Creates a node on the specified blockchain network.
279//
280// Applies to Hyperledger Fabric and Ethereum.
281//
282// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
283// with awserr.Error's Code and Message methods to get detailed information about
284// the error.
285//
286// See the AWS API reference guide for Amazon Managed Blockchain's
287// API operation CreateNode for usage and error information.
288//
289// Returned Error Types:
290//   * InvalidRequestException
291//   The action or operation requested is invalid. Verify that the action is typed
292//   correctly.
293//
294//   * AccessDeniedException
295//   You do not have sufficient access to perform this action.
296//
297//   * ResourceNotFoundException
298//   A requested resource does not exist. It may have been deleted or referenced
299//   inaccurately.
300//
301//   * ResourceAlreadyExistsException
302//   A resource request is issued for a resource that already exists.
303//
304//   * ResourceNotReadyException
305//   The requested resource exists but is not in a status that can complete the
306//   operation.
307//
308//   * ThrottlingException
309//   The request or operation could not be performed because a service is throttling
310//   requests. The most common source of throttling errors is launching EC2 instances
311//   such that your service limit for EC2 instances is exceeded. Request a limit
312//   increase or delete unused resources if possible.
313//
314//   * ResourceLimitExceededException
315//   The maximum number of resources of that type already exist. Ensure the resources
316//   requested are within the boundaries of the service edition and your account
317//   limits.
318//
319//   * InternalServiceErrorException
320//   The request processing has failed because of an unknown error, exception
321//   or failure.
322//
323//   * TooManyTagsException
324//
325// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/CreateNode
326func (c *ManagedBlockchain) CreateNode(input *CreateNodeInput) (*CreateNodeOutput, error) {
327	req, out := c.CreateNodeRequest(input)
328	return out, req.Send()
329}
330
331// CreateNodeWithContext is the same as CreateNode with the addition of
332// the ability to pass a context and additional request options.
333//
334// See CreateNode for details on how to use this API operation.
335//
336// The context must be non-nil and will be used for request cancellation. If
337// the context is nil a panic will occur. In the future the SDK may create
338// sub-contexts for http.Requests. See https://golang.org/pkg/context/
339// for more information on using Contexts.
340func (c *ManagedBlockchain) CreateNodeWithContext(ctx aws.Context, input *CreateNodeInput, opts ...request.Option) (*CreateNodeOutput, error) {
341	req, out := c.CreateNodeRequest(input)
342	req.SetContext(ctx)
343	req.ApplyOptions(opts...)
344	return out, req.Send()
345}
346
347const opCreateProposal = "CreateProposal"
348
349// CreateProposalRequest generates a "aws/request.Request" representing the
350// client's request for the CreateProposal operation. The "output" return
351// value will be populated with the request's response once the request completes
352// successfully.
353//
354// Use "Send" method on the returned Request to send the API call to the service.
355// the "output" return value is not valid until after Send returns without error.
356//
357// See CreateProposal for more information on using the CreateProposal
358// API call, and error handling.
359//
360// This method is useful when you want to inject custom logic or configuration
361// into the SDK's request lifecycle. Such as custom headers, or retry logic.
362//
363//
364//    // Example sending a request using the CreateProposalRequest method.
365//    req, resp := client.CreateProposalRequest(params)
366//
367//    err := req.Send()
368//    if err == nil { // resp is now filled
369//        fmt.Println(resp)
370//    }
371//
372// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/CreateProposal
373func (c *ManagedBlockchain) CreateProposalRequest(input *CreateProposalInput) (req *request.Request, output *CreateProposalOutput) {
374	op := &request.Operation{
375		Name:       opCreateProposal,
376		HTTPMethod: "POST",
377		HTTPPath:   "/networks/{networkId}/proposals",
378	}
379
380	if input == nil {
381		input = &CreateProposalInput{}
382	}
383
384	output = &CreateProposalOutput{}
385	req = c.newRequest(op, input, output)
386	return
387}
388
389// CreateProposal API operation for Amazon Managed Blockchain.
390//
391// Creates a proposal for a change to the network that other members of the
392// network can vote on, for example, a proposal to add a new member to the network.
393// Any member can create a proposal.
394//
395// Applies only to Hyperledger Fabric.
396//
397// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
398// with awserr.Error's Code and Message methods to get detailed information about
399// the error.
400//
401// See the AWS API reference guide for Amazon Managed Blockchain's
402// API operation CreateProposal for usage and error information.
403//
404// Returned Error Types:
405//   * InvalidRequestException
406//   The action or operation requested is invalid. Verify that the action is typed
407//   correctly.
408//
409//   * AccessDeniedException
410//   You do not have sufficient access to perform this action.
411//
412//   * ResourceNotFoundException
413//   A requested resource does not exist. It may have been deleted or referenced
414//   inaccurately.
415//
416//   * ResourceNotReadyException
417//   The requested resource exists but is not in a status that can complete the
418//   operation.
419//
420//   * ThrottlingException
421//   The request or operation could not be performed because a service is throttling
422//   requests. The most common source of throttling errors is launching EC2 instances
423//   such that your service limit for EC2 instances is exceeded. Request a limit
424//   increase or delete unused resources if possible.
425//
426//   * InternalServiceErrorException
427//   The request processing has failed because of an unknown error, exception
428//   or failure.
429//
430//   * TooManyTagsException
431//
432// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/CreateProposal
433func (c *ManagedBlockchain) CreateProposal(input *CreateProposalInput) (*CreateProposalOutput, error) {
434	req, out := c.CreateProposalRequest(input)
435	return out, req.Send()
436}
437
438// CreateProposalWithContext is the same as CreateProposal with the addition of
439// the ability to pass a context and additional request options.
440//
441// See CreateProposal for details on how to use this API operation.
442//
443// The context must be non-nil and will be used for request cancellation. If
444// the context is nil a panic will occur. In the future the SDK may create
445// sub-contexts for http.Requests. See https://golang.org/pkg/context/
446// for more information on using Contexts.
447func (c *ManagedBlockchain) CreateProposalWithContext(ctx aws.Context, input *CreateProposalInput, opts ...request.Option) (*CreateProposalOutput, error) {
448	req, out := c.CreateProposalRequest(input)
449	req.SetContext(ctx)
450	req.ApplyOptions(opts...)
451	return out, req.Send()
452}
453
454const opDeleteMember = "DeleteMember"
455
456// DeleteMemberRequest generates a "aws/request.Request" representing the
457// client's request for the DeleteMember operation. The "output" return
458// value will be populated with the request's response once the request completes
459// successfully.
460//
461// Use "Send" method on the returned Request to send the API call to the service.
462// the "output" return value is not valid until after Send returns without error.
463//
464// See DeleteMember for more information on using the DeleteMember
465// API call, and error handling.
466//
467// This method is useful when you want to inject custom logic or configuration
468// into the SDK's request lifecycle. Such as custom headers, or retry logic.
469//
470//
471//    // Example sending a request using the DeleteMemberRequest method.
472//    req, resp := client.DeleteMemberRequest(params)
473//
474//    err := req.Send()
475//    if err == nil { // resp is now filled
476//        fmt.Println(resp)
477//    }
478//
479// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/DeleteMember
480func (c *ManagedBlockchain) DeleteMemberRequest(input *DeleteMemberInput) (req *request.Request, output *DeleteMemberOutput) {
481	op := &request.Operation{
482		Name:       opDeleteMember,
483		HTTPMethod: "DELETE",
484		HTTPPath:   "/networks/{networkId}/members/{memberId}",
485	}
486
487	if input == nil {
488		input = &DeleteMemberInput{}
489	}
490
491	output = &DeleteMemberOutput{}
492	req = c.newRequest(op, input, output)
493	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
494	return
495}
496
497// DeleteMember API operation for Amazon Managed Blockchain.
498//
499// Deletes a member. Deleting a member removes the member and all associated
500// resources from the network. DeleteMember can only be called for a specified
501// MemberId if the principal performing the action is associated with the AWS
502// account that owns the member. In all other cases, the DeleteMember action
503// is carried out as the result of an approved proposal to remove a member.
504// If MemberId is the last member in a network specified by the last AWS account,
505// the network is deleted also.
506//
507// Applies only to Hyperledger Fabric.
508//
509// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
510// with awserr.Error's Code and Message methods to get detailed information about
511// the error.
512//
513// See the AWS API reference guide for Amazon Managed Blockchain's
514// API operation DeleteMember for usage and error information.
515//
516// Returned Error Types:
517//   * InvalidRequestException
518//   The action or operation requested is invalid. Verify that the action is typed
519//   correctly.
520//
521//   * AccessDeniedException
522//   You do not have sufficient access to perform this action.
523//
524//   * ResourceNotFoundException
525//   A requested resource does not exist. It may have been deleted or referenced
526//   inaccurately.
527//
528//   * ResourceNotReadyException
529//   The requested resource exists but is not in a status that can complete the
530//   operation.
531//
532//   * ThrottlingException
533//   The request or operation could not be performed because a service is throttling
534//   requests. The most common source of throttling errors is launching EC2 instances
535//   such that your service limit for EC2 instances is exceeded. Request a limit
536//   increase or delete unused resources if possible.
537//
538//   * InternalServiceErrorException
539//   The request processing has failed because of an unknown error, exception
540//   or failure.
541//
542// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/DeleteMember
543func (c *ManagedBlockchain) DeleteMember(input *DeleteMemberInput) (*DeleteMemberOutput, error) {
544	req, out := c.DeleteMemberRequest(input)
545	return out, req.Send()
546}
547
548// DeleteMemberWithContext is the same as DeleteMember with the addition of
549// the ability to pass a context and additional request options.
550//
551// See DeleteMember for details on how to use this API operation.
552//
553// The context must be non-nil and will be used for request cancellation. If
554// the context is nil a panic will occur. In the future the SDK may create
555// sub-contexts for http.Requests. See https://golang.org/pkg/context/
556// for more information on using Contexts.
557func (c *ManagedBlockchain) DeleteMemberWithContext(ctx aws.Context, input *DeleteMemberInput, opts ...request.Option) (*DeleteMemberOutput, error) {
558	req, out := c.DeleteMemberRequest(input)
559	req.SetContext(ctx)
560	req.ApplyOptions(opts...)
561	return out, req.Send()
562}
563
564const opDeleteNode = "DeleteNode"
565
566// DeleteNodeRequest generates a "aws/request.Request" representing the
567// client's request for the DeleteNode operation. The "output" return
568// value will be populated with the request's response once the request completes
569// successfully.
570//
571// Use "Send" method on the returned Request to send the API call to the service.
572// the "output" return value is not valid until after Send returns without error.
573//
574// See DeleteNode for more information on using the DeleteNode
575// API call, and error handling.
576//
577// This method is useful when you want to inject custom logic or configuration
578// into the SDK's request lifecycle. Such as custom headers, or retry logic.
579//
580//
581//    // Example sending a request using the DeleteNodeRequest method.
582//    req, resp := client.DeleteNodeRequest(params)
583//
584//    err := req.Send()
585//    if err == nil { // resp is now filled
586//        fmt.Println(resp)
587//    }
588//
589// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/DeleteNode
590func (c *ManagedBlockchain) DeleteNodeRequest(input *DeleteNodeInput) (req *request.Request, output *DeleteNodeOutput) {
591	op := &request.Operation{
592		Name:       opDeleteNode,
593		HTTPMethod: "DELETE",
594		HTTPPath:   "/networks/{networkId}/nodes/{nodeId}",
595	}
596
597	if input == nil {
598		input = &DeleteNodeInput{}
599	}
600
601	output = &DeleteNodeOutput{}
602	req = c.newRequest(op, input, output)
603	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
604	return
605}
606
607// DeleteNode API operation for Amazon Managed Blockchain.
608//
609// Deletes a node that your AWS account owns. All data on the node is lost and
610// cannot be recovered.
611//
612// Applies to Hyperledger Fabric and Ethereum.
613//
614// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
615// with awserr.Error's Code and Message methods to get detailed information about
616// the error.
617//
618// See the AWS API reference guide for Amazon Managed Blockchain's
619// API operation DeleteNode for usage and error information.
620//
621// Returned Error Types:
622//   * InvalidRequestException
623//   The action or operation requested is invalid. Verify that the action is typed
624//   correctly.
625//
626//   * AccessDeniedException
627//   You do not have sufficient access to perform this action.
628//
629//   * ResourceNotFoundException
630//   A requested resource does not exist. It may have been deleted or referenced
631//   inaccurately.
632//
633//   * ResourceNotReadyException
634//   The requested resource exists but is not in a status that can complete the
635//   operation.
636//
637//   * ThrottlingException
638//   The request or operation could not be performed because a service is throttling
639//   requests. The most common source of throttling errors is launching EC2 instances
640//   such that your service limit for EC2 instances is exceeded. Request a limit
641//   increase or delete unused resources if possible.
642//
643//   * InternalServiceErrorException
644//   The request processing has failed because of an unknown error, exception
645//   or failure.
646//
647// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/DeleteNode
648func (c *ManagedBlockchain) DeleteNode(input *DeleteNodeInput) (*DeleteNodeOutput, error) {
649	req, out := c.DeleteNodeRequest(input)
650	return out, req.Send()
651}
652
653// DeleteNodeWithContext is the same as DeleteNode with the addition of
654// the ability to pass a context and additional request options.
655//
656// See DeleteNode for details on how to use this API operation.
657//
658// The context must be non-nil and will be used for request cancellation. If
659// the context is nil a panic will occur. In the future the SDK may create
660// sub-contexts for http.Requests. See https://golang.org/pkg/context/
661// for more information on using Contexts.
662func (c *ManagedBlockchain) DeleteNodeWithContext(ctx aws.Context, input *DeleteNodeInput, opts ...request.Option) (*DeleteNodeOutput, error) {
663	req, out := c.DeleteNodeRequest(input)
664	req.SetContext(ctx)
665	req.ApplyOptions(opts...)
666	return out, req.Send()
667}
668
669const opGetMember = "GetMember"
670
671// GetMemberRequest generates a "aws/request.Request" representing the
672// client's request for the GetMember operation. The "output" return
673// value will be populated with the request's response once the request completes
674// successfully.
675//
676// Use "Send" method on the returned Request to send the API call to the service.
677// the "output" return value is not valid until after Send returns without error.
678//
679// See GetMember for more information on using the GetMember
680// API call, and error handling.
681//
682// This method is useful when you want to inject custom logic or configuration
683// into the SDK's request lifecycle. Such as custom headers, or retry logic.
684//
685//
686//    // Example sending a request using the GetMemberRequest method.
687//    req, resp := client.GetMemberRequest(params)
688//
689//    err := req.Send()
690//    if err == nil { // resp is now filled
691//        fmt.Println(resp)
692//    }
693//
694// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/GetMember
695func (c *ManagedBlockchain) GetMemberRequest(input *GetMemberInput) (req *request.Request, output *GetMemberOutput) {
696	op := &request.Operation{
697		Name:       opGetMember,
698		HTTPMethod: "GET",
699		HTTPPath:   "/networks/{networkId}/members/{memberId}",
700	}
701
702	if input == nil {
703		input = &GetMemberInput{}
704	}
705
706	output = &GetMemberOutput{}
707	req = c.newRequest(op, input, output)
708	return
709}
710
711// GetMember API operation for Amazon Managed Blockchain.
712//
713// Returns detailed information about a member.
714//
715// Applies only to Hyperledger Fabric.
716//
717// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
718// with awserr.Error's Code and Message methods to get detailed information about
719// the error.
720//
721// See the AWS API reference guide for Amazon Managed Blockchain's
722// API operation GetMember for usage and error information.
723//
724// Returned Error Types:
725//   * InvalidRequestException
726//   The action or operation requested is invalid. Verify that the action is typed
727//   correctly.
728//
729//   * AccessDeniedException
730//   You do not have sufficient access to perform this action.
731//
732//   * ResourceNotFoundException
733//   A requested resource does not exist. It may have been deleted or referenced
734//   inaccurately.
735//
736//   * ThrottlingException
737//   The request or operation could not be performed because a service is throttling
738//   requests. The most common source of throttling errors is launching EC2 instances
739//   such that your service limit for EC2 instances is exceeded. Request a limit
740//   increase or delete unused resources if possible.
741//
742//   * InternalServiceErrorException
743//   The request processing has failed because of an unknown error, exception
744//   or failure.
745//
746// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/GetMember
747func (c *ManagedBlockchain) GetMember(input *GetMemberInput) (*GetMemberOutput, error) {
748	req, out := c.GetMemberRequest(input)
749	return out, req.Send()
750}
751
752// GetMemberWithContext is the same as GetMember with the addition of
753// the ability to pass a context and additional request options.
754//
755// See GetMember for details on how to use this API operation.
756//
757// The context must be non-nil and will be used for request cancellation. If
758// the context is nil a panic will occur. In the future the SDK may create
759// sub-contexts for http.Requests. See https://golang.org/pkg/context/
760// for more information on using Contexts.
761func (c *ManagedBlockchain) GetMemberWithContext(ctx aws.Context, input *GetMemberInput, opts ...request.Option) (*GetMemberOutput, error) {
762	req, out := c.GetMemberRequest(input)
763	req.SetContext(ctx)
764	req.ApplyOptions(opts...)
765	return out, req.Send()
766}
767
768const opGetNetwork = "GetNetwork"
769
770// GetNetworkRequest generates a "aws/request.Request" representing the
771// client's request for the GetNetwork operation. The "output" return
772// value will be populated with the request's response once the request completes
773// successfully.
774//
775// Use "Send" method on the returned Request to send the API call to the service.
776// the "output" return value is not valid until after Send returns without error.
777//
778// See GetNetwork for more information on using the GetNetwork
779// API call, and error handling.
780//
781// This method is useful when you want to inject custom logic or configuration
782// into the SDK's request lifecycle. Such as custom headers, or retry logic.
783//
784//
785//    // Example sending a request using the GetNetworkRequest method.
786//    req, resp := client.GetNetworkRequest(params)
787//
788//    err := req.Send()
789//    if err == nil { // resp is now filled
790//        fmt.Println(resp)
791//    }
792//
793// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/GetNetwork
794func (c *ManagedBlockchain) GetNetworkRequest(input *GetNetworkInput) (req *request.Request, output *GetNetworkOutput) {
795	op := &request.Operation{
796		Name:       opGetNetwork,
797		HTTPMethod: "GET",
798		HTTPPath:   "/networks/{networkId}",
799	}
800
801	if input == nil {
802		input = &GetNetworkInput{}
803	}
804
805	output = &GetNetworkOutput{}
806	req = c.newRequest(op, input, output)
807	return
808}
809
810// GetNetwork API operation for Amazon Managed Blockchain.
811//
812// Returns detailed information about a network.
813//
814// Applies to Hyperledger Fabric and Ethereum.
815//
816// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
817// with awserr.Error's Code and Message methods to get detailed information about
818// the error.
819//
820// See the AWS API reference guide for Amazon Managed Blockchain's
821// API operation GetNetwork for usage and error information.
822//
823// Returned Error Types:
824//   * InvalidRequestException
825//   The action or operation requested is invalid. Verify that the action is typed
826//   correctly.
827//
828//   * AccessDeniedException
829//   You do not have sufficient access to perform this action.
830//
831//   * ResourceNotFoundException
832//   A requested resource does not exist. It may have been deleted or referenced
833//   inaccurately.
834//
835//   * ThrottlingException
836//   The request or operation could not be performed because a service is throttling
837//   requests. The most common source of throttling errors is launching EC2 instances
838//   such that your service limit for EC2 instances is exceeded. Request a limit
839//   increase or delete unused resources if possible.
840//
841//   * InternalServiceErrorException
842//   The request processing has failed because of an unknown error, exception
843//   or failure.
844//
845// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/GetNetwork
846func (c *ManagedBlockchain) GetNetwork(input *GetNetworkInput) (*GetNetworkOutput, error) {
847	req, out := c.GetNetworkRequest(input)
848	return out, req.Send()
849}
850
851// GetNetworkWithContext is the same as GetNetwork with the addition of
852// the ability to pass a context and additional request options.
853//
854// See GetNetwork for details on how to use this API operation.
855//
856// The context must be non-nil and will be used for request cancellation. If
857// the context is nil a panic will occur. In the future the SDK may create
858// sub-contexts for http.Requests. See https://golang.org/pkg/context/
859// for more information on using Contexts.
860func (c *ManagedBlockchain) GetNetworkWithContext(ctx aws.Context, input *GetNetworkInput, opts ...request.Option) (*GetNetworkOutput, error) {
861	req, out := c.GetNetworkRequest(input)
862	req.SetContext(ctx)
863	req.ApplyOptions(opts...)
864	return out, req.Send()
865}
866
867const opGetNode = "GetNode"
868
869// GetNodeRequest generates a "aws/request.Request" representing the
870// client's request for the GetNode operation. The "output" return
871// value will be populated with the request's response once the request completes
872// successfully.
873//
874// Use "Send" method on the returned Request to send the API call to the service.
875// the "output" return value is not valid until after Send returns without error.
876//
877// See GetNode for more information on using the GetNode
878// API call, and error handling.
879//
880// This method is useful when you want to inject custom logic or configuration
881// into the SDK's request lifecycle. Such as custom headers, or retry logic.
882//
883//
884//    // Example sending a request using the GetNodeRequest method.
885//    req, resp := client.GetNodeRequest(params)
886//
887//    err := req.Send()
888//    if err == nil { // resp is now filled
889//        fmt.Println(resp)
890//    }
891//
892// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/GetNode
893func (c *ManagedBlockchain) GetNodeRequest(input *GetNodeInput) (req *request.Request, output *GetNodeOutput) {
894	op := &request.Operation{
895		Name:       opGetNode,
896		HTTPMethod: "GET",
897		HTTPPath:   "/networks/{networkId}/nodes/{nodeId}",
898	}
899
900	if input == nil {
901		input = &GetNodeInput{}
902	}
903
904	output = &GetNodeOutput{}
905	req = c.newRequest(op, input, output)
906	return
907}
908
909// GetNode API operation for Amazon Managed Blockchain.
910//
911// Returns detailed information about a node.
912//
913// Applies to Hyperledger Fabric and Ethereum.
914//
915// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
916// with awserr.Error's Code and Message methods to get detailed information about
917// the error.
918//
919// See the AWS API reference guide for Amazon Managed Blockchain's
920// API operation GetNode for usage and error information.
921//
922// Returned Error Types:
923//   * InvalidRequestException
924//   The action or operation requested is invalid. Verify that the action is typed
925//   correctly.
926//
927//   * AccessDeniedException
928//   You do not have sufficient access to perform this action.
929//
930//   * ResourceNotFoundException
931//   A requested resource does not exist. It may have been deleted or referenced
932//   inaccurately.
933//
934//   * ThrottlingException
935//   The request or operation could not be performed because a service is throttling
936//   requests. The most common source of throttling errors is launching EC2 instances
937//   such that your service limit for EC2 instances is exceeded. Request a limit
938//   increase or delete unused resources if possible.
939//
940//   * InternalServiceErrorException
941//   The request processing has failed because of an unknown error, exception
942//   or failure.
943//
944// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/GetNode
945func (c *ManagedBlockchain) GetNode(input *GetNodeInput) (*GetNodeOutput, error) {
946	req, out := c.GetNodeRequest(input)
947	return out, req.Send()
948}
949
950// GetNodeWithContext is the same as GetNode with the addition of
951// the ability to pass a context and additional request options.
952//
953// See GetNode for details on how to use this API operation.
954//
955// The context must be non-nil and will be used for request cancellation. If
956// the context is nil a panic will occur. In the future the SDK may create
957// sub-contexts for http.Requests. See https://golang.org/pkg/context/
958// for more information on using Contexts.
959func (c *ManagedBlockchain) GetNodeWithContext(ctx aws.Context, input *GetNodeInput, opts ...request.Option) (*GetNodeOutput, error) {
960	req, out := c.GetNodeRequest(input)
961	req.SetContext(ctx)
962	req.ApplyOptions(opts...)
963	return out, req.Send()
964}
965
966const opGetProposal = "GetProposal"
967
968// GetProposalRequest generates a "aws/request.Request" representing the
969// client's request for the GetProposal operation. The "output" return
970// value will be populated with the request's response once the request completes
971// successfully.
972//
973// Use "Send" method on the returned Request to send the API call to the service.
974// the "output" return value is not valid until after Send returns without error.
975//
976// See GetProposal for more information on using the GetProposal
977// API call, and error handling.
978//
979// This method is useful when you want to inject custom logic or configuration
980// into the SDK's request lifecycle. Such as custom headers, or retry logic.
981//
982//
983//    // Example sending a request using the GetProposalRequest method.
984//    req, resp := client.GetProposalRequest(params)
985//
986//    err := req.Send()
987//    if err == nil { // resp is now filled
988//        fmt.Println(resp)
989//    }
990//
991// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/GetProposal
992func (c *ManagedBlockchain) GetProposalRequest(input *GetProposalInput) (req *request.Request, output *GetProposalOutput) {
993	op := &request.Operation{
994		Name:       opGetProposal,
995		HTTPMethod: "GET",
996		HTTPPath:   "/networks/{networkId}/proposals/{proposalId}",
997	}
998
999	if input == nil {
1000		input = &GetProposalInput{}
1001	}
1002
1003	output = &GetProposalOutput{}
1004	req = c.newRequest(op, input, output)
1005	return
1006}
1007
1008// GetProposal API operation for Amazon Managed Blockchain.
1009//
1010// Returns detailed information about a proposal.
1011//
1012// Applies only to Hyperledger Fabric.
1013//
1014// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1015// with awserr.Error's Code and Message methods to get detailed information about
1016// the error.
1017//
1018// See the AWS API reference guide for Amazon Managed Blockchain's
1019// API operation GetProposal for usage and error information.
1020//
1021// Returned Error Types:
1022//   * InvalidRequestException
1023//   The action or operation requested is invalid. Verify that the action is typed
1024//   correctly.
1025//
1026//   * AccessDeniedException
1027//   You do not have sufficient access to perform this action.
1028//
1029//   * ResourceNotFoundException
1030//   A requested resource does not exist. It may have been deleted or referenced
1031//   inaccurately.
1032//
1033//   * ThrottlingException
1034//   The request or operation could not be performed because a service is throttling
1035//   requests. The most common source of throttling errors is launching EC2 instances
1036//   such that your service limit for EC2 instances is exceeded. Request a limit
1037//   increase or delete unused resources if possible.
1038//
1039//   * InternalServiceErrorException
1040//   The request processing has failed because of an unknown error, exception
1041//   or failure.
1042//
1043// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/GetProposal
1044func (c *ManagedBlockchain) GetProposal(input *GetProposalInput) (*GetProposalOutput, error) {
1045	req, out := c.GetProposalRequest(input)
1046	return out, req.Send()
1047}
1048
1049// GetProposalWithContext is the same as GetProposal with the addition of
1050// the ability to pass a context and additional request options.
1051//
1052// See GetProposal for details on how to use this API operation.
1053//
1054// The context must be non-nil and will be used for request cancellation. If
1055// the context is nil a panic will occur. In the future the SDK may create
1056// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1057// for more information on using Contexts.
1058func (c *ManagedBlockchain) GetProposalWithContext(ctx aws.Context, input *GetProposalInput, opts ...request.Option) (*GetProposalOutput, error) {
1059	req, out := c.GetProposalRequest(input)
1060	req.SetContext(ctx)
1061	req.ApplyOptions(opts...)
1062	return out, req.Send()
1063}
1064
1065const opListInvitations = "ListInvitations"
1066
1067// ListInvitationsRequest generates a "aws/request.Request" representing the
1068// client's request for the ListInvitations operation. The "output" return
1069// value will be populated with the request's response once the request completes
1070// successfully.
1071//
1072// Use "Send" method on the returned Request to send the API call to the service.
1073// the "output" return value is not valid until after Send returns without error.
1074//
1075// See ListInvitations for more information on using the ListInvitations
1076// API call, and error handling.
1077//
1078// This method is useful when you want to inject custom logic or configuration
1079// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1080//
1081//
1082//    // Example sending a request using the ListInvitationsRequest method.
1083//    req, resp := client.ListInvitationsRequest(params)
1084//
1085//    err := req.Send()
1086//    if err == nil { // resp is now filled
1087//        fmt.Println(resp)
1088//    }
1089//
1090// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListInvitations
1091func (c *ManagedBlockchain) ListInvitationsRequest(input *ListInvitationsInput) (req *request.Request, output *ListInvitationsOutput) {
1092	op := &request.Operation{
1093		Name:       opListInvitations,
1094		HTTPMethod: "GET",
1095		HTTPPath:   "/invitations",
1096		Paginator: &request.Paginator{
1097			InputTokens:     []string{"NextToken"},
1098			OutputTokens:    []string{"NextToken"},
1099			LimitToken:      "MaxResults",
1100			TruncationToken: "",
1101		},
1102	}
1103
1104	if input == nil {
1105		input = &ListInvitationsInput{}
1106	}
1107
1108	output = &ListInvitationsOutput{}
1109	req = c.newRequest(op, input, output)
1110	return
1111}
1112
1113// ListInvitations API operation for Amazon Managed Blockchain.
1114//
1115// Returns a list of all invitations for the current AWS account.
1116//
1117// Applies only to Hyperledger Fabric.
1118//
1119// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1120// with awserr.Error's Code and Message methods to get detailed information about
1121// the error.
1122//
1123// See the AWS API reference guide for Amazon Managed Blockchain's
1124// API operation ListInvitations for usage and error information.
1125//
1126// Returned Error Types:
1127//   * InvalidRequestException
1128//   The action or operation requested is invalid. Verify that the action is typed
1129//   correctly.
1130//
1131//   * AccessDeniedException
1132//   You do not have sufficient access to perform this action.
1133//
1134//   * ResourceNotFoundException
1135//   A requested resource does not exist. It may have been deleted or referenced
1136//   inaccurately.
1137//
1138//   * ThrottlingException
1139//   The request or operation could not be performed because a service is throttling
1140//   requests. The most common source of throttling errors is launching EC2 instances
1141//   such that your service limit for EC2 instances is exceeded. Request a limit
1142//   increase or delete unused resources if possible.
1143//
1144//   * ResourceLimitExceededException
1145//   The maximum number of resources of that type already exist. Ensure the resources
1146//   requested are within the boundaries of the service edition and your account
1147//   limits.
1148//
1149//   * InternalServiceErrorException
1150//   The request processing has failed because of an unknown error, exception
1151//   or failure.
1152//
1153// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListInvitations
1154func (c *ManagedBlockchain) ListInvitations(input *ListInvitationsInput) (*ListInvitationsOutput, error) {
1155	req, out := c.ListInvitationsRequest(input)
1156	return out, req.Send()
1157}
1158
1159// ListInvitationsWithContext is the same as ListInvitations with the addition of
1160// the ability to pass a context and additional request options.
1161//
1162// See ListInvitations for details on how to use this API operation.
1163//
1164// The context must be non-nil and will be used for request cancellation. If
1165// the context is nil a panic will occur. In the future the SDK may create
1166// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1167// for more information on using Contexts.
1168func (c *ManagedBlockchain) ListInvitationsWithContext(ctx aws.Context, input *ListInvitationsInput, opts ...request.Option) (*ListInvitationsOutput, error) {
1169	req, out := c.ListInvitationsRequest(input)
1170	req.SetContext(ctx)
1171	req.ApplyOptions(opts...)
1172	return out, req.Send()
1173}
1174
1175// ListInvitationsPages iterates over the pages of a ListInvitations operation,
1176// calling the "fn" function with the response data for each page. To stop
1177// iterating, return false from the fn function.
1178//
1179// See ListInvitations method for more information on how to use this operation.
1180//
1181// Note: This operation can generate multiple requests to a service.
1182//
1183//    // Example iterating over at most 3 pages of a ListInvitations operation.
1184//    pageNum := 0
1185//    err := client.ListInvitationsPages(params,
1186//        func(page *managedblockchain.ListInvitationsOutput, lastPage bool) bool {
1187//            pageNum++
1188//            fmt.Println(page)
1189//            return pageNum <= 3
1190//        })
1191//
1192func (c *ManagedBlockchain) ListInvitationsPages(input *ListInvitationsInput, fn func(*ListInvitationsOutput, bool) bool) error {
1193	return c.ListInvitationsPagesWithContext(aws.BackgroundContext(), input, fn)
1194}
1195
1196// ListInvitationsPagesWithContext same as ListInvitationsPages except
1197// it takes a Context and allows setting request options on the pages.
1198//
1199// The context must be non-nil and will be used for request cancellation. If
1200// the context is nil a panic will occur. In the future the SDK may create
1201// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1202// for more information on using Contexts.
1203func (c *ManagedBlockchain) ListInvitationsPagesWithContext(ctx aws.Context, input *ListInvitationsInput, fn func(*ListInvitationsOutput, bool) bool, opts ...request.Option) error {
1204	p := request.Pagination{
1205		NewRequest: func() (*request.Request, error) {
1206			var inCpy *ListInvitationsInput
1207			if input != nil {
1208				tmp := *input
1209				inCpy = &tmp
1210			}
1211			req, _ := c.ListInvitationsRequest(inCpy)
1212			req.SetContext(ctx)
1213			req.ApplyOptions(opts...)
1214			return req, nil
1215		},
1216	}
1217
1218	for p.Next() {
1219		if !fn(p.Page().(*ListInvitationsOutput), !p.HasNextPage()) {
1220			break
1221		}
1222	}
1223
1224	return p.Err()
1225}
1226
1227const opListMembers = "ListMembers"
1228
1229// ListMembersRequest generates a "aws/request.Request" representing the
1230// client's request for the ListMembers operation. The "output" return
1231// value will be populated with the request's response once the request completes
1232// successfully.
1233//
1234// Use "Send" method on the returned Request to send the API call to the service.
1235// the "output" return value is not valid until after Send returns without error.
1236//
1237// See ListMembers for more information on using the ListMembers
1238// API call, and error handling.
1239//
1240// This method is useful when you want to inject custom logic or configuration
1241// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1242//
1243//
1244//    // Example sending a request using the ListMembersRequest method.
1245//    req, resp := client.ListMembersRequest(params)
1246//
1247//    err := req.Send()
1248//    if err == nil { // resp is now filled
1249//        fmt.Println(resp)
1250//    }
1251//
1252// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListMembers
1253func (c *ManagedBlockchain) ListMembersRequest(input *ListMembersInput) (req *request.Request, output *ListMembersOutput) {
1254	op := &request.Operation{
1255		Name:       opListMembers,
1256		HTTPMethod: "GET",
1257		HTTPPath:   "/networks/{networkId}/members",
1258		Paginator: &request.Paginator{
1259			InputTokens:     []string{"NextToken"},
1260			OutputTokens:    []string{"NextToken"},
1261			LimitToken:      "MaxResults",
1262			TruncationToken: "",
1263		},
1264	}
1265
1266	if input == nil {
1267		input = &ListMembersInput{}
1268	}
1269
1270	output = &ListMembersOutput{}
1271	req = c.newRequest(op, input, output)
1272	return
1273}
1274
1275// ListMembers API operation for Amazon Managed Blockchain.
1276//
1277// Returns a list of the members in a network and properties of their configurations.
1278//
1279// Applies only to Hyperledger Fabric.
1280//
1281// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1282// with awserr.Error's Code and Message methods to get detailed information about
1283// the error.
1284//
1285// See the AWS API reference guide for Amazon Managed Blockchain's
1286// API operation ListMembers for usage and error information.
1287//
1288// Returned Error Types:
1289//   * InvalidRequestException
1290//   The action or operation requested is invalid. Verify that the action is typed
1291//   correctly.
1292//
1293//   * AccessDeniedException
1294//   You do not have sufficient access to perform this action.
1295//
1296//   * ThrottlingException
1297//   The request or operation could not be performed because a service is throttling
1298//   requests. The most common source of throttling errors is launching EC2 instances
1299//   such that your service limit for EC2 instances is exceeded. Request a limit
1300//   increase or delete unused resources if possible.
1301//
1302//   * InternalServiceErrorException
1303//   The request processing has failed because of an unknown error, exception
1304//   or failure.
1305//
1306// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListMembers
1307func (c *ManagedBlockchain) ListMembers(input *ListMembersInput) (*ListMembersOutput, error) {
1308	req, out := c.ListMembersRequest(input)
1309	return out, req.Send()
1310}
1311
1312// ListMembersWithContext is the same as ListMembers with the addition of
1313// the ability to pass a context and additional request options.
1314//
1315// See ListMembers for details on how to use this API operation.
1316//
1317// The context must be non-nil and will be used for request cancellation. If
1318// the context is nil a panic will occur. In the future the SDK may create
1319// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1320// for more information on using Contexts.
1321func (c *ManagedBlockchain) ListMembersWithContext(ctx aws.Context, input *ListMembersInput, opts ...request.Option) (*ListMembersOutput, error) {
1322	req, out := c.ListMembersRequest(input)
1323	req.SetContext(ctx)
1324	req.ApplyOptions(opts...)
1325	return out, req.Send()
1326}
1327
1328// ListMembersPages iterates over the pages of a ListMembers operation,
1329// calling the "fn" function with the response data for each page. To stop
1330// iterating, return false from the fn function.
1331//
1332// See ListMembers method for more information on how to use this operation.
1333//
1334// Note: This operation can generate multiple requests to a service.
1335//
1336//    // Example iterating over at most 3 pages of a ListMembers operation.
1337//    pageNum := 0
1338//    err := client.ListMembersPages(params,
1339//        func(page *managedblockchain.ListMembersOutput, lastPage bool) bool {
1340//            pageNum++
1341//            fmt.Println(page)
1342//            return pageNum <= 3
1343//        })
1344//
1345func (c *ManagedBlockchain) ListMembersPages(input *ListMembersInput, fn func(*ListMembersOutput, bool) bool) error {
1346	return c.ListMembersPagesWithContext(aws.BackgroundContext(), input, fn)
1347}
1348
1349// ListMembersPagesWithContext same as ListMembersPages except
1350// it takes a Context and allows setting request options on the pages.
1351//
1352// The context must be non-nil and will be used for request cancellation. If
1353// the context is nil a panic will occur. In the future the SDK may create
1354// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1355// for more information on using Contexts.
1356func (c *ManagedBlockchain) ListMembersPagesWithContext(ctx aws.Context, input *ListMembersInput, fn func(*ListMembersOutput, bool) bool, opts ...request.Option) error {
1357	p := request.Pagination{
1358		NewRequest: func() (*request.Request, error) {
1359			var inCpy *ListMembersInput
1360			if input != nil {
1361				tmp := *input
1362				inCpy = &tmp
1363			}
1364			req, _ := c.ListMembersRequest(inCpy)
1365			req.SetContext(ctx)
1366			req.ApplyOptions(opts...)
1367			return req, nil
1368		},
1369	}
1370
1371	for p.Next() {
1372		if !fn(p.Page().(*ListMembersOutput), !p.HasNextPage()) {
1373			break
1374		}
1375	}
1376
1377	return p.Err()
1378}
1379
1380const opListNetworks = "ListNetworks"
1381
1382// ListNetworksRequest generates a "aws/request.Request" representing the
1383// client's request for the ListNetworks operation. The "output" return
1384// value will be populated with the request's response once the request completes
1385// successfully.
1386//
1387// Use "Send" method on the returned Request to send the API call to the service.
1388// the "output" return value is not valid until after Send returns without error.
1389//
1390// See ListNetworks for more information on using the ListNetworks
1391// API call, and error handling.
1392//
1393// This method is useful when you want to inject custom logic or configuration
1394// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1395//
1396//
1397//    // Example sending a request using the ListNetworksRequest method.
1398//    req, resp := client.ListNetworksRequest(params)
1399//
1400//    err := req.Send()
1401//    if err == nil { // resp is now filled
1402//        fmt.Println(resp)
1403//    }
1404//
1405// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListNetworks
1406func (c *ManagedBlockchain) ListNetworksRequest(input *ListNetworksInput) (req *request.Request, output *ListNetworksOutput) {
1407	op := &request.Operation{
1408		Name:       opListNetworks,
1409		HTTPMethod: "GET",
1410		HTTPPath:   "/networks",
1411		Paginator: &request.Paginator{
1412			InputTokens:     []string{"NextToken"},
1413			OutputTokens:    []string{"NextToken"},
1414			LimitToken:      "MaxResults",
1415			TruncationToken: "",
1416		},
1417	}
1418
1419	if input == nil {
1420		input = &ListNetworksInput{}
1421	}
1422
1423	output = &ListNetworksOutput{}
1424	req = c.newRequest(op, input, output)
1425	return
1426}
1427
1428// ListNetworks API operation for Amazon Managed Blockchain.
1429//
1430// Returns information about the networks in which the current AWS account participates.
1431//
1432// Applies to Hyperledger Fabric and Ethereum.
1433//
1434// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1435// with awserr.Error's Code and Message methods to get detailed information about
1436// the error.
1437//
1438// See the AWS API reference guide for Amazon Managed Blockchain's
1439// API operation ListNetworks for usage and error information.
1440//
1441// Returned Error Types:
1442//   * InvalidRequestException
1443//   The action or operation requested is invalid. Verify that the action is typed
1444//   correctly.
1445//
1446//   * AccessDeniedException
1447//   You do not have sufficient access to perform this action.
1448//
1449//   * ThrottlingException
1450//   The request or operation could not be performed because a service is throttling
1451//   requests. The most common source of throttling errors is launching EC2 instances
1452//   such that your service limit for EC2 instances is exceeded. Request a limit
1453//   increase or delete unused resources if possible.
1454//
1455//   * InternalServiceErrorException
1456//   The request processing has failed because of an unknown error, exception
1457//   or failure.
1458//
1459// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListNetworks
1460func (c *ManagedBlockchain) ListNetworks(input *ListNetworksInput) (*ListNetworksOutput, error) {
1461	req, out := c.ListNetworksRequest(input)
1462	return out, req.Send()
1463}
1464
1465// ListNetworksWithContext is the same as ListNetworks with the addition of
1466// the ability to pass a context and additional request options.
1467//
1468// See ListNetworks for details on how to use this API operation.
1469//
1470// The context must be non-nil and will be used for request cancellation. If
1471// the context is nil a panic will occur. In the future the SDK may create
1472// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1473// for more information on using Contexts.
1474func (c *ManagedBlockchain) ListNetworksWithContext(ctx aws.Context, input *ListNetworksInput, opts ...request.Option) (*ListNetworksOutput, error) {
1475	req, out := c.ListNetworksRequest(input)
1476	req.SetContext(ctx)
1477	req.ApplyOptions(opts...)
1478	return out, req.Send()
1479}
1480
1481// ListNetworksPages iterates over the pages of a ListNetworks operation,
1482// calling the "fn" function with the response data for each page. To stop
1483// iterating, return false from the fn function.
1484//
1485// See ListNetworks method for more information on how to use this operation.
1486//
1487// Note: This operation can generate multiple requests to a service.
1488//
1489//    // Example iterating over at most 3 pages of a ListNetworks operation.
1490//    pageNum := 0
1491//    err := client.ListNetworksPages(params,
1492//        func(page *managedblockchain.ListNetworksOutput, lastPage bool) bool {
1493//            pageNum++
1494//            fmt.Println(page)
1495//            return pageNum <= 3
1496//        })
1497//
1498func (c *ManagedBlockchain) ListNetworksPages(input *ListNetworksInput, fn func(*ListNetworksOutput, bool) bool) error {
1499	return c.ListNetworksPagesWithContext(aws.BackgroundContext(), input, fn)
1500}
1501
1502// ListNetworksPagesWithContext same as ListNetworksPages except
1503// it takes a Context and allows setting request options on the pages.
1504//
1505// The context must be non-nil and will be used for request cancellation. If
1506// the context is nil a panic will occur. In the future the SDK may create
1507// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1508// for more information on using Contexts.
1509func (c *ManagedBlockchain) ListNetworksPagesWithContext(ctx aws.Context, input *ListNetworksInput, fn func(*ListNetworksOutput, bool) bool, opts ...request.Option) error {
1510	p := request.Pagination{
1511		NewRequest: func() (*request.Request, error) {
1512			var inCpy *ListNetworksInput
1513			if input != nil {
1514				tmp := *input
1515				inCpy = &tmp
1516			}
1517			req, _ := c.ListNetworksRequest(inCpy)
1518			req.SetContext(ctx)
1519			req.ApplyOptions(opts...)
1520			return req, nil
1521		},
1522	}
1523
1524	for p.Next() {
1525		if !fn(p.Page().(*ListNetworksOutput), !p.HasNextPage()) {
1526			break
1527		}
1528	}
1529
1530	return p.Err()
1531}
1532
1533const opListNodes = "ListNodes"
1534
1535// ListNodesRequest generates a "aws/request.Request" representing the
1536// client's request for the ListNodes operation. The "output" return
1537// value will be populated with the request's response once the request completes
1538// successfully.
1539//
1540// Use "Send" method on the returned Request to send the API call to the service.
1541// the "output" return value is not valid until after Send returns without error.
1542//
1543// See ListNodes for more information on using the ListNodes
1544// API call, and error handling.
1545//
1546// This method is useful when you want to inject custom logic or configuration
1547// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1548//
1549//
1550//    // Example sending a request using the ListNodesRequest method.
1551//    req, resp := client.ListNodesRequest(params)
1552//
1553//    err := req.Send()
1554//    if err == nil { // resp is now filled
1555//        fmt.Println(resp)
1556//    }
1557//
1558// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListNodes
1559func (c *ManagedBlockchain) ListNodesRequest(input *ListNodesInput) (req *request.Request, output *ListNodesOutput) {
1560	op := &request.Operation{
1561		Name:       opListNodes,
1562		HTTPMethod: "GET",
1563		HTTPPath:   "/networks/{networkId}/nodes",
1564		Paginator: &request.Paginator{
1565			InputTokens:     []string{"NextToken"},
1566			OutputTokens:    []string{"NextToken"},
1567			LimitToken:      "MaxResults",
1568			TruncationToken: "",
1569		},
1570	}
1571
1572	if input == nil {
1573		input = &ListNodesInput{}
1574	}
1575
1576	output = &ListNodesOutput{}
1577	req = c.newRequest(op, input, output)
1578	return
1579}
1580
1581// ListNodes API operation for Amazon Managed Blockchain.
1582//
1583// Returns information about the nodes within a network.
1584//
1585// Applies to Hyperledger Fabric and Ethereum.
1586//
1587// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1588// with awserr.Error's Code and Message methods to get detailed information about
1589// the error.
1590//
1591// See the AWS API reference guide for Amazon Managed Blockchain's
1592// API operation ListNodes for usage and error information.
1593//
1594// Returned Error Types:
1595//   * InvalidRequestException
1596//   The action or operation requested is invalid. Verify that the action is typed
1597//   correctly.
1598//
1599//   * AccessDeniedException
1600//   You do not have sufficient access to perform this action.
1601//
1602//   * ThrottlingException
1603//   The request or operation could not be performed because a service is throttling
1604//   requests. The most common source of throttling errors is launching EC2 instances
1605//   such that your service limit for EC2 instances is exceeded. Request a limit
1606//   increase or delete unused resources if possible.
1607//
1608//   * InternalServiceErrorException
1609//   The request processing has failed because of an unknown error, exception
1610//   or failure.
1611//
1612// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListNodes
1613func (c *ManagedBlockchain) ListNodes(input *ListNodesInput) (*ListNodesOutput, error) {
1614	req, out := c.ListNodesRequest(input)
1615	return out, req.Send()
1616}
1617
1618// ListNodesWithContext is the same as ListNodes with the addition of
1619// the ability to pass a context and additional request options.
1620//
1621// See ListNodes for details on how to use this API operation.
1622//
1623// The context must be non-nil and will be used for request cancellation. If
1624// the context is nil a panic will occur. In the future the SDK may create
1625// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1626// for more information on using Contexts.
1627func (c *ManagedBlockchain) ListNodesWithContext(ctx aws.Context, input *ListNodesInput, opts ...request.Option) (*ListNodesOutput, error) {
1628	req, out := c.ListNodesRequest(input)
1629	req.SetContext(ctx)
1630	req.ApplyOptions(opts...)
1631	return out, req.Send()
1632}
1633
1634// ListNodesPages iterates over the pages of a ListNodes operation,
1635// calling the "fn" function with the response data for each page. To stop
1636// iterating, return false from the fn function.
1637//
1638// See ListNodes method for more information on how to use this operation.
1639//
1640// Note: This operation can generate multiple requests to a service.
1641//
1642//    // Example iterating over at most 3 pages of a ListNodes operation.
1643//    pageNum := 0
1644//    err := client.ListNodesPages(params,
1645//        func(page *managedblockchain.ListNodesOutput, lastPage bool) bool {
1646//            pageNum++
1647//            fmt.Println(page)
1648//            return pageNum <= 3
1649//        })
1650//
1651func (c *ManagedBlockchain) ListNodesPages(input *ListNodesInput, fn func(*ListNodesOutput, bool) bool) error {
1652	return c.ListNodesPagesWithContext(aws.BackgroundContext(), input, fn)
1653}
1654
1655// ListNodesPagesWithContext same as ListNodesPages except
1656// it takes a Context and allows setting request options on the pages.
1657//
1658// The context must be non-nil and will be used for request cancellation. If
1659// the context is nil a panic will occur. In the future the SDK may create
1660// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1661// for more information on using Contexts.
1662func (c *ManagedBlockchain) ListNodesPagesWithContext(ctx aws.Context, input *ListNodesInput, fn func(*ListNodesOutput, bool) bool, opts ...request.Option) error {
1663	p := request.Pagination{
1664		NewRequest: func() (*request.Request, error) {
1665			var inCpy *ListNodesInput
1666			if input != nil {
1667				tmp := *input
1668				inCpy = &tmp
1669			}
1670			req, _ := c.ListNodesRequest(inCpy)
1671			req.SetContext(ctx)
1672			req.ApplyOptions(opts...)
1673			return req, nil
1674		},
1675	}
1676
1677	for p.Next() {
1678		if !fn(p.Page().(*ListNodesOutput), !p.HasNextPage()) {
1679			break
1680		}
1681	}
1682
1683	return p.Err()
1684}
1685
1686const opListProposalVotes = "ListProposalVotes"
1687
1688// ListProposalVotesRequest generates a "aws/request.Request" representing the
1689// client's request for the ListProposalVotes operation. The "output" return
1690// value will be populated with the request's response once the request completes
1691// successfully.
1692//
1693// Use "Send" method on the returned Request to send the API call to the service.
1694// the "output" return value is not valid until after Send returns without error.
1695//
1696// See ListProposalVotes for more information on using the ListProposalVotes
1697// API call, and error handling.
1698//
1699// This method is useful when you want to inject custom logic or configuration
1700// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1701//
1702//
1703//    // Example sending a request using the ListProposalVotesRequest method.
1704//    req, resp := client.ListProposalVotesRequest(params)
1705//
1706//    err := req.Send()
1707//    if err == nil { // resp is now filled
1708//        fmt.Println(resp)
1709//    }
1710//
1711// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListProposalVotes
1712func (c *ManagedBlockchain) ListProposalVotesRequest(input *ListProposalVotesInput) (req *request.Request, output *ListProposalVotesOutput) {
1713	op := &request.Operation{
1714		Name:       opListProposalVotes,
1715		HTTPMethod: "GET",
1716		HTTPPath:   "/networks/{networkId}/proposals/{proposalId}/votes",
1717		Paginator: &request.Paginator{
1718			InputTokens:     []string{"NextToken"},
1719			OutputTokens:    []string{"NextToken"},
1720			LimitToken:      "MaxResults",
1721			TruncationToken: "",
1722		},
1723	}
1724
1725	if input == nil {
1726		input = &ListProposalVotesInput{}
1727	}
1728
1729	output = &ListProposalVotesOutput{}
1730	req = c.newRequest(op, input, output)
1731	return
1732}
1733
1734// ListProposalVotes API operation for Amazon Managed Blockchain.
1735//
1736// Returns the list of votes for a specified proposal, including the value of
1737// each vote and the unique identifier of the member that cast the vote.
1738//
1739// Applies only to Hyperledger Fabric.
1740//
1741// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1742// with awserr.Error's Code and Message methods to get detailed information about
1743// the error.
1744//
1745// See the AWS API reference guide for Amazon Managed Blockchain's
1746// API operation ListProposalVotes for usage and error information.
1747//
1748// Returned Error Types:
1749//   * InvalidRequestException
1750//   The action or operation requested is invalid. Verify that the action is typed
1751//   correctly.
1752//
1753//   * AccessDeniedException
1754//   You do not have sufficient access to perform this action.
1755//
1756//   * ThrottlingException
1757//   The request or operation could not be performed because a service is throttling
1758//   requests. The most common source of throttling errors is launching EC2 instances
1759//   such that your service limit for EC2 instances is exceeded. Request a limit
1760//   increase or delete unused resources if possible.
1761//
1762//   * InternalServiceErrorException
1763//   The request processing has failed because of an unknown error, exception
1764//   or failure.
1765//
1766// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListProposalVotes
1767func (c *ManagedBlockchain) ListProposalVotes(input *ListProposalVotesInput) (*ListProposalVotesOutput, error) {
1768	req, out := c.ListProposalVotesRequest(input)
1769	return out, req.Send()
1770}
1771
1772// ListProposalVotesWithContext is the same as ListProposalVotes with the addition of
1773// the ability to pass a context and additional request options.
1774//
1775// See ListProposalVotes for details on how to use this API operation.
1776//
1777// The context must be non-nil and will be used for request cancellation. If
1778// the context is nil a panic will occur. In the future the SDK may create
1779// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1780// for more information on using Contexts.
1781func (c *ManagedBlockchain) ListProposalVotesWithContext(ctx aws.Context, input *ListProposalVotesInput, opts ...request.Option) (*ListProposalVotesOutput, error) {
1782	req, out := c.ListProposalVotesRequest(input)
1783	req.SetContext(ctx)
1784	req.ApplyOptions(opts...)
1785	return out, req.Send()
1786}
1787
1788// ListProposalVotesPages iterates over the pages of a ListProposalVotes operation,
1789// calling the "fn" function with the response data for each page. To stop
1790// iterating, return false from the fn function.
1791//
1792// See ListProposalVotes method for more information on how to use this operation.
1793//
1794// Note: This operation can generate multiple requests to a service.
1795//
1796//    // Example iterating over at most 3 pages of a ListProposalVotes operation.
1797//    pageNum := 0
1798//    err := client.ListProposalVotesPages(params,
1799//        func(page *managedblockchain.ListProposalVotesOutput, lastPage bool) bool {
1800//            pageNum++
1801//            fmt.Println(page)
1802//            return pageNum <= 3
1803//        })
1804//
1805func (c *ManagedBlockchain) ListProposalVotesPages(input *ListProposalVotesInput, fn func(*ListProposalVotesOutput, bool) bool) error {
1806	return c.ListProposalVotesPagesWithContext(aws.BackgroundContext(), input, fn)
1807}
1808
1809// ListProposalVotesPagesWithContext same as ListProposalVotesPages except
1810// it takes a Context and allows setting request options on the pages.
1811//
1812// The context must be non-nil and will be used for request cancellation. If
1813// the context is nil a panic will occur. In the future the SDK may create
1814// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1815// for more information on using Contexts.
1816func (c *ManagedBlockchain) ListProposalVotesPagesWithContext(ctx aws.Context, input *ListProposalVotesInput, fn func(*ListProposalVotesOutput, bool) bool, opts ...request.Option) error {
1817	p := request.Pagination{
1818		NewRequest: func() (*request.Request, error) {
1819			var inCpy *ListProposalVotesInput
1820			if input != nil {
1821				tmp := *input
1822				inCpy = &tmp
1823			}
1824			req, _ := c.ListProposalVotesRequest(inCpy)
1825			req.SetContext(ctx)
1826			req.ApplyOptions(opts...)
1827			return req, nil
1828		},
1829	}
1830
1831	for p.Next() {
1832		if !fn(p.Page().(*ListProposalVotesOutput), !p.HasNextPage()) {
1833			break
1834		}
1835	}
1836
1837	return p.Err()
1838}
1839
1840const opListProposals = "ListProposals"
1841
1842// ListProposalsRequest generates a "aws/request.Request" representing the
1843// client's request for the ListProposals operation. The "output" return
1844// value will be populated with the request's response once the request completes
1845// successfully.
1846//
1847// Use "Send" method on the returned Request to send the API call to the service.
1848// the "output" return value is not valid until after Send returns without error.
1849//
1850// See ListProposals for more information on using the ListProposals
1851// API call, and error handling.
1852//
1853// This method is useful when you want to inject custom logic or configuration
1854// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1855//
1856//
1857//    // Example sending a request using the ListProposalsRequest method.
1858//    req, resp := client.ListProposalsRequest(params)
1859//
1860//    err := req.Send()
1861//    if err == nil { // resp is now filled
1862//        fmt.Println(resp)
1863//    }
1864//
1865// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListProposals
1866func (c *ManagedBlockchain) ListProposalsRequest(input *ListProposalsInput) (req *request.Request, output *ListProposalsOutput) {
1867	op := &request.Operation{
1868		Name:       opListProposals,
1869		HTTPMethod: "GET",
1870		HTTPPath:   "/networks/{networkId}/proposals",
1871		Paginator: &request.Paginator{
1872			InputTokens:     []string{"NextToken"},
1873			OutputTokens:    []string{"NextToken"},
1874			LimitToken:      "MaxResults",
1875			TruncationToken: "",
1876		},
1877	}
1878
1879	if input == nil {
1880		input = &ListProposalsInput{}
1881	}
1882
1883	output = &ListProposalsOutput{}
1884	req = c.newRequest(op, input, output)
1885	return
1886}
1887
1888// ListProposals API operation for Amazon Managed Blockchain.
1889//
1890// Returns a list of proposals for the network.
1891//
1892// Applies only to Hyperledger Fabric.
1893//
1894// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1895// with awserr.Error's Code and Message methods to get detailed information about
1896// the error.
1897//
1898// See the AWS API reference guide for Amazon Managed Blockchain's
1899// API operation ListProposals for usage and error information.
1900//
1901// Returned Error Types:
1902//   * InvalidRequestException
1903//   The action or operation requested is invalid. Verify that the action is typed
1904//   correctly.
1905//
1906//   * ResourceNotFoundException
1907//   A requested resource does not exist. It may have been deleted or referenced
1908//   inaccurately.
1909//
1910//   * AccessDeniedException
1911//   You do not have sufficient access to perform this action.
1912//
1913//   * ThrottlingException
1914//   The request or operation could not be performed because a service is throttling
1915//   requests. The most common source of throttling errors is launching EC2 instances
1916//   such that your service limit for EC2 instances is exceeded. Request a limit
1917//   increase or delete unused resources if possible.
1918//
1919//   * InternalServiceErrorException
1920//   The request processing has failed because of an unknown error, exception
1921//   or failure.
1922//
1923// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListProposals
1924func (c *ManagedBlockchain) ListProposals(input *ListProposalsInput) (*ListProposalsOutput, error) {
1925	req, out := c.ListProposalsRequest(input)
1926	return out, req.Send()
1927}
1928
1929// ListProposalsWithContext is the same as ListProposals with the addition of
1930// the ability to pass a context and additional request options.
1931//
1932// See ListProposals for details on how to use this API operation.
1933//
1934// The context must be non-nil and will be used for request cancellation. If
1935// the context is nil a panic will occur. In the future the SDK may create
1936// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1937// for more information on using Contexts.
1938func (c *ManagedBlockchain) ListProposalsWithContext(ctx aws.Context, input *ListProposalsInput, opts ...request.Option) (*ListProposalsOutput, error) {
1939	req, out := c.ListProposalsRequest(input)
1940	req.SetContext(ctx)
1941	req.ApplyOptions(opts...)
1942	return out, req.Send()
1943}
1944
1945// ListProposalsPages iterates over the pages of a ListProposals operation,
1946// calling the "fn" function with the response data for each page. To stop
1947// iterating, return false from the fn function.
1948//
1949// See ListProposals method for more information on how to use this operation.
1950//
1951// Note: This operation can generate multiple requests to a service.
1952//
1953//    // Example iterating over at most 3 pages of a ListProposals operation.
1954//    pageNum := 0
1955//    err := client.ListProposalsPages(params,
1956//        func(page *managedblockchain.ListProposalsOutput, lastPage bool) bool {
1957//            pageNum++
1958//            fmt.Println(page)
1959//            return pageNum <= 3
1960//        })
1961//
1962func (c *ManagedBlockchain) ListProposalsPages(input *ListProposalsInput, fn func(*ListProposalsOutput, bool) bool) error {
1963	return c.ListProposalsPagesWithContext(aws.BackgroundContext(), input, fn)
1964}
1965
1966// ListProposalsPagesWithContext same as ListProposalsPages except
1967// it takes a Context and allows setting request options on the pages.
1968//
1969// The context must be non-nil and will be used for request cancellation. If
1970// the context is nil a panic will occur. In the future the SDK may create
1971// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1972// for more information on using Contexts.
1973func (c *ManagedBlockchain) ListProposalsPagesWithContext(ctx aws.Context, input *ListProposalsInput, fn func(*ListProposalsOutput, bool) bool, opts ...request.Option) error {
1974	p := request.Pagination{
1975		NewRequest: func() (*request.Request, error) {
1976			var inCpy *ListProposalsInput
1977			if input != nil {
1978				tmp := *input
1979				inCpy = &tmp
1980			}
1981			req, _ := c.ListProposalsRequest(inCpy)
1982			req.SetContext(ctx)
1983			req.ApplyOptions(opts...)
1984			return req, nil
1985		},
1986	}
1987
1988	for p.Next() {
1989		if !fn(p.Page().(*ListProposalsOutput), !p.HasNextPage()) {
1990			break
1991		}
1992	}
1993
1994	return p.Err()
1995}
1996
1997const opListTagsForResource = "ListTagsForResource"
1998
1999// ListTagsForResourceRequest generates a "aws/request.Request" representing the
2000// client's request for the ListTagsForResource operation. The "output" return
2001// value will be populated with the request's response once the request completes
2002// successfully.
2003//
2004// Use "Send" method on the returned Request to send the API call to the service.
2005// the "output" return value is not valid until after Send returns without error.
2006//
2007// See ListTagsForResource for more information on using the ListTagsForResource
2008// API call, and error handling.
2009//
2010// This method is useful when you want to inject custom logic or configuration
2011// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2012//
2013//
2014//    // Example sending a request using the ListTagsForResourceRequest method.
2015//    req, resp := client.ListTagsForResourceRequest(params)
2016//
2017//    err := req.Send()
2018//    if err == nil { // resp is now filled
2019//        fmt.Println(resp)
2020//    }
2021//
2022// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListTagsForResource
2023func (c *ManagedBlockchain) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
2024	op := &request.Operation{
2025		Name:       opListTagsForResource,
2026		HTTPMethod: "GET",
2027		HTTPPath:   "/tags/{resourceArn}",
2028	}
2029
2030	if input == nil {
2031		input = &ListTagsForResourceInput{}
2032	}
2033
2034	output = &ListTagsForResourceOutput{}
2035	req = c.newRequest(op, input, output)
2036	return
2037}
2038
2039// ListTagsForResource API operation for Amazon Managed Blockchain.
2040//
2041// Returns a list of tags for the specified resource. Each tag consists of a
2042// key and optional value.
2043//
2044// For more information about tags, see Tagging Resources (https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html)
2045// in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources
2046// (https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html)
2047// in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.
2048//
2049// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2050// with awserr.Error's Code and Message methods to get detailed information about
2051// the error.
2052//
2053// See the AWS API reference guide for Amazon Managed Blockchain's
2054// API operation ListTagsForResource for usage and error information.
2055//
2056// Returned Error Types:
2057//   * InternalServiceErrorException
2058//   The request processing has failed because of an unknown error, exception
2059//   or failure.
2060//
2061//   * InvalidRequestException
2062//   The action or operation requested is invalid. Verify that the action is typed
2063//   correctly.
2064//
2065//   * ResourceNotFoundException
2066//   A requested resource does not exist. It may have been deleted or referenced
2067//   inaccurately.
2068//
2069//   * ResourceNotReadyException
2070//   The requested resource exists but is not in a status that can complete the
2071//   operation.
2072//
2073// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListTagsForResource
2074func (c *ManagedBlockchain) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
2075	req, out := c.ListTagsForResourceRequest(input)
2076	return out, req.Send()
2077}
2078
2079// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
2080// the ability to pass a context and additional request options.
2081//
2082// See ListTagsForResource for details on how to use this API operation.
2083//
2084// The context must be non-nil and will be used for request cancellation. If
2085// the context is nil a panic will occur. In the future the SDK may create
2086// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2087// for more information on using Contexts.
2088func (c *ManagedBlockchain) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
2089	req, out := c.ListTagsForResourceRequest(input)
2090	req.SetContext(ctx)
2091	req.ApplyOptions(opts...)
2092	return out, req.Send()
2093}
2094
2095const opRejectInvitation = "RejectInvitation"
2096
2097// RejectInvitationRequest generates a "aws/request.Request" representing the
2098// client's request for the RejectInvitation operation. The "output" return
2099// value will be populated with the request's response once the request completes
2100// successfully.
2101//
2102// Use "Send" method on the returned Request to send the API call to the service.
2103// the "output" return value is not valid until after Send returns without error.
2104//
2105// See RejectInvitation for more information on using the RejectInvitation
2106// API call, and error handling.
2107//
2108// This method is useful when you want to inject custom logic or configuration
2109// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2110//
2111//
2112//    // Example sending a request using the RejectInvitationRequest method.
2113//    req, resp := client.RejectInvitationRequest(params)
2114//
2115//    err := req.Send()
2116//    if err == nil { // resp is now filled
2117//        fmt.Println(resp)
2118//    }
2119//
2120// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/RejectInvitation
2121func (c *ManagedBlockchain) RejectInvitationRequest(input *RejectInvitationInput) (req *request.Request, output *RejectInvitationOutput) {
2122	op := &request.Operation{
2123		Name:       opRejectInvitation,
2124		HTTPMethod: "DELETE",
2125		HTTPPath:   "/invitations/{invitationId}",
2126	}
2127
2128	if input == nil {
2129		input = &RejectInvitationInput{}
2130	}
2131
2132	output = &RejectInvitationOutput{}
2133	req = c.newRequest(op, input, output)
2134	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2135	return
2136}
2137
2138// RejectInvitation API operation for Amazon Managed Blockchain.
2139//
2140// Rejects an invitation to join a network. This action can be called by a principal
2141// in an AWS account that has received an invitation to create a member and
2142// join a network.
2143//
2144// Applies only to Hyperledger Fabric.
2145//
2146// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2147// with awserr.Error's Code and Message methods to get detailed information about
2148// the error.
2149//
2150// See the AWS API reference guide for Amazon Managed Blockchain's
2151// API operation RejectInvitation for usage and error information.
2152//
2153// Returned Error Types:
2154//   * InvalidRequestException
2155//   The action or operation requested is invalid. Verify that the action is typed
2156//   correctly.
2157//
2158//   * IllegalActionException
2159//
2160//   * AccessDeniedException
2161//   You do not have sufficient access to perform this action.
2162//
2163//   * ResourceNotFoundException
2164//   A requested resource does not exist. It may have been deleted or referenced
2165//   inaccurately.
2166//
2167//   * ThrottlingException
2168//   The request or operation could not be performed because a service is throttling
2169//   requests. The most common source of throttling errors is launching EC2 instances
2170//   such that your service limit for EC2 instances is exceeded. Request a limit
2171//   increase or delete unused resources if possible.
2172//
2173//   * InternalServiceErrorException
2174//   The request processing has failed because of an unknown error, exception
2175//   or failure.
2176//
2177// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/RejectInvitation
2178func (c *ManagedBlockchain) RejectInvitation(input *RejectInvitationInput) (*RejectInvitationOutput, error) {
2179	req, out := c.RejectInvitationRequest(input)
2180	return out, req.Send()
2181}
2182
2183// RejectInvitationWithContext is the same as RejectInvitation with the addition of
2184// the ability to pass a context and additional request options.
2185//
2186// See RejectInvitation for details on how to use this API operation.
2187//
2188// The context must be non-nil and will be used for request cancellation. If
2189// the context is nil a panic will occur. In the future the SDK may create
2190// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2191// for more information on using Contexts.
2192func (c *ManagedBlockchain) RejectInvitationWithContext(ctx aws.Context, input *RejectInvitationInput, opts ...request.Option) (*RejectInvitationOutput, error) {
2193	req, out := c.RejectInvitationRequest(input)
2194	req.SetContext(ctx)
2195	req.ApplyOptions(opts...)
2196	return out, req.Send()
2197}
2198
2199const opTagResource = "TagResource"
2200
2201// TagResourceRequest generates a "aws/request.Request" representing the
2202// client's request for the TagResource operation. The "output" return
2203// value will be populated with the request's response once the request completes
2204// successfully.
2205//
2206// Use "Send" method on the returned Request to send the API call to the service.
2207// the "output" return value is not valid until after Send returns without error.
2208//
2209// See TagResource for more information on using the TagResource
2210// API call, and error handling.
2211//
2212// This method is useful when you want to inject custom logic or configuration
2213// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2214//
2215//
2216//    // Example sending a request using the TagResourceRequest method.
2217//    req, resp := client.TagResourceRequest(params)
2218//
2219//    err := req.Send()
2220//    if err == nil { // resp is now filled
2221//        fmt.Println(resp)
2222//    }
2223//
2224// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/TagResource
2225func (c *ManagedBlockchain) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
2226	op := &request.Operation{
2227		Name:       opTagResource,
2228		HTTPMethod: "POST",
2229		HTTPPath:   "/tags/{resourceArn}",
2230	}
2231
2232	if input == nil {
2233		input = &TagResourceInput{}
2234	}
2235
2236	output = &TagResourceOutput{}
2237	req = c.newRequest(op, input, output)
2238	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2239	return
2240}
2241
2242// TagResource API operation for Amazon Managed Blockchain.
2243//
2244// Adds or overwrites the specified tags for the specified Amazon Managed Blockchain
2245// resource. Each tag consists of a key and optional value.
2246//
2247// When you specify a tag key that already exists, the tag value is overwritten
2248// with the new value. Use UntagResource to remove tag keys.
2249//
2250// A resource can have up to 50 tags. If you try to create more than 50 tags
2251// for a resource, your request fails and returns an error.
2252//
2253// For more information about tags, see Tagging Resources (https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html)
2254// in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources
2255// (https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html)
2256// in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.
2257//
2258// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2259// with awserr.Error's Code and Message methods to get detailed information about
2260// the error.
2261//
2262// See the AWS API reference guide for Amazon Managed Blockchain's
2263// API operation TagResource for usage and error information.
2264//
2265// Returned Error Types:
2266//   * InternalServiceErrorException
2267//   The request processing has failed because of an unknown error, exception
2268//   or failure.
2269//
2270//   * InvalidRequestException
2271//   The action or operation requested is invalid. Verify that the action is typed
2272//   correctly.
2273//
2274//   * ResourceNotFoundException
2275//   A requested resource does not exist. It may have been deleted or referenced
2276//   inaccurately.
2277//
2278//   * TooManyTagsException
2279//
2280//   * ResourceNotReadyException
2281//   The requested resource exists but is not in a status that can complete the
2282//   operation.
2283//
2284// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/TagResource
2285func (c *ManagedBlockchain) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
2286	req, out := c.TagResourceRequest(input)
2287	return out, req.Send()
2288}
2289
2290// TagResourceWithContext is the same as TagResource with the addition of
2291// the ability to pass a context and additional request options.
2292//
2293// See TagResource for details on how to use this API operation.
2294//
2295// The context must be non-nil and will be used for request cancellation. If
2296// the context is nil a panic will occur. In the future the SDK may create
2297// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2298// for more information on using Contexts.
2299func (c *ManagedBlockchain) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
2300	req, out := c.TagResourceRequest(input)
2301	req.SetContext(ctx)
2302	req.ApplyOptions(opts...)
2303	return out, req.Send()
2304}
2305
2306const opUntagResource = "UntagResource"
2307
2308// UntagResourceRequest generates a "aws/request.Request" representing the
2309// client's request for the UntagResource operation. The "output" return
2310// value will be populated with the request's response once the request completes
2311// successfully.
2312//
2313// Use "Send" method on the returned Request to send the API call to the service.
2314// the "output" return value is not valid until after Send returns without error.
2315//
2316// See UntagResource for more information on using the UntagResource
2317// API call, and error handling.
2318//
2319// This method is useful when you want to inject custom logic or configuration
2320// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2321//
2322//
2323//    // Example sending a request using the UntagResourceRequest method.
2324//    req, resp := client.UntagResourceRequest(params)
2325//
2326//    err := req.Send()
2327//    if err == nil { // resp is now filled
2328//        fmt.Println(resp)
2329//    }
2330//
2331// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/UntagResource
2332func (c *ManagedBlockchain) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
2333	op := &request.Operation{
2334		Name:       opUntagResource,
2335		HTTPMethod: "DELETE",
2336		HTTPPath:   "/tags/{resourceArn}",
2337	}
2338
2339	if input == nil {
2340		input = &UntagResourceInput{}
2341	}
2342
2343	output = &UntagResourceOutput{}
2344	req = c.newRequest(op, input, output)
2345	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2346	return
2347}
2348
2349// UntagResource API operation for Amazon Managed Blockchain.
2350//
2351// Removes the specified tags from the Amazon Managed Blockchain resource.
2352//
2353// For more information about tags, see Tagging Resources (https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html)
2354// in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources
2355// (https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html)
2356// in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.
2357//
2358// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2359// with awserr.Error's Code and Message methods to get detailed information about
2360// the error.
2361//
2362// See the AWS API reference guide for Amazon Managed Blockchain's
2363// API operation UntagResource for usage and error information.
2364//
2365// Returned Error Types:
2366//   * InternalServiceErrorException
2367//   The request processing has failed because of an unknown error, exception
2368//   or failure.
2369//
2370//   * InvalidRequestException
2371//   The action or operation requested is invalid. Verify that the action is typed
2372//   correctly.
2373//
2374//   * ResourceNotFoundException
2375//   A requested resource does not exist. It may have been deleted or referenced
2376//   inaccurately.
2377//
2378//   * ResourceNotReadyException
2379//   The requested resource exists but is not in a status that can complete the
2380//   operation.
2381//
2382// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/UntagResource
2383func (c *ManagedBlockchain) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
2384	req, out := c.UntagResourceRequest(input)
2385	return out, req.Send()
2386}
2387
2388// UntagResourceWithContext is the same as UntagResource with the addition of
2389// the ability to pass a context and additional request options.
2390//
2391// See UntagResource for details on how to use this API operation.
2392//
2393// The context must be non-nil and will be used for request cancellation. If
2394// the context is nil a panic will occur. In the future the SDK may create
2395// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2396// for more information on using Contexts.
2397func (c *ManagedBlockchain) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
2398	req, out := c.UntagResourceRequest(input)
2399	req.SetContext(ctx)
2400	req.ApplyOptions(opts...)
2401	return out, req.Send()
2402}
2403
2404const opUpdateMember = "UpdateMember"
2405
2406// UpdateMemberRequest generates a "aws/request.Request" representing the
2407// client's request for the UpdateMember operation. The "output" return
2408// value will be populated with the request's response once the request completes
2409// successfully.
2410//
2411// Use "Send" method on the returned Request to send the API call to the service.
2412// the "output" return value is not valid until after Send returns without error.
2413//
2414// See UpdateMember for more information on using the UpdateMember
2415// API call, and error handling.
2416//
2417// This method is useful when you want to inject custom logic or configuration
2418// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2419//
2420//
2421//    // Example sending a request using the UpdateMemberRequest method.
2422//    req, resp := client.UpdateMemberRequest(params)
2423//
2424//    err := req.Send()
2425//    if err == nil { // resp is now filled
2426//        fmt.Println(resp)
2427//    }
2428//
2429// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/UpdateMember
2430func (c *ManagedBlockchain) UpdateMemberRequest(input *UpdateMemberInput) (req *request.Request, output *UpdateMemberOutput) {
2431	op := &request.Operation{
2432		Name:       opUpdateMember,
2433		HTTPMethod: "PATCH",
2434		HTTPPath:   "/networks/{networkId}/members/{memberId}",
2435	}
2436
2437	if input == nil {
2438		input = &UpdateMemberInput{}
2439	}
2440
2441	output = &UpdateMemberOutput{}
2442	req = c.newRequest(op, input, output)
2443	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2444	return
2445}
2446
2447// UpdateMember API operation for Amazon Managed Blockchain.
2448//
2449// Updates a member configuration with new parameters.
2450//
2451// Applies only to Hyperledger Fabric.
2452//
2453// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2454// with awserr.Error's Code and Message methods to get detailed information about
2455// the error.
2456//
2457// See the AWS API reference guide for Amazon Managed Blockchain's
2458// API operation UpdateMember for usage and error information.
2459//
2460// Returned Error Types:
2461//   * InvalidRequestException
2462//   The action or operation requested is invalid. Verify that the action is typed
2463//   correctly.
2464//
2465//   * AccessDeniedException
2466//   You do not have sufficient access to perform this action.
2467//
2468//   * ResourceNotFoundException
2469//   A requested resource does not exist. It may have been deleted or referenced
2470//   inaccurately.
2471//
2472//   * ThrottlingException
2473//   The request or operation could not be performed because a service is throttling
2474//   requests. The most common source of throttling errors is launching EC2 instances
2475//   such that your service limit for EC2 instances is exceeded. Request a limit
2476//   increase or delete unused resources if possible.
2477//
2478//   * InternalServiceErrorException
2479//   The request processing has failed because of an unknown error, exception
2480//   or failure.
2481//
2482// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/UpdateMember
2483func (c *ManagedBlockchain) UpdateMember(input *UpdateMemberInput) (*UpdateMemberOutput, error) {
2484	req, out := c.UpdateMemberRequest(input)
2485	return out, req.Send()
2486}
2487
2488// UpdateMemberWithContext is the same as UpdateMember with the addition of
2489// the ability to pass a context and additional request options.
2490//
2491// See UpdateMember for details on how to use this API operation.
2492//
2493// The context must be non-nil and will be used for request cancellation. If
2494// the context is nil a panic will occur. In the future the SDK may create
2495// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2496// for more information on using Contexts.
2497func (c *ManagedBlockchain) UpdateMemberWithContext(ctx aws.Context, input *UpdateMemberInput, opts ...request.Option) (*UpdateMemberOutput, error) {
2498	req, out := c.UpdateMemberRequest(input)
2499	req.SetContext(ctx)
2500	req.ApplyOptions(opts...)
2501	return out, req.Send()
2502}
2503
2504const opUpdateNode = "UpdateNode"
2505
2506// UpdateNodeRequest generates a "aws/request.Request" representing the
2507// client's request for the UpdateNode operation. The "output" return
2508// value will be populated with the request's response once the request completes
2509// successfully.
2510//
2511// Use "Send" method on the returned Request to send the API call to the service.
2512// the "output" return value is not valid until after Send returns without error.
2513//
2514// See UpdateNode for more information on using the UpdateNode
2515// API call, and error handling.
2516//
2517// This method is useful when you want to inject custom logic or configuration
2518// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2519//
2520//
2521//    // Example sending a request using the UpdateNodeRequest method.
2522//    req, resp := client.UpdateNodeRequest(params)
2523//
2524//    err := req.Send()
2525//    if err == nil { // resp is now filled
2526//        fmt.Println(resp)
2527//    }
2528//
2529// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/UpdateNode
2530func (c *ManagedBlockchain) UpdateNodeRequest(input *UpdateNodeInput) (req *request.Request, output *UpdateNodeOutput) {
2531	op := &request.Operation{
2532		Name:       opUpdateNode,
2533		HTTPMethod: "PATCH",
2534		HTTPPath:   "/networks/{networkId}/nodes/{nodeId}",
2535	}
2536
2537	if input == nil {
2538		input = &UpdateNodeInput{}
2539	}
2540
2541	output = &UpdateNodeOutput{}
2542	req = c.newRequest(op, input, output)
2543	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2544	return
2545}
2546
2547// UpdateNode API operation for Amazon Managed Blockchain.
2548//
2549// Updates a node configuration with new parameters.
2550//
2551// Applies only to Hyperledger Fabric.
2552//
2553// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2554// with awserr.Error's Code and Message methods to get detailed information about
2555// the error.
2556//
2557// See the AWS API reference guide for Amazon Managed Blockchain's
2558// API operation UpdateNode for usage and error information.
2559//
2560// Returned Error Types:
2561//   * InvalidRequestException
2562//   The action or operation requested is invalid. Verify that the action is typed
2563//   correctly.
2564//
2565//   * AccessDeniedException
2566//   You do not have sufficient access to perform this action.
2567//
2568//   * ResourceNotFoundException
2569//   A requested resource does not exist. It may have been deleted or referenced
2570//   inaccurately.
2571//
2572//   * ThrottlingException
2573//   The request or operation could not be performed because a service is throttling
2574//   requests. The most common source of throttling errors is launching EC2 instances
2575//   such that your service limit for EC2 instances is exceeded. Request a limit
2576//   increase or delete unused resources if possible.
2577//
2578//   * InternalServiceErrorException
2579//   The request processing has failed because of an unknown error, exception
2580//   or failure.
2581//
2582// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/UpdateNode
2583func (c *ManagedBlockchain) UpdateNode(input *UpdateNodeInput) (*UpdateNodeOutput, error) {
2584	req, out := c.UpdateNodeRequest(input)
2585	return out, req.Send()
2586}
2587
2588// UpdateNodeWithContext is the same as UpdateNode with the addition of
2589// the ability to pass a context and additional request options.
2590//
2591// See UpdateNode for details on how to use this API operation.
2592//
2593// The context must be non-nil and will be used for request cancellation. If
2594// the context is nil a panic will occur. In the future the SDK may create
2595// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2596// for more information on using Contexts.
2597func (c *ManagedBlockchain) UpdateNodeWithContext(ctx aws.Context, input *UpdateNodeInput, opts ...request.Option) (*UpdateNodeOutput, error) {
2598	req, out := c.UpdateNodeRequest(input)
2599	req.SetContext(ctx)
2600	req.ApplyOptions(opts...)
2601	return out, req.Send()
2602}
2603
2604const opVoteOnProposal = "VoteOnProposal"
2605
2606// VoteOnProposalRequest generates a "aws/request.Request" representing the
2607// client's request for the VoteOnProposal operation. The "output" return
2608// value will be populated with the request's response once the request completes
2609// successfully.
2610//
2611// Use "Send" method on the returned Request to send the API call to the service.
2612// the "output" return value is not valid until after Send returns without error.
2613//
2614// See VoteOnProposal for more information on using the VoteOnProposal
2615// API call, and error handling.
2616//
2617// This method is useful when you want to inject custom logic or configuration
2618// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2619//
2620//
2621//    // Example sending a request using the VoteOnProposalRequest method.
2622//    req, resp := client.VoteOnProposalRequest(params)
2623//
2624//    err := req.Send()
2625//    if err == nil { // resp is now filled
2626//        fmt.Println(resp)
2627//    }
2628//
2629// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/VoteOnProposal
2630func (c *ManagedBlockchain) VoteOnProposalRequest(input *VoteOnProposalInput) (req *request.Request, output *VoteOnProposalOutput) {
2631	op := &request.Operation{
2632		Name:       opVoteOnProposal,
2633		HTTPMethod: "POST",
2634		HTTPPath:   "/networks/{networkId}/proposals/{proposalId}/votes",
2635	}
2636
2637	if input == nil {
2638		input = &VoteOnProposalInput{}
2639	}
2640
2641	output = &VoteOnProposalOutput{}
2642	req = c.newRequest(op, input, output)
2643	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2644	return
2645}
2646
2647// VoteOnProposal API operation for Amazon Managed Blockchain.
2648//
2649// Casts a vote for a specified ProposalId on behalf of a member. The member
2650// to vote as, specified by VoterMemberId, must be in the same AWS account as
2651// the principal that calls the action.
2652//
2653// Applies only to Hyperledger Fabric.
2654//
2655// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2656// with awserr.Error's Code and Message methods to get detailed information about
2657// the error.
2658//
2659// See the AWS API reference guide for Amazon Managed Blockchain's
2660// API operation VoteOnProposal for usage and error information.
2661//
2662// Returned Error Types:
2663//   * InvalidRequestException
2664//   The action or operation requested is invalid. Verify that the action is typed
2665//   correctly.
2666//
2667//   * IllegalActionException
2668//
2669//   * AccessDeniedException
2670//   You do not have sufficient access to perform this action.
2671//
2672//   * ResourceNotFoundException
2673//   A requested resource does not exist. It may have been deleted or referenced
2674//   inaccurately.
2675//
2676//   * ThrottlingException
2677//   The request or operation could not be performed because a service is throttling
2678//   requests. The most common source of throttling errors is launching EC2 instances
2679//   such that your service limit for EC2 instances is exceeded. Request a limit
2680//   increase or delete unused resources if possible.
2681//
2682//   * InternalServiceErrorException
2683//   The request processing has failed because of an unknown error, exception
2684//   or failure.
2685//
2686// See also, https://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/VoteOnProposal
2687func (c *ManagedBlockchain) VoteOnProposal(input *VoteOnProposalInput) (*VoteOnProposalOutput, error) {
2688	req, out := c.VoteOnProposalRequest(input)
2689	return out, req.Send()
2690}
2691
2692// VoteOnProposalWithContext is the same as VoteOnProposal with the addition of
2693// the ability to pass a context and additional request options.
2694//
2695// See VoteOnProposal for details on how to use this API operation.
2696//
2697// The context must be non-nil and will be used for request cancellation. If
2698// the context is nil a panic will occur. In the future the SDK may create
2699// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2700// for more information on using Contexts.
2701func (c *ManagedBlockchain) VoteOnProposalWithContext(ctx aws.Context, input *VoteOnProposalInput, opts ...request.Option) (*VoteOnProposalOutput, error) {
2702	req, out := c.VoteOnProposalRequest(input)
2703	req.SetContext(ctx)
2704	req.ApplyOptions(opts...)
2705	return out, req.Send()
2706}
2707
2708// You do not have sufficient access to perform this action.
2709type AccessDeniedException struct {
2710	_            struct{}                  `type:"structure"`
2711	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2712
2713	Message_ *string `locationName:"Message" type:"string"`
2714}
2715
2716// String returns the string representation
2717func (s AccessDeniedException) String() string {
2718	return awsutil.Prettify(s)
2719}
2720
2721// GoString returns the string representation
2722func (s AccessDeniedException) GoString() string {
2723	return s.String()
2724}
2725
2726func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
2727	return &AccessDeniedException{
2728		RespMetadata: v,
2729	}
2730}
2731
2732// Code returns the exception type name.
2733func (s *AccessDeniedException) Code() string {
2734	return "AccessDeniedException"
2735}
2736
2737// Message returns the exception's message.
2738func (s *AccessDeniedException) Message() string {
2739	if s.Message_ != nil {
2740		return *s.Message_
2741	}
2742	return ""
2743}
2744
2745// OrigErr always returns nil, satisfies awserr.Error interface.
2746func (s *AccessDeniedException) OrigErr() error {
2747	return nil
2748}
2749
2750func (s *AccessDeniedException) Error() string {
2751	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2752}
2753
2754// Status code returns the HTTP status code for the request's response error.
2755func (s *AccessDeniedException) StatusCode() int {
2756	return s.RespMetadata.StatusCode
2757}
2758
2759// RequestID returns the service's response RequestID for request.
2760func (s *AccessDeniedException) RequestID() string {
2761	return s.RespMetadata.RequestID
2762}
2763
2764// A policy type that defines the voting rules for the network. The rules decide
2765// if a proposal is approved. Approval may be based on criteria such as the
2766// percentage of YES votes and the duration of the proposal. The policy applies
2767// to all proposals and is specified when the network is created.
2768//
2769// Applies only to Hyperledger Fabric.
2770type ApprovalThresholdPolicy struct {
2771	_ struct{} `type:"structure"`
2772
2773	// The duration from the time that a proposal is created until it expires. If
2774	// members cast neither the required number of YES votes to approve the proposal
2775	// nor the number of NO votes required to reject it before the duration expires,
2776	// the proposal is EXPIRED and ProposalActions are not carried out.
2777	ProposalDurationInHours *int64 `min:"1" type:"integer"`
2778
2779	// Determines whether the vote percentage must be greater than the ThresholdPercentage
2780	// or must be greater than or equal to the ThreholdPercentage to be approved.
2781	ThresholdComparator *string `type:"string" enum:"ThresholdComparator"`
2782
2783	// The percentage of votes among all members that must be YES for a proposal
2784	// to be approved. For example, a ThresholdPercentage value of 50 indicates
2785	// 50%. The ThresholdComparator determines the precise comparison. If a ThresholdPercentage
2786	// value of 50 is specified on a network with 10 members, along with a ThresholdComparator
2787	// value of GREATER_THAN, this indicates that 6 YES votes are required for the
2788	// proposal to be approved.
2789	ThresholdPercentage *int64 `type:"integer"`
2790}
2791
2792// String returns the string representation
2793func (s ApprovalThresholdPolicy) String() string {
2794	return awsutil.Prettify(s)
2795}
2796
2797// GoString returns the string representation
2798func (s ApprovalThresholdPolicy) GoString() string {
2799	return s.String()
2800}
2801
2802// Validate inspects the fields of the type to determine if they are valid.
2803func (s *ApprovalThresholdPolicy) Validate() error {
2804	invalidParams := request.ErrInvalidParams{Context: "ApprovalThresholdPolicy"}
2805	if s.ProposalDurationInHours != nil && *s.ProposalDurationInHours < 1 {
2806		invalidParams.Add(request.NewErrParamMinValue("ProposalDurationInHours", 1))
2807	}
2808
2809	if invalidParams.Len() > 0 {
2810		return invalidParams
2811	}
2812	return nil
2813}
2814
2815// SetProposalDurationInHours sets the ProposalDurationInHours field's value.
2816func (s *ApprovalThresholdPolicy) SetProposalDurationInHours(v int64) *ApprovalThresholdPolicy {
2817	s.ProposalDurationInHours = &v
2818	return s
2819}
2820
2821// SetThresholdComparator sets the ThresholdComparator field's value.
2822func (s *ApprovalThresholdPolicy) SetThresholdComparator(v string) *ApprovalThresholdPolicy {
2823	s.ThresholdComparator = &v
2824	return s
2825}
2826
2827// SetThresholdPercentage sets the ThresholdPercentage field's value.
2828func (s *ApprovalThresholdPolicy) SetThresholdPercentage(v int64) *ApprovalThresholdPolicy {
2829	s.ThresholdPercentage = &v
2830	return s
2831}
2832
2833type CreateMemberInput struct {
2834	_ struct{} `type:"structure"`
2835
2836	// A unique, case-sensitive identifier that you provide to ensure the idempotency
2837	// of the operation. An idempotent operation completes no more than one time.
2838	// This identifier is required only if you make a service request directly using
2839	// an HTTP client. It is generated automatically if you use an AWS SDK or the
2840	// AWS CLI.
2841	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
2842
2843	// The unique identifier of the invitation that is sent to the member to join
2844	// the network.
2845	//
2846	// InvitationId is a required field
2847	InvitationId *string `min:"1" type:"string" required:"true"`
2848
2849	// Member configuration parameters.
2850	//
2851	// MemberConfiguration is a required field
2852	MemberConfiguration *MemberConfiguration `type:"structure" required:"true"`
2853
2854	// The unique identifier of the network in which the member is created.
2855	//
2856	// NetworkId is a required field
2857	NetworkId *string `location:"uri" locationName:"networkId" min:"1" type:"string" required:"true"`
2858}
2859
2860// String returns the string representation
2861func (s CreateMemberInput) String() string {
2862	return awsutil.Prettify(s)
2863}
2864
2865// GoString returns the string representation
2866func (s CreateMemberInput) GoString() string {
2867	return s.String()
2868}
2869
2870// Validate inspects the fields of the type to determine if they are valid.
2871func (s *CreateMemberInput) Validate() error {
2872	invalidParams := request.ErrInvalidParams{Context: "CreateMemberInput"}
2873	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
2874		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
2875	}
2876	if s.InvitationId == nil {
2877		invalidParams.Add(request.NewErrParamRequired("InvitationId"))
2878	}
2879	if s.InvitationId != nil && len(*s.InvitationId) < 1 {
2880		invalidParams.Add(request.NewErrParamMinLen("InvitationId", 1))
2881	}
2882	if s.MemberConfiguration == nil {
2883		invalidParams.Add(request.NewErrParamRequired("MemberConfiguration"))
2884	}
2885	if s.NetworkId == nil {
2886		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
2887	}
2888	if s.NetworkId != nil && len(*s.NetworkId) < 1 {
2889		invalidParams.Add(request.NewErrParamMinLen("NetworkId", 1))
2890	}
2891	if s.MemberConfiguration != nil {
2892		if err := s.MemberConfiguration.Validate(); err != nil {
2893			invalidParams.AddNested("MemberConfiguration", err.(request.ErrInvalidParams))
2894		}
2895	}
2896
2897	if invalidParams.Len() > 0 {
2898		return invalidParams
2899	}
2900	return nil
2901}
2902
2903// SetClientRequestToken sets the ClientRequestToken field's value.
2904func (s *CreateMemberInput) SetClientRequestToken(v string) *CreateMemberInput {
2905	s.ClientRequestToken = &v
2906	return s
2907}
2908
2909// SetInvitationId sets the InvitationId field's value.
2910func (s *CreateMemberInput) SetInvitationId(v string) *CreateMemberInput {
2911	s.InvitationId = &v
2912	return s
2913}
2914
2915// SetMemberConfiguration sets the MemberConfiguration field's value.
2916func (s *CreateMemberInput) SetMemberConfiguration(v *MemberConfiguration) *CreateMemberInput {
2917	s.MemberConfiguration = v
2918	return s
2919}
2920
2921// SetNetworkId sets the NetworkId field's value.
2922func (s *CreateMemberInput) SetNetworkId(v string) *CreateMemberInput {
2923	s.NetworkId = &v
2924	return s
2925}
2926
2927type CreateMemberOutput struct {
2928	_ struct{} `type:"structure"`
2929
2930	// The unique identifier of the member.
2931	MemberId *string `min:"1" type:"string"`
2932}
2933
2934// String returns the string representation
2935func (s CreateMemberOutput) String() string {
2936	return awsutil.Prettify(s)
2937}
2938
2939// GoString returns the string representation
2940func (s CreateMemberOutput) GoString() string {
2941	return s.String()
2942}
2943
2944// SetMemberId sets the MemberId field's value.
2945func (s *CreateMemberOutput) SetMemberId(v string) *CreateMemberOutput {
2946	s.MemberId = &v
2947	return s
2948}
2949
2950type CreateNetworkInput struct {
2951	_ struct{} `type:"structure"`
2952
2953	// A unique, case-sensitive identifier that you provide to ensure the idempotency
2954	// of the operation. An idempotent operation completes no more than one time.
2955	// This identifier is required only if you make a service request directly using
2956	// an HTTP client. It is generated automatically if you use an AWS SDK or the
2957	// AWS CLI.
2958	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
2959
2960	// An optional description for the network.
2961	Description *string `type:"string"`
2962
2963	// The blockchain framework that the network uses.
2964	//
2965	// Framework is a required field
2966	Framework *string `type:"string" required:"true" enum:"Framework"`
2967
2968	// Configuration properties of the blockchain framework relevant to the network
2969	// configuration.
2970	FrameworkConfiguration *NetworkFrameworkConfiguration `type:"structure"`
2971
2972	// The version of the blockchain framework that the network uses.
2973	//
2974	// FrameworkVersion is a required field
2975	FrameworkVersion *string `min:"1" type:"string" required:"true"`
2976
2977	// Configuration properties for the first member within the network.
2978	//
2979	// MemberConfiguration is a required field
2980	MemberConfiguration *MemberConfiguration `type:"structure" required:"true"`
2981
2982	// The name of the network.
2983	//
2984	// Name is a required field
2985	Name *string `min:"1" type:"string" required:"true"`
2986
2987	// Tags to assign to the network. Each tag consists of a key and optional value.
2988	//
2989	// When specifying tags during creation, you can specify multiple key-value
2990	// pairs in a single request, with an overall maximum of 50 tags added to each
2991	// resource.
2992	//
2993	// For more information about tags, see Tagging Resources (https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html)
2994	// in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources
2995	// (https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html)
2996	// in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.
2997	Tags map[string]*string `type:"map"`
2998
2999	// The voting rules used by the network to determine if a proposal is approved.
3000	//
3001	// VotingPolicy is a required field
3002	VotingPolicy *VotingPolicy `type:"structure" required:"true"`
3003}
3004
3005// String returns the string representation
3006func (s CreateNetworkInput) String() string {
3007	return awsutil.Prettify(s)
3008}
3009
3010// GoString returns the string representation
3011func (s CreateNetworkInput) GoString() string {
3012	return s.String()
3013}
3014
3015// Validate inspects the fields of the type to determine if they are valid.
3016func (s *CreateNetworkInput) Validate() error {
3017	invalidParams := request.ErrInvalidParams{Context: "CreateNetworkInput"}
3018	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
3019		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
3020	}
3021	if s.Framework == nil {
3022		invalidParams.Add(request.NewErrParamRequired("Framework"))
3023	}
3024	if s.FrameworkVersion == nil {
3025		invalidParams.Add(request.NewErrParamRequired("FrameworkVersion"))
3026	}
3027	if s.FrameworkVersion != nil && len(*s.FrameworkVersion) < 1 {
3028		invalidParams.Add(request.NewErrParamMinLen("FrameworkVersion", 1))
3029	}
3030	if s.MemberConfiguration == nil {
3031		invalidParams.Add(request.NewErrParamRequired("MemberConfiguration"))
3032	}
3033	if s.Name == nil {
3034		invalidParams.Add(request.NewErrParamRequired("Name"))
3035	}
3036	if s.Name != nil && len(*s.Name) < 1 {
3037		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
3038	}
3039	if s.VotingPolicy == nil {
3040		invalidParams.Add(request.NewErrParamRequired("VotingPolicy"))
3041	}
3042	if s.FrameworkConfiguration != nil {
3043		if err := s.FrameworkConfiguration.Validate(); err != nil {
3044			invalidParams.AddNested("FrameworkConfiguration", err.(request.ErrInvalidParams))
3045		}
3046	}
3047	if s.MemberConfiguration != nil {
3048		if err := s.MemberConfiguration.Validate(); err != nil {
3049			invalidParams.AddNested("MemberConfiguration", err.(request.ErrInvalidParams))
3050		}
3051	}
3052	if s.VotingPolicy != nil {
3053		if err := s.VotingPolicy.Validate(); err != nil {
3054			invalidParams.AddNested("VotingPolicy", err.(request.ErrInvalidParams))
3055		}
3056	}
3057
3058	if invalidParams.Len() > 0 {
3059		return invalidParams
3060	}
3061	return nil
3062}
3063
3064// SetClientRequestToken sets the ClientRequestToken field's value.
3065func (s *CreateNetworkInput) SetClientRequestToken(v string) *CreateNetworkInput {
3066	s.ClientRequestToken = &v
3067	return s
3068}
3069
3070// SetDescription sets the Description field's value.
3071func (s *CreateNetworkInput) SetDescription(v string) *CreateNetworkInput {
3072	s.Description = &v
3073	return s
3074}
3075
3076// SetFramework sets the Framework field's value.
3077func (s *CreateNetworkInput) SetFramework(v string) *CreateNetworkInput {
3078	s.Framework = &v
3079	return s
3080}
3081
3082// SetFrameworkConfiguration sets the FrameworkConfiguration field's value.
3083func (s *CreateNetworkInput) SetFrameworkConfiguration(v *NetworkFrameworkConfiguration) *CreateNetworkInput {
3084	s.FrameworkConfiguration = v
3085	return s
3086}
3087
3088// SetFrameworkVersion sets the FrameworkVersion field's value.
3089func (s *CreateNetworkInput) SetFrameworkVersion(v string) *CreateNetworkInput {
3090	s.FrameworkVersion = &v
3091	return s
3092}
3093
3094// SetMemberConfiguration sets the MemberConfiguration field's value.
3095func (s *CreateNetworkInput) SetMemberConfiguration(v *MemberConfiguration) *CreateNetworkInput {
3096	s.MemberConfiguration = v
3097	return s
3098}
3099
3100// SetName sets the Name field's value.
3101func (s *CreateNetworkInput) SetName(v string) *CreateNetworkInput {
3102	s.Name = &v
3103	return s
3104}
3105
3106// SetTags sets the Tags field's value.
3107func (s *CreateNetworkInput) SetTags(v map[string]*string) *CreateNetworkInput {
3108	s.Tags = v
3109	return s
3110}
3111
3112// SetVotingPolicy sets the VotingPolicy field's value.
3113func (s *CreateNetworkInput) SetVotingPolicy(v *VotingPolicy) *CreateNetworkInput {
3114	s.VotingPolicy = v
3115	return s
3116}
3117
3118type CreateNetworkOutput struct {
3119	_ struct{} `type:"structure"`
3120
3121	// The unique identifier for the first member within the network.
3122	MemberId *string `min:"1" type:"string"`
3123
3124	// The unique identifier for the network.
3125	NetworkId *string `min:"1" type:"string"`
3126}
3127
3128// String returns the string representation
3129func (s CreateNetworkOutput) String() string {
3130	return awsutil.Prettify(s)
3131}
3132
3133// GoString returns the string representation
3134func (s CreateNetworkOutput) GoString() string {
3135	return s.String()
3136}
3137
3138// SetMemberId sets the MemberId field's value.
3139func (s *CreateNetworkOutput) SetMemberId(v string) *CreateNetworkOutput {
3140	s.MemberId = &v
3141	return s
3142}
3143
3144// SetNetworkId sets the NetworkId field's value.
3145func (s *CreateNetworkOutput) SetNetworkId(v string) *CreateNetworkOutput {
3146	s.NetworkId = &v
3147	return s
3148}
3149
3150type CreateNodeInput struct {
3151	_ struct{} `type:"structure"`
3152
3153	// A unique, case-sensitive identifier that you provide to ensure the idempotency
3154	// of the operation. An idempotent operation completes no more than one time.
3155	// This identifier is required only if you make a service request directly using
3156	// an HTTP client. It is generated automatically if you use an AWS SDK or the
3157	// AWS CLI.
3158	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
3159
3160	// The unique identifier of the member that owns this node.
3161	//
3162	// Applies only to Hyperledger Fabric.
3163	MemberId *string `min:"1" type:"string"`
3164
3165	// The unique identifier of the network for the node.
3166	//
3167	// Ethereum public networks have the following NetworkIds:
3168	//
3169	//    * n-ethereum-mainnet
3170	//
3171	//    * n-ethereum-rinkeby
3172	//
3173	//    * n-ethereum-ropsten
3174	//
3175	// NetworkId is a required field
3176	NetworkId *string `location:"uri" locationName:"networkId" min:"1" type:"string" required:"true"`
3177
3178	// The properties of a node configuration.
3179	//
3180	// NodeConfiguration is a required field
3181	NodeConfiguration *NodeConfiguration `type:"structure" required:"true"`
3182
3183	// Tags to assign to the node. Each tag consists of a key and optional value.
3184	//
3185	// When specifying tags during creation, you can specify multiple key-value
3186	// pairs in a single request, with an overall maximum of 50 tags added to each
3187	// resource.
3188	//
3189	// For more information about tags, see Tagging Resources (https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html)
3190	// in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources
3191	// (https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html)
3192	// in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.
3193	Tags map[string]*string `type:"map"`
3194}
3195
3196// String returns the string representation
3197func (s CreateNodeInput) String() string {
3198	return awsutil.Prettify(s)
3199}
3200
3201// GoString returns the string representation
3202func (s CreateNodeInput) GoString() string {
3203	return s.String()
3204}
3205
3206// Validate inspects the fields of the type to determine if they are valid.
3207func (s *CreateNodeInput) Validate() error {
3208	invalidParams := request.ErrInvalidParams{Context: "CreateNodeInput"}
3209	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
3210		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
3211	}
3212	if s.MemberId != nil && len(*s.MemberId) < 1 {
3213		invalidParams.Add(request.NewErrParamMinLen("MemberId", 1))
3214	}
3215	if s.NetworkId == nil {
3216		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
3217	}
3218	if s.NetworkId != nil && len(*s.NetworkId) < 1 {
3219		invalidParams.Add(request.NewErrParamMinLen("NetworkId", 1))
3220	}
3221	if s.NodeConfiguration == nil {
3222		invalidParams.Add(request.NewErrParamRequired("NodeConfiguration"))
3223	}
3224	if s.NodeConfiguration != nil {
3225		if err := s.NodeConfiguration.Validate(); err != nil {
3226			invalidParams.AddNested("NodeConfiguration", err.(request.ErrInvalidParams))
3227		}
3228	}
3229
3230	if invalidParams.Len() > 0 {
3231		return invalidParams
3232	}
3233	return nil
3234}
3235
3236// SetClientRequestToken sets the ClientRequestToken field's value.
3237func (s *CreateNodeInput) SetClientRequestToken(v string) *CreateNodeInput {
3238	s.ClientRequestToken = &v
3239	return s
3240}
3241
3242// SetMemberId sets the MemberId field's value.
3243func (s *CreateNodeInput) SetMemberId(v string) *CreateNodeInput {
3244	s.MemberId = &v
3245	return s
3246}
3247
3248// SetNetworkId sets the NetworkId field's value.
3249func (s *CreateNodeInput) SetNetworkId(v string) *CreateNodeInput {
3250	s.NetworkId = &v
3251	return s
3252}
3253
3254// SetNodeConfiguration sets the NodeConfiguration field's value.
3255func (s *CreateNodeInput) SetNodeConfiguration(v *NodeConfiguration) *CreateNodeInput {
3256	s.NodeConfiguration = v
3257	return s
3258}
3259
3260// SetTags sets the Tags field's value.
3261func (s *CreateNodeInput) SetTags(v map[string]*string) *CreateNodeInput {
3262	s.Tags = v
3263	return s
3264}
3265
3266type CreateNodeOutput struct {
3267	_ struct{} `type:"structure"`
3268
3269	// The unique identifier of the node.
3270	NodeId *string `min:"1" type:"string"`
3271}
3272
3273// String returns the string representation
3274func (s CreateNodeOutput) String() string {
3275	return awsutil.Prettify(s)
3276}
3277
3278// GoString returns the string representation
3279func (s CreateNodeOutput) GoString() string {
3280	return s.String()
3281}
3282
3283// SetNodeId sets the NodeId field's value.
3284func (s *CreateNodeOutput) SetNodeId(v string) *CreateNodeOutput {
3285	s.NodeId = &v
3286	return s
3287}
3288
3289type CreateProposalInput struct {
3290	_ struct{} `type:"structure"`
3291
3292	// The type of actions proposed, such as inviting a member or removing a member.
3293	// The types of Actions in a proposal are mutually exclusive. For example, a
3294	// proposal with Invitations actions cannot also contain Removals actions.
3295	//
3296	// Actions is a required field
3297	Actions *ProposalActions `type:"structure" required:"true"`
3298
3299	// A unique, case-sensitive identifier that you provide to ensure the idempotency
3300	// of the operation. An idempotent operation completes no more than one time.
3301	// This identifier is required only if you make a service request directly using
3302	// an HTTP client. It is generated automatically if you use an AWS SDK or the
3303	// AWS CLI.
3304	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
3305
3306	// A description for the proposal that is visible to voting members, for example,
3307	// "Proposal to add Example Corp. as member."
3308	Description *string `type:"string"`
3309
3310	// The unique identifier of the member that is creating the proposal. This identifier
3311	// is especially useful for identifying the member making the proposal when
3312	// multiple members exist in a single AWS account.
3313	//
3314	// MemberId is a required field
3315	MemberId *string `min:"1" type:"string" required:"true"`
3316
3317	// The unique identifier of the network for which the proposal is made.
3318	//
3319	// NetworkId is a required field
3320	NetworkId *string `location:"uri" locationName:"networkId" min:"1" type:"string" required:"true"`
3321
3322	// Tags to assign to the proposal. Each tag consists of a key and optional value.
3323	//
3324	// When specifying tags during creation, you can specify multiple key-value
3325	// pairs in a single request, with an overall maximum of 50 tags added to each
3326	// resource. If the proposal is for a network invitation, the invitation inherits
3327	// the tags added to the proposal.
3328	//
3329	// For more information about tags, see Tagging Resources (https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html)
3330	// in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources
3331	// (https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html)
3332	// in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.
3333	Tags map[string]*string `type:"map"`
3334}
3335
3336// String returns the string representation
3337func (s CreateProposalInput) String() string {
3338	return awsutil.Prettify(s)
3339}
3340
3341// GoString returns the string representation
3342func (s CreateProposalInput) GoString() string {
3343	return s.String()
3344}
3345
3346// Validate inspects the fields of the type to determine if they are valid.
3347func (s *CreateProposalInput) Validate() error {
3348	invalidParams := request.ErrInvalidParams{Context: "CreateProposalInput"}
3349	if s.Actions == nil {
3350		invalidParams.Add(request.NewErrParamRequired("Actions"))
3351	}
3352	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
3353		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
3354	}
3355	if s.MemberId == nil {
3356		invalidParams.Add(request.NewErrParamRequired("MemberId"))
3357	}
3358	if s.MemberId != nil && len(*s.MemberId) < 1 {
3359		invalidParams.Add(request.NewErrParamMinLen("MemberId", 1))
3360	}
3361	if s.NetworkId == nil {
3362		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
3363	}
3364	if s.NetworkId != nil && len(*s.NetworkId) < 1 {
3365		invalidParams.Add(request.NewErrParamMinLen("NetworkId", 1))
3366	}
3367	if s.Actions != nil {
3368		if err := s.Actions.Validate(); err != nil {
3369			invalidParams.AddNested("Actions", err.(request.ErrInvalidParams))
3370		}
3371	}
3372
3373	if invalidParams.Len() > 0 {
3374		return invalidParams
3375	}
3376	return nil
3377}
3378
3379// SetActions sets the Actions field's value.
3380func (s *CreateProposalInput) SetActions(v *ProposalActions) *CreateProposalInput {
3381	s.Actions = v
3382	return s
3383}
3384
3385// SetClientRequestToken sets the ClientRequestToken field's value.
3386func (s *CreateProposalInput) SetClientRequestToken(v string) *CreateProposalInput {
3387	s.ClientRequestToken = &v
3388	return s
3389}
3390
3391// SetDescription sets the Description field's value.
3392func (s *CreateProposalInput) SetDescription(v string) *CreateProposalInput {
3393	s.Description = &v
3394	return s
3395}
3396
3397// SetMemberId sets the MemberId field's value.
3398func (s *CreateProposalInput) SetMemberId(v string) *CreateProposalInput {
3399	s.MemberId = &v
3400	return s
3401}
3402
3403// SetNetworkId sets the NetworkId field's value.
3404func (s *CreateProposalInput) SetNetworkId(v string) *CreateProposalInput {
3405	s.NetworkId = &v
3406	return s
3407}
3408
3409// SetTags sets the Tags field's value.
3410func (s *CreateProposalInput) SetTags(v map[string]*string) *CreateProposalInput {
3411	s.Tags = v
3412	return s
3413}
3414
3415type CreateProposalOutput struct {
3416	_ struct{} `type:"structure"`
3417
3418	// The unique identifier of the proposal.
3419	ProposalId *string `min:"1" type:"string"`
3420}
3421
3422// String returns the string representation
3423func (s CreateProposalOutput) String() string {
3424	return awsutil.Prettify(s)
3425}
3426
3427// GoString returns the string representation
3428func (s CreateProposalOutput) GoString() string {
3429	return s.String()
3430}
3431
3432// SetProposalId sets the ProposalId field's value.
3433func (s *CreateProposalOutput) SetProposalId(v string) *CreateProposalOutput {
3434	s.ProposalId = &v
3435	return s
3436}
3437
3438type DeleteMemberInput struct {
3439	_ struct{} `type:"structure"`
3440
3441	// The unique identifier of the member to remove.
3442	//
3443	// MemberId is a required field
3444	MemberId *string `location:"uri" locationName:"memberId" min:"1" type:"string" required:"true"`
3445
3446	// The unique identifier of the network from which the member is removed.
3447	//
3448	// NetworkId is a required field
3449	NetworkId *string `location:"uri" locationName:"networkId" min:"1" type:"string" required:"true"`
3450}
3451
3452// String returns the string representation
3453func (s DeleteMemberInput) String() string {
3454	return awsutil.Prettify(s)
3455}
3456
3457// GoString returns the string representation
3458func (s DeleteMemberInput) GoString() string {
3459	return s.String()
3460}
3461
3462// Validate inspects the fields of the type to determine if they are valid.
3463func (s *DeleteMemberInput) Validate() error {
3464	invalidParams := request.ErrInvalidParams{Context: "DeleteMemberInput"}
3465	if s.MemberId == nil {
3466		invalidParams.Add(request.NewErrParamRequired("MemberId"))
3467	}
3468	if s.MemberId != nil && len(*s.MemberId) < 1 {
3469		invalidParams.Add(request.NewErrParamMinLen("MemberId", 1))
3470	}
3471	if s.NetworkId == nil {
3472		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
3473	}
3474	if s.NetworkId != nil && len(*s.NetworkId) < 1 {
3475		invalidParams.Add(request.NewErrParamMinLen("NetworkId", 1))
3476	}
3477
3478	if invalidParams.Len() > 0 {
3479		return invalidParams
3480	}
3481	return nil
3482}
3483
3484// SetMemberId sets the MemberId field's value.
3485func (s *DeleteMemberInput) SetMemberId(v string) *DeleteMemberInput {
3486	s.MemberId = &v
3487	return s
3488}
3489
3490// SetNetworkId sets the NetworkId field's value.
3491func (s *DeleteMemberInput) SetNetworkId(v string) *DeleteMemberInput {
3492	s.NetworkId = &v
3493	return s
3494}
3495
3496type DeleteMemberOutput struct {
3497	_ struct{} `type:"structure"`
3498}
3499
3500// String returns the string representation
3501func (s DeleteMemberOutput) String() string {
3502	return awsutil.Prettify(s)
3503}
3504
3505// GoString returns the string representation
3506func (s DeleteMemberOutput) GoString() string {
3507	return s.String()
3508}
3509
3510type DeleteNodeInput struct {
3511	_ struct{} `type:"structure"`
3512
3513	// The unique identifier of the member that owns this node.
3514	//
3515	// Applies only to Hyperledger Fabric and is required for Hyperledger Fabric.
3516	MemberId *string `location:"querystring" locationName:"memberId" min:"1" type:"string"`
3517
3518	// The unique identifier of the network that the node is on.
3519	//
3520	// Ethereum public networks have the following NetworkIds:
3521	//
3522	//    * n-ethereum-mainnet
3523	//
3524	//    * n-ethereum-rinkeby
3525	//
3526	//    * n-ethereum-ropsten
3527	//
3528	// NetworkId is a required field
3529	NetworkId *string `location:"uri" locationName:"networkId" min:"1" type:"string" required:"true"`
3530
3531	// The unique identifier of the node.
3532	//
3533	// NodeId is a required field
3534	NodeId *string `location:"uri" locationName:"nodeId" min:"1" type:"string" required:"true"`
3535}
3536
3537// String returns the string representation
3538func (s DeleteNodeInput) String() string {
3539	return awsutil.Prettify(s)
3540}
3541
3542// GoString returns the string representation
3543func (s DeleteNodeInput) GoString() string {
3544	return s.String()
3545}
3546
3547// Validate inspects the fields of the type to determine if they are valid.
3548func (s *DeleteNodeInput) Validate() error {
3549	invalidParams := request.ErrInvalidParams{Context: "DeleteNodeInput"}
3550	if s.MemberId != nil && len(*s.MemberId) < 1 {
3551		invalidParams.Add(request.NewErrParamMinLen("MemberId", 1))
3552	}
3553	if s.NetworkId == nil {
3554		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
3555	}
3556	if s.NetworkId != nil && len(*s.NetworkId) < 1 {
3557		invalidParams.Add(request.NewErrParamMinLen("NetworkId", 1))
3558	}
3559	if s.NodeId == nil {
3560		invalidParams.Add(request.NewErrParamRequired("NodeId"))
3561	}
3562	if s.NodeId != nil && len(*s.NodeId) < 1 {
3563		invalidParams.Add(request.NewErrParamMinLen("NodeId", 1))
3564	}
3565
3566	if invalidParams.Len() > 0 {
3567		return invalidParams
3568	}
3569	return nil
3570}
3571
3572// SetMemberId sets the MemberId field's value.
3573func (s *DeleteNodeInput) SetMemberId(v string) *DeleteNodeInput {
3574	s.MemberId = &v
3575	return s
3576}
3577
3578// SetNetworkId sets the NetworkId field's value.
3579func (s *DeleteNodeInput) SetNetworkId(v string) *DeleteNodeInput {
3580	s.NetworkId = &v
3581	return s
3582}
3583
3584// SetNodeId sets the NodeId field's value.
3585func (s *DeleteNodeInput) SetNodeId(v string) *DeleteNodeInput {
3586	s.NodeId = &v
3587	return s
3588}
3589
3590type DeleteNodeOutput struct {
3591	_ struct{} `type:"structure"`
3592}
3593
3594// String returns the string representation
3595func (s DeleteNodeOutput) String() string {
3596	return awsutil.Prettify(s)
3597}
3598
3599// GoString returns the string representation
3600func (s DeleteNodeOutput) GoString() string {
3601	return s.String()
3602}
3603
3604type GetMemberInput struct {
3605	_ struct{} `type:"structure"`
3606
3607	// The unique identifier of the member.
3608	//
3609	// MemberId is a required field
3610	MemberId *string `location:"uri" locationName:"memberId" min:"1" type:"string" required:"true"`
3611
3612	// The unique identifier of the network to which the member belongs.
3613	//
3614	// NetworkId is a required field
3615	NetworkId *string `location:"uri" locationName:"networkId" min:"1" type:"string" required:"true"`
3616}
3617
3618// String returns the string representation
3619func (s GetMemberInput) String() string {
3620	return awsutil.Prettify(s)
3621}
3622
3623// GoString returns the string representation
3624func (s GetMemberInput) GoString() string {
3625	return s.String()
3626}
3627
3628// Validate inspects the fields of the type to determine if they are valid.
3629func (s *GetMemberInput) Validate() error {
3630	invalidParams := request.ErrInvalidParams{Context: "GetMemberInput"}
3631	if s.MemberId == nil {
3632		invalidParams.Add(request.NewErrParamRequired("MemberId"))
3633	}
3634	if s.MemberId != nil && len(*s.MemberId) < 1 {
3635		invalidParams.Add(request.NewErrParamMinLen("MemberId", 1))
3636	}
3637	if s.NetworkId == nil {
3638		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
3639	}
3640	if s.NetworkId != nil && len(*s.NetworkId) < 1 {
3641		invalidParams.Add(request.NewErrParamMinLen("NetworkId", 1))
3642	}
3643
3644	if invalidParams.Len() > 0 {
3645		return invalidParams
3646	}
3647	return nil
3648}
3649
3650// SetMemberId sets the MemberId field's value.
3651func (s *GetMemberInput) SetMemberId(v string) *GetMemberInput {
3652	s.MemberId = &v
3653	return s
3654}
3655
3656// SetNetworkId sets the NetworkId field's value.
3657func (s *GetMemberInput) SetNetworkId(v string) *GetMemberInput {
3658	s.NetworkId = &v
3659	return s
3660}
3661
3662type GetMemberOutput struct {
3663	_ struct{} `type:"structure"`
3664
3665	// The properties of a member.
3666	Member *Member `type:"structure"`
3667}
3668
3669// String returns the string representation
3670func (s GetMemberOutput) String() string {
3671	return awsutil.Prettify(s)
3672}
3673
3674// GoString returns the string representation
3675func (s GetMemberOutput) GoString() string {
3676	return s.String()
3677}
3678
3679// SetMember sets the Member field's value.
3680func (s *GetMemberOutput) SetMember(v *Member) *GetMemberOutput {
3681	s.Member = v
3682	return s
3683}
3684
3685type GetNetworkInput struct {
3686	_ struct{} `type:"structure"`
3687
3688	// The unique identifier of the network to get information about.
3689	//
3690	// NetworkId is a required field
3691	NetworkId *string `location:"uri" locationName:"networkId" min:"1" type:"string" required:"true"`
3692}
3693
3694// String returns the string representation
3695func (s GetNetworkInput) String() string {
3696	return awsutil.Prettify(s)
3697}
3698
3699// GoString returns the string representation
3700func (s GetNetworkInput) GoString() string {
3701	return s.String()
3702}
3703
3704// Validate inspects the fields of the type to determine if they are valid.
3705func (s *GetNetworkInput) Validate() error {
3706	invalidParams := request.ErrInvalidParams{Context: "GetNetworkInput"}
3707	if s.NetworkId == nil {
3708		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
3709	}
3710	if s.NetworkId != nil && len(*s.NetworkId) < 1 {
3711		invalidParams.Add(request.NewErrParamMinLen("NetworkId", 1))
3712	}
3713
3714	if invalidParams.Len() > 0 {
3715		return invalidParams
3716	}
3717	return nil
3718}
3719
3720// SetNetworkId sets the NetworkId field's value.
3721func (s *GetNetworkInput) SetNetworkId(v string) *GetNetworkInput {
3722	s.NetworkId = &v
3723	return s
3724}
3725
3726type GetNetworkOutput struct {
3727	_ struct{} `type:"structure"`
3728
3729	// An object containing network configuration parameters.
3730	Network *Network `type:"structure"`
3731}
3732
3733// String returns the string representation
3734func (s GetNetworkOutput) String() string {
3735	return awsutil.Prettify(s)
3736}
3737
3738// GoString returns the string representation
3739func (s GetNetworkOutput) GoString() string {
3740	return s.String()
3741}
3742
3743// SetNetwork sets the Network field's value.
3744func (s *GetNetworkOutput) SetNetwork(v *Network) *GetNetworkOutput {
3745	s.Network = v
3746	return s
3747}
3748
3749type GetNodeInput struct {
3750	_ struct{} `type:"structure"`
3751
3752	// The unique identifier of the member that owns the node.
3753	//
3754	// Applies only to Hyperledger Fabric and is required for Hyperledger Fabric.
3755	MemberId *string `location:"querystring" locationName:"memberId" min:"1" type:"string"`
3756
3757	// The unique identifier of the network that the node is on.
3758	//
3759	// NetworkId is a required field
3760	NetworkId *string `location:"uri" locationName:"networkId" min:"1" type:"string" required:"true"`
3761
3762	// The unique identifier of the node.
3763	//
3764	// NodeId is a required field
3765	NodeId *string `location:"uri" locationName:"nodeId" min:"1" type:"string" required:"true"`
3766}
3767
3768// String returns the string representation
3769func (s GetNodeInput) String() string {
3770	return awsutil.Prettify(s)
3771}
3772
3773// GoString returns the string representation
3774func (s GetNodeInput) GoString() string {
3775	return s.String()
3776}
3777
3778// Validate inspects the fields of the type to determine if they are valid.
3779func (s *GetNodeInput) Validate() error {
3780	invalidParams := request.ErrInvalidParams{Context: "GetNodeInput"}
3781	if s.MemberId != nil && len(*s.MemberId) < 1 {
3782		invalidParams.Add(request.NewErrParamMinLen("MemberId", 1))
3783	}
3784	if s.NetworkId == nil {
3785		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
3786	}
3787	if s.NetworkId != nil && len(*s.NetworkId) < 1 {
3788		invalidParams.Add(request.NewErrParamMinLen("NetworkId", 1))
3789	}
3790	if s.NodeId == nil {
3791		invalidParams.Add(request.NewErrParamRequired("NodeId"))
3792	}
3793	if s.NodeId != nil && len(*s.NodeId) < 1 {
3794		invalidParams.Add(request.NewErrParamMinLen("NodeId", 1))
3795	}
3796
3797	if invalidParams.Len() > 0 {
3798		return invalidParams
3799	}
3800	return nil
3801}
3802
3803// SetMemberId sets the MemberId field's value.
3804func (s *GetNodeInput) SetMemberId(v string) *GetNodeInput {
3805	s.MemberId = &v
3806	return s
3807}
3808
3809// SetNetworkId sets the NetworkId field's value.
3810func (s *GetNodeInput) SetNetworkId(v string) *GetNodeInput {
3811	s.NetworkId = &v
3812	return s
3813}
3814
3815// SetNodeId sets the NodeId field's value.
3816func (s *GetNodeInput) SetNodeId(v string) *GetNodeInput {
3817	s.NodeId = &v
3818	return s
3819}
3820
3821type GetNodeOutput struct {
3822	_ struct{} `type:"structure"`
3823
3824	// Properties of the node configuration.
3825	Node *Node `type:"structure"`
3826}
3827
3828// String returns the string representation
3829func (s GetNodeOutput) String() string {
3830	return awsutil.Prettify(s)
3831}
3832
3833// GoString returns the string representation
3834func (s GetNodeOutput) GoString() string {
3835	return s.String()
3836}
3837
3838// SetNode sets the Node field's value.
3839func (s *GetNodeOutput) SetNode(v *Node) *GetNodeOutput {
3840	s.Node = v
3841	return s
3842}
3843
3844type GetProposalInput struct {
3845	_ struct{} `type:"structure"`
3846
3847	// The unique identifier of the network for which the proposal is made.
3848	//
3849	// NetworkId is a required field
3850	NetworkId *string `location:"uri" locationName:"networkId" min:"1" type:"string" required:"true"`
3851
3852	// The unique identifier of the proposal.
3853	//
3854	// ProposalId is a required field
3855	ProposalId *string `location:"uri" locationName:"proposalId" min:"1" type:"string" required:"true"`
3856}
3857
3858// String returns the string representation
3859func (s GetProposalInput) String() string {
3860	return awsutil.Prettify(s)
3861}
3862
3863// GoString returns the string representation
3864func (s GetProposalInput) GoString() string {
3865	return s.String()
3866}
3867
3868// Validate inspects the fields of the type to determine if they are valid.
3869func (s *GetProposalInput) Validate() error {
3870	invalidParams := request.ErrInvalidParams{Context: "GetProposalInput"}
3871	if s.NetworkId == nil {
3872		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
3873	}
3874	if s.NetworkId != nil && len(*s.NetworkId) < 1 {
3875		invalidParams.Add(request.NewErrParamMinLen("NetworkId", 1))
3876	}
3877	if s.ProposalId == nil {
3878		invalidParams.Add(request.NewErrParamRequired("ProposalId"))
3879	}
3880	if s.ProposalId != nil && len(*s.ProposalId) < 1 {
3881		invalidParams.Add(request.NewErrParamMinLen("ProposalId", 1))
3882	}
3883
3884	if invalidParams.Len() > 0 {
3885		return invalidParams
3886	}
3887	return nil
3888}
3889
3890// SetNetworkId sets the NetworkId field's value.
3891func (s *GetProposalInput) SetNetworkId(v string) *GetProposalInput {
3892	s.NetworkId = &v
3893	return s
3894}
3895
3896// SetProposalId sets the ProposalId field's value.
3897func (s *GetProposalInput) SetProposalId(v string) *GetProposalInput {
3898	s.ProposalId = &v
3899	return s
3900}
3901
3902type GetProposalOutput struct {
3903	_ struct{} `type:"structure"`
3904
3905	// Information about a proposal.
3906	Proposal *Proposal `type:"structure"`
3907}
3908
3909// String returns the string representation
3910func (s GetProposalOutput) String() string {
3911	return awsutil.Prettify(s)
3912}
3913
3914// GoString returns the string representation
3915func (s GetProposalOutput) GoString() string {
3916	return s.String()
3917}
3918
3919// SetProposal sets the Proposal field's value.
3920func (s *GetProposalOutput) SetProposal(v *Proposal) *GetProposalOutput {
3921	s.Proposal = v
3922	return s
3923}
3924
3925type IllegalActionException struct {
3926	_            struct{}                  `type:"structure"`
3927	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3928
3929	Message_ *string `locationName:"Message" type:"string"`
3930}
3931
3932// String returns the string representation
3933func (s IllegalActionException) String() string {
3934	return awsutil.Prettify(s)
3935}
3936
3937// GoString returns the string representation
3938func (s IllegalActionException) GoString() string {
3939	return s.String()
3940}
3941
3942func newErrorIllegalActionException(v protocol.ResponseMetadata) error {
3943	return &IllegalActionException{
3944		RespMetadata: v,
3945	}
3946}
3947
3948// Code returns the exception type name.
3949func (s *IllegalActionException) Code() string {
3950	return "IllegalActionException"
3951}
3952
3953// Message returns the exception's message.
3954func (s *IllegalActionException) Message() string {
3955	if s.Message_ != nil {
3956		return *s.Message_
3957	}
3958	return ""
3959}
3960
3961// OrigErr always returns nil, satisfies awserr.Error interface.
3962func (s *IllegalActionException) OrigErr() error {
3963	return nil
3964}
3965
3966func (s *IllegalActionException) Error() string {
3967	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3968}
3969
3970// Status code returns the HTTP status code for the request's response error.
3971func (s *IllegalActionException) StatusCode() int {
3972	return s.RespMetadata.StatusCode
3973}
3974
3975// RequestID returns the service's response RequestID for request.
3976func (s *IllegalActionException) RequestID() string {
3977	return s.RespMetadata.RequestID
3978}
3979
3980// The request processing has failed because of an unknown error, exception
3981// or failure.
3982type InternalServiceErrorException struct {
3983	_            struct{}                  `type:"structure"`
3984	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3985
3986	Message_ *string `locationName:"message" type:"string"`
3987}
3988
3989// String returns the string representation
3990func (s InternalServiceErrorException) String() string {
3991	return awsutil.Prettify(s)
3992}
3993
3994// GoString returns the string representation
3995func (s InternalServiceErrorException) GoString() string {
3996	return s.String()
3997}
3998
3999func newErrorInternalServiceErrorException(v protocol.ResponseMetadata) error {
4000	return &InternalServiceErrorException{
4001		RespMetadata: v,
4002	}
4003}
4004
4005// Code returns the exception type name.
4006func (s *InternalServiceErrorException) Code() string {
4007	return "InternalServiceErrorException"
4008}
4009
4010// Message returns the exception's message.
4011func (s *InternalServiceErrorException) Message() string {
4012	if s.Message_ != nil {
4013		return *s.Message_
4014	}
4015	return ""
4016}
4017
4018// OrigErr always returns nil, satisfies awserr.Error interface.
4019func (s *InternalServiceErrorException) OrigErr() error {
4020	return nil
4021}
4022
4023func (s *InternalServiceErrorException) Error() string {
4024	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4025}
4026
4027// Status code returns the HTTP status code for the request's response error.
4028func (s *InternalServiceErrorException) StatusCode() int {
4029	return s.RespMetadata.StatusCode
4030}
4031
4032// RequestID returns the service's response RequestID for request.
4033func (s *InternalServiceErrorException) RequestID() string {
4034	return s.RespMetadata.RequestID
4035}
4036
4037// The action or operation requested is invalid. Verify that the action is typed
4038// correctly.
4039type InvalidRequestException struct {
4040	_            struct{}                  `type:"structure"`
4041	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4042
4043	Message_ *string `locationName:"Message" type:"string"`
4044}
4045
4046// String returns the string representation
4047func (s InvalidRequestException) String() string {
4048	return awsutil.Prettify(s)
4049}
4050
4051// GoString returns the string representation
4052func (s InvalidRequestException) GoString() string {
4053	return s.String()
4054}
4055
4056func newErrorInvalidRequestException(v protocol.ResponseMetadata) error {
4057	return &InvalidRequestException{
4058		RespMetadata: v,
4059	}
4060}
4061
4062// Code returns the exception type name.
4063func (s *InvalidRequestException) Code() string {
4064	return "InvalidRequestException"
4065}
4066
4067// Message returns the exception's message.
4068func (s *InvalidRequestException) Message() string {
4069	if s.Message_ != nil {
4070		return *s.Message_
4071	}
4072	return ""
4073}
4074
4075// OrigErr always returns nil, satisfies awserr.Error interface.
4076func (s *InvalidRequestException) OrigErr() error {
4077	return nil
4078}
4079
4080func (s *InvalidRequestException) Error() string {
4081	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4082}
4083
4084// Status code returns the HTTP status code for the request's response error.
4085func (s *InvalidRequestException) StatusCode() int {
4086	return s.RespMetadata.StatusCode
4087}
4088
4089// RequestID returns the service's response RequestID for request.
4090func (s *InvalidRequestException) RequestID() string {
4091	return s.RespMetadata.RequestID
4092}
4093
4094// An invitation to an AWS account to create a member and join the network.
4095//
4096// Applies only to Hyperledger Fabric.
4097type Invitation struct {
4098	_ struct{} `type:"structure"`
4099
4100	// The Amazon Resource Name (ARN) of the invitation. For more information about
4101	// ARNs and their format, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
4102	// in the AWS General Reference.
4103	Arn *string `min:"1" type:"string"`
4104
4105	// The date and time that the invitation was created.
4106	CreationDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
4107
4108	// The date and time that the invitation expires. This is the CreationDate plus
4109	// the ProposalDurationInHours that is specified in the ProposalThresholdPolicy.
4110	// After this date and time, the invitee can no longer create a member and join
4111	// the network using this InvitationId.
4112	ExpirationDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
4113
4114	// The unique identifier for the invitation.
4115	InvitationId *string `min:"1" type:"string"`
4116
4117	// A summary of network configuration properties.
4118	NetworkSummary *NetworkSummary `type:"structure"`
4119
4120	// The status of the invitation:
4121	//
4122	//    * PENDING - The invitee has not created a member to join the network,
4123	//    and the invitation has not yet expired.
4124	//
4125	//    * ACCEPTING - The invitee has begun creating a member, and creation has
4126	//    not yet completed.
4127	//
4128	//    * ACCEPTED - The invitee created a member and joined the network using
4129	//    the InvitationID.
4130	//
4131	//    * REJECTED - The invitee rejected the invitation.
4132	//
4133	//    * EXPIRED - The invitee neither created a member nor rejected the invitation
4134	//    before the ExpirationDate.
4135	Status *string `type:"string" enum:"InvitationStatus"`
4136}
4137
4138// String returns the string representation
4139func (s Invitation) String() string {
4140	return awsutil.Prettify(s)
4141}
4142
4143// GoString returns the string representation
4144func (s Invitation) GoString() string {
4145	return s.String()
4146}
4147
4148// SetArn sets the Arn field's value.
4149func (s *Invitation) SetArn(v string) *Invitation {
4150	s.Arn = &v
4151	return s
4152}
4153
4154// SetCreationDate sets the CreationDate field's value.
4155func (s *Invitation) SetCreationDate(v time.Time) *Invitation {
4156	s.CreationDate = &v
4157	return s
4158}
4159
4160// SetExpirationDate sets the ExpirationDate field's value.
4161func (s *Invitation) SetExpirationDate(v time.Time) *Invitation {
4162	s.ExpirationDate = &v
4163	return s
4164}
4165
4166// SetInvitationId sets the InvitationId field's value.
4167func (s *Invitation) SetInvitationId(v string) *Invitation {
4168	s.InvitationId = &v
4169	return s
4170}
4171
4172// SetNetworkSummary sets the NetworkSummary field's value.
4173func (s *Invitation) SetNetworkSummary(v *NetworkSummary) *Invitation {
4174	s.NetworkSummary = v
4175	return s
4176}
4177
4178// SetStatus sets the Status field's value.
4179func (s *Invitation) SetStatus(v string) *Invitation {
4180	s.Status = &v
4181	return s
4182}
4183
4184// An action to invite a specific AWS account to create a member and join the
4185// network. The InviteAction is carried out when a Proposal is APPROVED.
4186//
4187// Applies only to Hyperledger Fabric.
4188type InviteAction struct {
4189	_ struct{} `type:"structure"`
4190
4191	// The AWS account ID to invite.
4192	//
4193	// Principal is a required field
4194	Principal *string `type:"string" required:"true"`
4195}
4196
4197// String returns the string representation
4198func (s InviteAction) String() string {
4199	return awsutil.Prettify(s)
4200}
4201
4202// GoString returns the string representation
4203func (s InviteAction) GoString() string {
4204	return s.String()
4205}
4206
4207// Validate inspects the fields of the type to determine if they are valid.
4208func (s *InviteAction) Validate() error {
4209	invalidParams := request.ErrInvalidParams{Context: "InviteAction"}
4210	if s.Principal == nil {
4211		invalidParams.Add(request.NewErrParamRequired("Principal"))
4212	}
4213
4214	if invalidParams.Len() > 0 {
4215		return invalidParams
4216	}
4217	return nil
4218}
4219
4220// SetPrincipal sets the Principal field's value.
4221func (s *InviteAction) SetPrincipal(v string) *InviteAction {
4222	s.Principal = &v
4223	return s
4224}
4225
4226type ListInvitationsInput struct {
4227	_ struct{} `type:"structure"`
4228
4229	// The maximum number of invitations to return.
4230	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
4231
4232	// The pagination token that indicates the next set of results to retrieve.
4233	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
4234}
4235
4236// String returns the string representation
4237func (s ListInvitationsInput) String() string {
4238	return awsutil.Prettify(s)
4239}
4240
4241// GoString returns the string representation
4242func (s ListInvitationsInput) GoString() string {
4243	return s.String()
4244}
4245
4246// Validate inspects the fields of the type to determine if they are valid.
4247func (s *ListInvitationsInput) Validate() error {
4248	invalidParams := request.ErrInvalidParams{Context: "ListInvitationsInput"}
4249	if s.MaxResults != nil && *s.MaxResults < 1 {
4250		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4251	}
4252
4253	if invalidParams.Len() > 0 {
4254		return invalidParams
4255	}
4256	return nil
4257}
4258
4259// SetMaxResults sets the MaxResults field's value.
4260func (s *ListInvitationsInput) SetMaxResults(v int64) *ListInvitationsInput {
4261	s.MaxResults = &v
4262	return s
4263}
4264
4265// SetNextToken sets the NextToken field's value.
4266func (s *ListInvitationsInput) SetNextToken(v string) *ListInvitationsInput {
4267	s.NextToken = &v
4268	return s
4269}
4270
4271type ListInvitationsOutput struct {
4272	_ struct{} `type:"structure"`
4273
4274	// The invitations for the network.
4275	Invitations []*Invitation `type:"list"`
4276
4277	// The pagination token that indicates the next set of results to retrieve.
4278	NextToken *string `type:"string"`
4279}
4280
4281// String returns the string representation
4282func (s ListInvitationsOutput) String() string {
4283	return awsutil.Prettify(s)
4284}
4285
4286// GoString returns the string representation
4287func (s ListInvitationsOutput) GoString() string {
4288	return s.String()
4289}
4290
4291// SetInvitations sets the Invitations field's value.
4292func (s *ListInvitationsOutput) SetInvitations(v []*Invitation) *ListInvitationsOutput {
4293	s.Invitations = v
4294	return s
4295}
4296
4297// SetNextToken sets the NextToken field's value.
4298func (s *ListInvitationsOutput) SetNextToken(v string) *ListInvitationsOutput {
4299	s.NextToken = &v
4300	return s
4301}
4302
4303type ListMembersInput struct {
4304	_ struct{} `type:"structure"`
4305
4306	// An optional Boolean value. If provided, the request is limited either to
4307	// members that the current AWS account owns (true) or that other AWS accounts
4308	// own (false). If omitted, all members are listed.
4309	IsOwned *bool `location:"querystring" locationName:"isOwned" type:"boolean"`
4310
4311	// The maximum number of members to return in the request.
4312	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
4313
4314	// The optional name of the member to list.
4315	Name *string `location:"querystring" locationName:"name" type:"string"`
4316
4317	// The unique identifier of the network for which to list members.
4318	//
4319	// NetworkId is a required field
4320	NetworkId *string `location:"uri" locationName:"networkId" min:"1" type:"string" required:"true"`
4321
4322	// The pagination token that indicates the next set of results to retrieve.
4323	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
4324
4325	// An optional status specifier. If provided, only members currently in this
4326	// status are listed.
4327	Status *string `location:"querystring" locationName:"status" type:"string" enum:"MemberStatus"`
4328}
4329
4330// String returns the string representation
4331func (s ListMembersInput) String() string {
4332	return awsutil.Prettify(s)
4333}
4334
4335// GoString returns the string representation
4336func (s ListMembersInput) GoString() string {
4337	return s.String()
4338}
4339
4340// Validate inspects the fields of the type to determine if they are valid.
4341func (s *ListMembersInput) Validate() error {
4342	invalidParams := request.ErrInvalidParams{Context: "ListMembersInput"}
4343	if s.MaxResults != nil && *s.MaxResults < 1 {
4344		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4345	}
4346	if s.NetworkId == nil {
4347		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
4348	}
4349	if s.NetworkId != nil && len(*s.NetworkId) < 1 {
4350		invalidParams.Add(request.NewErrParamMinLen("NetworkId", 1))
4351	}
4352
4353	if invalidParams.Len() > 0 {
4354		return invalidParams
4355	}
4356	return nil
4357}
4358
4359// SetIsOwned sets the IsOwned field's value.
4360func (s *ListMembersInput) SetIsOwned(v bool) *ListMembersInput {
4361	s.IsOwned = &v
4362	return s
4363}
4364
4365// SetMaxResults sets the MaxResults field's value.
4366func (s *ListMembersInput) SetMaxResults(v int64) *ListMembersInput {
4367	s.MaxResults = &v
4368	return s
4369}
4370
4371// SetName sets the Name field's value.
4372func (s *ListMembersInput) SetName(v string) *ListMembersInput {
4373	s.Name = &v
4374	return s
4375}
4376
4377// SetNetworkId sets the NetworkId field's value.
4378func (s *ListMembersInput) SetNetworkId(v string) *ListMembersInput {
4379	s.NetworkId = &v
4380	return s
4381}
4382
4383// SetNextToken sets the NextToken field's value.
4384func (s *ListMembersInput) SetNextToken(v string) *ListMembersInput {
4385	s.NextToken = &v
4386	return s
4387}
4388
4389// SetStatus sets the Status field's value.
4390func (s *ListMembersInput) SetStatus(v string) *ListMembersInput {
4391	s.Status = &v
4392	return s
4393}
4394
4395type ListMembersOutput struct {
4396	_ struct{} `type:"structure"`
4397
4398	// An array of MemberSummary objects. Each object contains details about a network
4399	// member.
4400	Members []*MemberSummary `type:"list"`
4401
4402	// The pagination token that indicates the next set of results to retrieve.
4403	NextToken *string `type:"string"`
4404}
4405
4406// String returns the string representation
4407func (s ListMembersOutput) String() string {
4408	return awsutil.Prettify(s)
4409}
4410
4411// GoString returns the string representation
4412func (s ListMembersOutput) GoString() string {
4413	return s.String()
4414}
4415
4416// SetMembers sets the Members field's value.
4417func (s *ListMembersOutput) SetMembers(v []*MemberSummary) *ListMembersOutput {
4418	s.Members = v
4419	return s
4420}
4421
4422// SetNextToken sets the NextToken field's value.
4423func (s *ListMembersOutput) SetNextToken(v string) *ListMembersOutput {
4424	s.NextToken = &v
4425	return s
4426}
4427
4428type ListNetworksInput struct {
4429	_ struct{} `type:"structure"`
4430
4431	// An optional framework specifier. If provided, only networks of this framework
4432	// type are listed.
4433	Framework *string `location:"querystring" locationName:"framework" type:"string" enum:"Framework"`
4434
4435	// The maximum number of networks to list.
4436	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
4437
4438	// The name of the network.
4439	Name *string `location:"querystring" locationName:"name" type:"string"`
4440
4441	// The pagination token that indicates the next set of results to retrieve.
4442	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
4443
4444	// An optional status specifier. If provided, only networks currently in this
4445	// status are listed.
4446	//
4447	// Applies only to Hyperledger Fabric.
4448	Status *string `location:"querystring" locationName:"status" type:"string" enum:"NetworkStatus"`
4449}
4450
4451// String returns the string representation
4452func (s ListNetworksInput) String() string {
4453	return awsutil.Prettify(s)
4454}
4455
4456// GoString returns the string representation
4457func (s ListNetworksInput) GoString() string {
4458	return s.String()
4459}
4460
4461// Validate inspects the fields of the type to determine if they are valid.
4462func (s *ListNetworksInput) Validate() error {
4463	invalidParams := request.ErrInvalidParams{Context: "ListNetworksInput"}
4464	if s.MaxResults != nil && *s.MaxResults < 1 {
4465		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4466	}
4467
4468	if invalidParams.Len() > 0 {
4469		return invalidParams
4470	}
4471	return nil
4472}
4473
4474// SetFramework sets the Framework field's value.
4475func (s *ListNetworksInput) SetFramework(v string) *ListNetworksInput {
4476	s.Framework = &v
4477	return s
4478}
4479
4480// SetMaxResults sets the MaxResults field's value.
4481func (s *ListNetworksInput) SetMaxResults(v int64) *ListNetworksInput {
4482	s.MaxResults = &v
4483	return s
4484}
4485
4486// SetName sets the Name field's value.
4487func (s *ListNetworksInput) SetName(v string) *ListNetworksInput {
4488	s.Name = &v
4489	return s
4490}
4491
4492// SetNextToken sets the NextToken field's value.
4493func (s *ListNetworksInput) SetNextToken(v string) *ListNetworksInput {
4494	s.NextToken = &v
4495	return s
4496}
4497
4498// SetStatus sets the Status field's value.
4499func (s *ListNetworksInput) SetStatus(v string) *ListNetworksInput {
4500	s.Status = &v
4501	return s
4502}
4503
4504type ListNetworksOutput struct {
4505	_ struct{} `type:"structure"`
4506
4507	// An array of NetworkSummary objects that contain configuration properties
4508	// for each network.
4509	Networks []*NetworkSummary `type:"list"`
4510
4511	// The pagination token that indicates the next set of results to retrieve.
4512	NextToken *string `type:"string"`
4513}
4514
4515// String returns the string representation
4516func (s ListNetworksOutput) String() string {
4517	return awsutil.Prettify(s)
4518}
4519
4520// GoString returns the string representation
4521func (s ListNetworksOutput) GoString() string {
4522	return s.String()
4523}
4524
4525// SetNetworks sets the Networks field's value.
4526func (s *ListNetworksOutput) SetNetworks(v []*NetworkSummary) *ListNetworksOutput {
4527	s.Networks = v
4528	return s
4529}
4530
4531// SetNextToken sets the NextToken field's value.
4532func (s *ListNetworksOutput) SetNextToken(v string) *ListNetworksOutput {
4533	s.NextToken = &v
4534	return s
4535}
4536
4537type ListNodesInput struct {
4538	_ struct{} `type:"structure"`
4539
4540	// The maximum number of nodes to list.
4541	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
4542
4543	// The unique identifier of the member who owns the nodes to list.
4544	//
4545	// Applies only to Hyperledger Fabric and is required for Hyperledger Fabric.
4546	MemberId *string `location:"querystring" locationName:"memberId" min:"1" type:"string"`
4547
4548	// The unique identifier of the network for which to list nodes.
4549	//
4550	// NetworkId is a required field
4551	NetworkId *string `location:"uri" locationName:"networkId" min:"1" type:"string" required:"true"`
4552
4553	// The pagination token that indicates the next set of results to retrieve.
4554	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
4555
4556	// An optional status specifier. If provided, only nodes currently in this status
4557	// are listed.
4558	Status *string `location:"querystring" locationName:"status" type:"string" enum:"NodeStatus"`
4559}
4560
4561// String returns the string representation
4562func (s ListNodesInput) String() string {
4563	return awsutil.Prettify(s)
4564}
4565
4566// GoString returns the string representation
4567func (s ListNodesInput) GoString() string {
4568	return s.String()
4569}
4570
4571// Validate inspects the fields of the type to determine if they are valid.
4572func (s *ListNodesInput) Validate() error {
4573	invalidParams := request.ErrInvalidParams{Context: "ListNodesInput"}
4574	if s.MaxResults != nil && *s.MaxResults < 1 {
4575		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4576	}
4577	if s.MemberId != nil && len(*s.MemberId) < 1 {
4578		invalidParams.Add(request.NewErrParamMinLen("MemberId", 1))
4579	}
4580	if s.NetworkId == nil {
4581		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
4582	}
4583	if s.NetworkId != nil && len(*s.NetworkId) < 1 {
4584		invalidParams.Add(request.NewErrParamMinLen("NetworkId", 1))
4585	}
4586
4587	if invalidParams.Len() > 0 {
4588		return invalidParams
4589	}
4590	return nil
4591}
4592
4593// SetMaxResults sets the MaxResults field's value.
4594func (s *ListNodesInput) SetMaxResults(v int64) *ListNodesInput {
4595	s.MaxResults = &v
4596	return s
4597}
4598
4599// SetMemberId sets the MemberId field's value.
4600func (s *ListNodesInput) SetMemberId(v string) *ListNodesInput {
4601	s.MemberId = &v
4602	return s
4603}
4604
4605// SetNetworkId sets the NetworkId field's value.
4606func (s *ListNodesInput) SetNetworkId(v string) *ListNodesInput {
4607	s.NetworkId = &v
4608	return s
4609}
4610
4611// SetNextToken sets the NextToken field's value.
4612func (s *ListNodesInput) SetNextToken(v string) *ListNodesInput {
4613	s.NextToken = &v
4614	return s
4615}
4616
4617// SetStatus sets the Status field's value.
4618func (s *ListNodesInput) SetStatus(v string) *ListNodesInput {
4619	s.Status = &v
4620	return s
4621}
4622
4623type ListNodesOutput struct {
4624	_ struct{} `type:"structure"`
4625
4626	// The pagination token that indicates the next set of results to retrieve.
4627	NextToken *string `type:"string"`
4628
4629	// An array of NodeSummary objects that contain configuration properties for
4630	// each node.
4631	Nodes []*NodeSummary `type:"list"`
4632}
4633
4634// String returns the string representation
4635func (s ListNodesOutput) String() string {
4636	return awsutil.Prettify(s)
4637}
4638
4639// GoString returns the string representation
4640func (s ListNodesOutput) GoString() string {
4641	return s.String()
4642}
4643
4644// SetNextToken sets the NextToken field's value.
4645func (s *ListNodesOutput) SetNextToken(v string) *ListNodesOutput {
4646	s.NextToken = &v
4647	return s
4648}
4649
4650// SetNodes sets the Nodes field's value.
4651func (s *ListNodesOutput) SetNodes(v []*NodeSummary) *ListNodesOutput {
4652	s.Nodes = v
4653	return s
4654}
4655
4656type ListProposalVotesInput struct {
4657	_ struct{} `type:"structure"`
4658
4659	// The maximum number of votes to return.
4660	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
4661
4662	// The unique identifier of the network.
4663	//
4664	// NetworkId is a required field
4665	NetworkId *string `location:"uri" locationName:"networkId" min:"1" type:"string" required:"true"`
4666
4667	// The pagination token that indicates the next set of results to retrieve.
4668	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
4669
4670	// The unique identifier of the proposal.
4671	//
4672	// ProposalId is a required field
4673	ProposalId *string `location:"uri" locationName:"proposalId" min:"1" type:"string" required:"true"`
4674}
4675
4676// String returns the string representation
4677func (s ListProposalVotesInput) String() string {
4678	return awsutil.Prettify(s)
4679}
4680
4681// GoString returns the string representation
4682func (s ListProposalVotesInput) GoString() string {
4683	return s.String()
4684}
4685
4686// Validate inspects the fields of the type to determine if they are valid.
4687func (s *ListProposalVotesInput) Validate() error {
4688	invalidParams := request.ErrInvalidParams{Context: "ListProposalVotesInput"}
4689	if s.MaxResults != nil && *s.MaxResults < 1 {
4690		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4691	}
4692	if s.NetworkId == nil {
4693		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
4694	}
4695	if s.NetworkId != nil && len(*s.NetworkId) < 1 {
4696		invalidParams.Add(request.NewErrParamMinLen("NetworkId", 1))
4697	}
4698	if s.ProposalId == nil {
4699		invalidParams.Add(request.NewErrParamRequired("ProposalId"))
4700	}
4701	if s.ProposalId != nil && len(*s.ProposalId) < 1 {
4702		invalidParams.Add(request.NewErrParamMinLen("ProposalId", 1))
4703	}
4704
4705	if invalidParams.Len() > 0 {
4706		return invalidParams
4707	}
4708	return nil
4709}
4710
4711// SetMaxResults sets the MaxResults field's value.
4712func (s *ListProposalVotesInput) SetMaxResults(v int64) *ListProposalVotesInput {
4713	s.MaxResults = &v
4714	return s
4715}
4716
4717// SetNetworkId sets the NetworkId field's value.
4718func (s *ListProposalVotesInput) SetNetworkId(v string) *ListProposalVotesInput {
4719	s.NetworkId = &v
4720	return s
4721}
4722
4723// SetNextToken sets the NextToken field's value.
4724func (s *ListProposalVotesInput) SetNextToken(v string) *ListProposalVotesInput {
4725	s.NextToken = &v
4726	return s
4727}
4728
4729// SetProposalId sets the ProposalId field's value.
4730func (s *ListProposalVotesInput) SetProposalId(v string) *ListProposalVotesInput {
4731	s.ProposalId = &v
4732	return s
4733}
4734
4735type ListProposalVotesOutput struct {
4736	_ struct{} `type:"structure"`
4737
4738	// The pagination token that indicates the next set of results to retrieve.
4739	NextToken *string `type:"string"`
4740
4741	// The list of votes.
4742	ProposalVotes []*VoteSummary `type:"list"`
4743}
4744
4745// String returns the string representation
4746func (s ListProposalVotesOutput) String() string {
4747	return awsutil.Prettify(s)
4748}
4749
4750// GoString returns the string representation
4751func (s ListProposalVotesOutput) GoString() string {
4752	return s.String()
4753}
4754
4755// SetNextToken sets the NextToken field's value.
4756func (s *ListProposalVotesOutput) SetNextToken(v string) *ListProposalVotesOutput {
4757	s.NextToken = &v
4758	return s
4759}
4760
4761// SetProposalVotes sets the ProposalVotes field's value.
4762func (s *ListProposalVotesOutput) SetProposalVotes(v []*VoteSummary) *ListProposalVotesOutput {
4763	s.ProposalVotes = v
4764	return s
4765}
4766
4767type ListProposalsInput struct {
4768	_ struct{} `type:"structure"`
4769
4770	// The maximum number of proposals to return.
4771	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
4772
4773	// The unique identifier of the network.
4774	//
4775	// NetworkId is a required field
4776	NetworkId *string `location:"uri" locationName:"networkId" min:"1" type:"string" required:"true"`
4777
4778	// The pagination token that indicates the next set of results to retrieve.
4779	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
4780}
4781
4782// String returns the string representation
4783func (s ListProposalsInput) String() string {
4784	return awsutil.Prettify(s)
4785}
4786
4787// GoString returns the string representation
4788func (s ListProposalsInput) GoString() string {
4789	return s.String()
4790}
4791
4792// Validate inspects the fields of the type to determine if they are valid.
4793func (s *ListProposalsInput) Validate() error {
4794	invalidParams := request.ErrInvalidParams{Context: "ListProposalsInput"}
4795	if s.MaxResults != nil && *s.MaxResults < 1 {
4796		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4797	}
4798	if s.NetworkId == nil {
4799		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
4800	}
4801	if s.NetworkId != nil && len(*s.NetworkId) < 1 {
4802		invalidParams.Add(request.NewErrParamMinLen("NetworkId", 1))
4803	}
4804
4805	if invalidParams.Len() > 0 {
4806		return invalidParams
4807	}
4808	return nil
4809}
4810
4811// SetMaxResults sets the MaxResults field's value.
4812func (s *ListProposalsInput) SetMaxResults(v int64) *ListProposalsInput {
4813	s.MaxResults = &v
4814	return s
4815}
4816
4817// SetNetworkId sets the NetworkId field's value.
4818func (s *ListProposalsInput) SetNetworkId(v string) *ListProposalsInput {
4819	s.NetworkId = &v
4820	return s
4821}
4822
4823// SetNextToken sets the NextToken field's value.
4824func (s *ListProposalsInput) SetNextToken(v string) *ListProposalsInput {
4825	s.NextToken = &v
4826	return s
4827}
4828
4829type ListProposalsOutput struct {
4830	_ struct{} `type:"structure"`
4831
4832	// The pagination token that indicates the next set of results to retrieve.
4833	NextToken *string `type:"string"`
4834
4835	// The summary of each proposal made on the network.
4836	Proposals []*ProposalSummary `type:"list"`
4837}
4838
4839// String returns the string representation
4840func (s ListProposalsOutput) String() string {
4841	return awsutil.Prettify(s)
4842}
4843
4844// GoString returns the string representation
4845func (s ListProposalsOutput) GoString() string {
4846	return s.String()
4847}
4848
4849// SetNextToken sets the NextToken field's value.
4850func (s *ListProposalsOutput) SetNextToken(v string) *ListProposalsOutput {
4851	s.NextToken = &v
4852	return s
4853}
4854
4855// SetProposals sets the Proposals field's value.
4856func (s *ListProposalsOutput) SetProposals(v []*ProposalSummary) *ListProposalsOutput {
4857	s.Proposals = v
4858	return s
4859}
4860
4861type ListTagsForResourceInput struct {
4862	_ struct{} `type:"structure"`
4863
4864	// The Amazon Resource Name (ARN) of the resource. For more information about
4865	// ARNs and their format, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
4866	// in the AWS General Reference.
4867	//
4868	// ResourceArn is a required field
4869	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
4870}
4871
4872// String returns the string representation
4873func (s ListTagsForResourceInput) String() string {
4874	return awsutil.Prettify(s)
4875}
4876
4877// GoString returns the string representation
4878func (s ListTagsForResourceInput) GoString() string {
4879	return s.String()
4880}
4881
4882// Validate inspects the fields of the type to determine if they are valid.
4883func (s *ListTagsForResourceInput) Validate() error {
4884	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
4885	if s.ResourceArn == nil {
4886		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
4887	}
4888	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
4889		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
4890	}
4891
4892	if invalidParams.Len() > 0 {
4893		return invalidParams
4894	}
4895	return nil
4896}
4897
4898// SetResourceArn sets the ResourceArn field's value.
4899func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
4900	s.ResourceArn = &v
4901	return s
4902}
4903
4904type ListTagsForResourceOutput struct {
4905	_ struct{} `type:"structure"`
4906
4907	// The tags assigned to the resource.
4908	Tags map[string]*string `type:"map"`
4909}
4910
4911// String returns the string representation
4912func (s ListTagsForResourceOutput) String() string {
4913	return awsutil.Prettify(s)
4914}
4915
4916// GoString returns the string representation
4917func (s ListTagsForResourceOutput) GoString() string {
4918	return s.String()
4919}
4920
4921// SetTags sets the Tags field's value.
4922func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
4923	s.Tags = v
4924	return s
4925}
4926
4927// A configuration for logging events.
4928type LogConfiguration struct {
4929	_ struct{} `type:"structure"`
4930
4931	// Indicates whether logging is enabled.
4932	Enabled *bool `type:"boolean"`
4933}
4934
4935// String returns the string representation
4936func (s LogConfiguration) String() string {
4937	return awsutil.Prettify(s)
4938}
4939
4940// GoString returns the string representation
4941func (s LogConfiguration) GoString() string {
4942	return s.String()
4943}
4944
4945// SetEnabled sets the Enabled field's value.
4946func (s *LogConfiguration) SetEnabled(v bool) *LogConfiguration {
4947	s.Enabled = &v
4948	return s
4949}
4950
4951// A collection of log configurations.
4952type LogConfigurations struct {
4953	_ struct{} `type:"structure"`
4954
4955	// Parameters for publishing logs to Amazon CloudWatch Logs.
4956	Cloudwatch *LogConfiguration `type:"structure"`
4957}
4958
4959// String returns the string representation
4960func (s LogConfigurations) String() string {
4961	return awsutil.Prettify(s)
4962}
4963
4964// GoString returns the string representation
4965func (s LogConfigurations) GoString() string {
4966	return s.String()
4967}
4968
4969// SetCloudwatch sets the Cloudwatch field's value.
4970func (s *LogConfigurations) SetCloudwatch(v *LogConfiguration) *LogConfigurations {
4971	s.Cloudwatch = v
4972	return s
4973}
4974
4975// Member configuration properties.
4976//
4977// Applies only to Hyperledger Fabric.
4978type Member struct {
4979	_ struct{} `type:"structure"`
4980
4981	// The Amazon Resource Name (ARN) of the member. For more information about
4982	// ARNs and their format, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
4983	// in the AWS General Reference.
4984	Arn *string `min:"1" type:"string"`
4985
4986	// The date and time that the member was created.
4987	CreationDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
4988
4989	// An optional description for the member.
4990	Description *string `type:"string"`
4991
4992	// Attributes relevant to a member for the blockchain framework that the Managed
4993	// Blockchain network uses.
4994	FrameworkAttributes *MemberFrameworkAttributes `type:"structure"`
4995
4996	// The unique identifier of the member.
4997	Id *string `min:"1" type:"string"`
4998
4999	// The Amazon Resource Name (ARN) of the customer managed key in AWS Key Management
5000	// Service (AWS KMS) that the member uses for encryption at rest. If the value
5001	// of this parameter is "AWS Owned KMS Key", the member uses an AWS owned KMS
5002	// key for encryption. This parameter is inherited by the nodes that this member
5003	// owns.
5004	KmsKeyArn *string `type:"string"`
5005
5006	// Configuration properties for logging events associated with a member.
5007	LogPublishingConfiguration *MemberLogPublishingConfiguration `type:"structure"`
5008
5009	// The name of the member.
5010	Name *string `min:"1" type:"string"`
5011
5012	// The unique identifier of the network to which the member belongs.
5013	NetworkId *string `min:"1" type:"string"`
5014
5015	// The status of a member.
5016	//
5017	//    * CREATING - The AWS account is in the process of creating a member.
5018	//
5019	//    * AVAILABLE - The member has been created and can participate in the network.
5020	//
5021	//    * CREATE_FAILED - The AWS account attempted to create a member and creation
5022	//    failed.
5023	//
5024	//    * UPDATING - The member is in the process of being updated.
5025	//
5026	//    * DELETING - The member and all associated resources are in the process
5027	//    of being deleted. Either the AWS account that owns the member deleted
5028	//    it, or the member is being deleted as the result of an APPROVED PROPOSAL
5029	//    to remove the member.
5030	//
5031	//    * DELETED - The member can no longer participate on the network and all
5032	//    associated resources are deleted. Either the AWS account that owns the
5033	//    member deleted it, or the member is being deleted as the result of an
5034	//    APPROVED PROPOSAL to remove the member.
5035	//
5036	//    * INACCESSIBLE_ENCRYPTION_KEY - The member is impaired and might not function
5037	//    as expected because it cannot access the specified customer managed key
5038	//    in AWS KMS for encryption at rest. Either the KMS key was disabled or
5039	//    deleted, or the grants on the key were revoked. The effect of disabling
5040	//    or deleting a key, or revoking a grant is not immediate. The member resource
5041	//    might take some time to find that the key is inaccessible. When a resource
5042	//    is in this state, we recommend deleting and recreating the resource.
5043	Status *string `type:"string" enum:"MemberStatus"`
5044
5045	// Tags assigned to the member. Tags consist of a key and optional value. For
5046	// more information about tags, see Tagging Resources (https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html)
5047	// in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.
5048	Tags map[string]*string `type:"map"`
5049}
5050
5051// String returns the string representation
5052func (s Member) String() string {
5053	return awsutil.Prettify(s)
5054}
5055
5056// GoString returns the string representation
5057func (s Member) GoString() string {
5058	return s.String()
5059}
5060
5061// SetArn sets the Arn field's value.
5062func (s *Member) SetArn(v string) *Member {
5063	s.Arn = &v
5064	return s
5065}
5066
5067// SetCreationDate sets the CreationDate field's value.
5068func (s *Member) SetCreationDate(v time.Time) *Member {
5069	s.CreationDate = &v
5070	return s
5071}
5072
5073// SetDescription sets the Description field's value.
5074func (s *Member) SetDescription(v string) *Member {
5075	s.Description = &v
5076	return s
5077}
5078
5079// SetFrameworkAttributes sets the FrameworkAttributes field's value.
5080func (s *Member) SetFrameworkAttributes(v *MemberFrameworkAttributes) *Member {
5081	s.FrameworkAttributes = v
5082	return s
5083}
5084
5085// SetId sets the Id field's value.
5086func (s *Member) SetId(v string) *Member {
5087	s.Id = &v
5088	return s
5089}
5090
5091// SetKmsKeyArn sets the KmsKeyArn field's value.
5092func (s *Member) SetKmsKeyArn(v string) *Member {
5093	s.KmsKeyArn = &v
5094	return s
5095}
5096
5097// SetLogPublishingConfiguration sets the LogPublishingConfiguration field's value.
5098func (s *Member) SetLogPublishingConfiguration(v *MemberLogPublishingConfiguration) *Member {
5099	s.LogPublishingConfiguration = v
5100	return s
5101}
5102
5103// SetName sets the Name field's value.
5104func (s *Member) SetName(v string) *Member {
5105	s.Name = &v
5106	return s
5107}
5108
5109// SetNetworkId sets the NetworkId field's value.
5110func (s *Member) SetNetworkId(v string) *Member {
5111	s.NetworkId = &v
5112	return s
5113}
5114
5115// SetStatus sets the Status field's value.
5116func (s *Member) SetStatus(v string) *Member {
5117	s.Status = &v
5118	return s
5119}
5120
5121// SetTags sets the Tags field's value.
5122func (s *Member) SetTags(v map[string]*string) *Member {
5123	s.Tags = v
5124	return s
5125}
5126
5127// Configuration properties of the member.
5128//
5129// Applies only to Hyperledger Fabric.
5130type MemberConfiguration struct {
5131	_ struct{} `type:"structure"`
5132
5133	// An optional description of the member.
5134	Description *string `type:"string"`
5135
5136	// Configuration properties of the blockchain framework relevant to the member.
5137	//
5138	// FrameworkConfiguration is a required field
5139	FrameworkConfiguration *MemberFrameworkConfiguration `type:"structure" required:"true"`
5140
5141	// The Amazon Resource Name (ARN) of the customer managed key in AWS Key Management
5142	// Service (AWS KMS) to use for encryption at rest in the member. This parameter
5143	// is inherited by any nodes that this member creates.
5144	//
5145	// Use one of the following options to specify this parameter:
5146	//
5147	//    * Undefined or empty string - The member uses an AWS owned KMS key for
5148	//    encryption by default.
5149	//
5150	//    * A valid symmetric customer managed KMS key - The member uses the specified
5151	//    key for encryption. Amazon Managed Blockchain doesn't support asymmetric
5152	//    keys. For more information, see Using symmetric and asymmetric keys (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html)
5153	//    in the AWS Key Management Service Developer Guide. The following is an
5154	//    example of a KMS key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
5155	KmsKeyArn *string `min:"1" type:"string"`
5156
5157	// Configuration properties for logging events associated with a member of a
5158	// Managed Blockchain network.
5159	LogPublishingConfiguration *MemberLogPublishingConfiguration `type:"structure"`
5160
5161	// The name of the member.
5162	//
5163	// Name is a required field
5164	Name *string `min:"1" type:"string" required:"true"`
5165
5166	// Tags assigned to the member. Tags consist of a key and optional value. For
5167	// more information about tags, see Tagging Resources (https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html)
5168	// in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.
5169	//
5170	// When specifying tags during creation, you can specify multiple key-value
5171	// pairs in a single request, with an overall maximum of 50 tags added to each
5172	// resource.
5173	Tags map[string]*string `type:"map"`
5174}
5175
5176// String returns the string representation
5177func (s MemberConfiguration) String() string {
5178	return awsutil.Prettify(s)
5179}
5180
5181// GoString returns the string representation
5182func (s MemberConfiguration) GoString() string {
5183	return s.String()
5184}
5185
5186// Validate inspects the fields of the type to determine if they are valid.
5187func (s *MemberConfiguration) Validate() error {
5188	invalidParams := request.ErrInvalidParams{Context: "MemberConfiguration"}
5189	if s.FrameworkConfiguration == nil {
5190		invalidParams.Add(request.NewErrParamRequired("FrameworkConfiguration"))
5191	}
5192	if s.KmsKeyArn != nil && len(*s.KmsKeyArn) < 1 {
5193		invalidParams.Add(request.NewErrParamMinLen("KmsKeyArn", 1))
5194	}
5195	if s.Name == nil {
5196		invalidParams.Add(request.NewErrParamRequired("Name"))
5197	}
5198	if s.Name != nil && len(*s.Name) < 1 {
5199		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5200	}
5201	if s.FrameworkConfiguration != nil {
5202		if err := s.FrameworkConfiguration.Validate(); err != nil {
5203			invalidParams.AddNested("FrameworkConfiguration", err.(request.ErrInvalidParams))
5204		}
5205	}
5206
5207	if invalidParams.Len() > 0 {
5208		return invalidParams
5209	}
5210	return nil
5211}
5212
5213// SetDescription sets the Description field's value.
5214func (s *MemberConfiguration) SetDescription(v string) *MemberConfiguration {
5215	s.Description = &v
5216	return s
5217}
5218
5219// SetFrameworkConfiguration sets the FrameworkConfiguration field's value.
5220func (s *MemberConfiguration) SetFrameworkConfiguration(v *MemberFrameworkConfiguration) *MemberConfiguration {
5221	s.FrameworkConfiguration = v
5222	return s
5223}
5224
5225// SetKmsKeyArn sets the KmsKeyArn field's value.
5226func (s *MemberConfiguration) SetKmsKeyArn(v string) *MemberConfiguration {
5227	s.KmsKeyArn = &v
5228	return s
5229}
5230
5231// SetLogPublishingConfiguration sets the LogPublishingConfiguration field's value.
5232func (s *MemberConfiguration) SetLogPublishingConfiguration(v *MemberLogPublishingConfiguration) *MemberConfiguration {
5233	s.LogPublishingConfiguration = v
5234	return s
5235}
5236
5237// SetName sets the Name field's value.
5238func (s *MemberConfiguration) SetName(v string) *MemberConfiguration {
5239	s.Name = &v
5240	return s
5241}
5242
5243// SetTags sets the Tags field's value.
5244func (s *MemberConfiguration) SetTags(v map[string]*string) *MemberConfiguration {
5245	s.Tags = v
5246	return s
5247}
5248
5249// Attributes of Hyperledger Fabric for a member in a Managed Blockchain network
5250// using the Hyperledger Fabric framework.
5251type MemberFabricAttributes struct {
5252	_ struct{} `type:"structure"`
5253
5254	// The user name for the initial administrator user for the member.
5255	AdminUsername *string `min:"1" type:"string"`
5256
5257	// The endpoint used to access the member's certificate authority.
5258	CaEndpoint *string `type:"string"`
5259}
5260
5261// String returns the string representation
5262func (s MemberFabricAttributes) String() string {
5263	return awsutil.Prettify(s)
5264}
5265
5266// GoString returns the string representation
5267func (s MemberFabricAttributes) GoString() string {
5268	return s.String()
5269}
5270
5271// SetAdminUsername sets the AdminUsername field's value.
5272func (s *MemberFabricAttributes) SetAdminUsername(v string) *MemberFabricAttributes {
5273	s.AdminUsername = &v
5274	return s
5275}
5276
5277// SetCaEndpoint sets the CaEndpoint field's value.
5278func (s *MemberFabricAttributes) SetCaEndpoint(v string) *MemberFabricAttributes {
5279	s.CaEndpoint = &v
5280	return s
5281}
5282
5283// Configuration properties for Hyperledger Fabric for a member in a Managed
5284// Blockchain network using the Hyperledger Fabric framework.
5285type MemberFabricConfiguration struct {
5286	_ struct{} `type:"structure"`
5287
5288	// The password for the member's initial administrative user. The AdminPassword
5289	// must be at least eight characters long and no more than 32 characters. It
5290	// must contain at least one uppercase letter, one lowercase letter, and one
5291	// digit. It cannot have a single quotation mark (‘), a double quotation marks
5292	// (“), a forward slash(/), a backward slash(\), @, or a space.
5293	//
5294	// AdminPassword is a required field
5295	AdminPassword *string `min:"8" type:"string" required:"true" sensitive:"true"`
5296
5297	// The user name for the member's initial administrative user.
5298	//
5299	// AdminUsername is a required field
5300	AdminUsername *string `min:"1" type:"string" required:"true"`
5301}
5302
5303// String returns the string representation
5304func (s MemberFabricConfiguration) String() string {
5305	return awsutil.Prettify(s)
5306}
5307
5308// GoString returns the string representation
5309func (s MemberFabricConfiguration) GoString() string {
5310	return s.String()
5311}
5312
5313// Validate inspects the fields of the type to determine if they are valid.
5314func (s *MemberFabricConfiguration) Validate() error {
5315	invalidParams := request.ErrInvalidParams{Context: "MemberFabricConfiguration"}
5316	if s.AdminPassword == nil {
5317		invalidParams.Add(request.NewErrParamRequired("AdminPassword"))
5318	}
5319	if s.AdminPassword != nil && len(*s.AdminPassword) < 8 {
5320		invalidParams.Add(request.NewErrParamMinLen("AdminPassword", 8))
5321	}
5322	if s.AdminUsername == nil {
5323		invalidParams.Add(request.NewErrParamRequired("AdminUsername"))
5324	}
5325	if s.AdminUsername != nil && len(*s.AdminUsername) < 1 {
5326		invalidParams.Add(request.NewErrParamMinLen("AdminUsername", 1))
5327	}
5328
5329	if invalidParams.Len() > 0 {
5330		return invalidParams
5331	}
5332	return nil
5333}
5334
5335// SetAdminPassword sets the AdminPassword field's value.
5336func (s *MemberFabricConfiguration) SetAdminPassword(v string) *MemberFabricConfiguration {
5337	s.AdminPassword = &v
5338	return s
5339}
5340
5341// SetAdminUsername sets the AdminUsername field's value.
5342func (s *MemberFabricConfiguration) SetAdminUsername(v string) *MemberFabricConfiguration {
5343	s.AdminUsername = &v
5344	return s
5345}
5346
5347// Configuration properties for logging events associated with a member of a
5348// Managed Blockchain network using the Hyperledger Fabric framework.
5349type MemberFabricLogPublishingConfiguration struct {
5350	_ struct{} `type:"structure"`
5351
5352	// Configuration properties for logging events associated with a member's Certificate
5353	// Authority (CA). CA logs help you determine when a member in your account
5354	// joins the network, or when new peers register with a member CA.
5355	CaLogs *LogConfigurations `type:"structure"`
5356}
5357
5358// String returns the string representation
5359func (s MemberFabricLogPublishingConfiguration) String() string {
5360	return awsutil.Prettify(s)
5361}
5362
5363// GoString returns the string representation
5364func (s MemberFabricLogPublishingConfiguration) GoString() string {
5365	return s.String()
5366}
5367
5368// SetCaLogs sets the CaLogs field's value.
5369func (s *MemberFabricLogPublishingConfiguration) SetCaLogs(v *LogConfigurations) *MemberFabricLogPublishingConfiguration {
5370	s.CaLogs = v
5371	return s
5372}
5373
5374// Attributes relevant to a member for the blockchain framework that the Managed
5375// Blockchain network uses.
5376type MemberFrameworkAttributes struct {
5377	_ struct{} `type:"structure"`
5378
5379	// Attributes of Hyperledger Fabric relevant to a member on a Managed Blockchain
5380	// network that uses Hyperledger Fabric.
5381	Fabric *MemberFabricAttributes `type:"structure"`
5382}
5383
5384// String returns the string representation
5385func (s MemberFrameworkAttributes) String() string {
5386	return awsutil.Prettify(s)
5387}
5388
5389// GoString returns the string representation
5390func (s MemberFrameworkAttributes) GoString() string {
5391	return s.String()
5392}
5393
5394// SetFabric sets the Fabric field's value.
5395func (s *MemberFrameworkAttributes) SetFabric(v *MemberFabricAttributes) *MemberFrameworkAttributes {
5396	s.Fabric = v
5397	return s
5398}
5399
5400// Configuration properties relevant to a member for the blockchain framework
5401// that the Managed Blockchain network uses.
5402type MemberFrameworkConfiguration struct {
5403	_ struct{} `type:"structure"`
5404
5405	// Attributes of Hyperledger Fabric for a member on a Managed Blockchain network
5406	// that uses Hyperledger Fabric.
5407	Fabric *MemberFabricConfiguration `type:"structure"`
5408}
5409
5410// String returns the string representation
5411func (s MemberFrameworkConfiguration) String() string {
5412	return awsutil.Prettify(s)
5413}
5414
5415// GoString returns the string representation
5416func (s MemberFrameworkConfiguration) GoString() string {
5417	return s.String()
5418}
5419
5420// Validate inspects the fields of the type to determine if they are valid.
5421func (s *MemberFrameworkConfiguration) Validate() error {
5422	invalidParams := request.ErrInvalidParams{Context: "MemberFrameworkConfiguration"}
5423	if s.Fabric != nil {
5424		if err := s.Fabric.Validate(); err != nil {
5425			invalidParams.AddNested("Fabric", err.(request.ErrInvalidParams))
5426		}
5427	}
5428
5429	if invalidParams.Len() > 0 {
5430		return invalidParams
5431	}
5432	return nil
5433}
5434
5435// SetFabric sets the Fabric field's value.
5436func (s *MemberFrameworkConfiguration) SetFabric(v *MemberFabricConfiguration) *MemberFrameworkConfiguration {
5437	s.Fabric = v
5438	return s
5439}
5440
5441// Configuration properties for logging events associated with a member of a
5442// Managed Blockchain network.
5443type MemberLogPublishingConfiguration struct {
5444	_ struct{} `type:"structure"`
5445
5446	// Configuration properties for logging events associated with a member of a
5447	// Managed Blockchain network using the Hyperledger Fabric framework.
5448	Fabric *MemberFabricLogPublishingConfiguration `type:"structure"`
5449}
5450
5451// String returns the string representation
5452func (s MemberLogPublishingConfiguration) String() string {
5453	return awsutil.Prettify(s)
5454}
5455
5456// GoString returns the string representation
5457func (s MemberLogPublishingConfiguration) GoString() string {
5458	return s.String()
5459}
5460
5461// SetFabric sets the Fabric field's value.
5462func (s *MemberLogPublishingConfiguration) SetFabric(v *MemberFabricLogPublishingConfiguration) *MemberLogPublishingConfiguration {
5463	s.Fabric = v
5464	return s
5465}
5466
5467// A summary of configuration properties for a member.
5468//
5469// Applies only to Hyperledger Fabric.
5470type MemberSummary struct {
5471	_ struct{} `type:"structure"`
5472
5473	// The Amazon Resource Name (ARN) of the member. For more information about
5474	// ARNs and their format, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
5475	// in the AWS General Reference.
5476	Arn *string `min:"1" type:"string"`
5477
5478	// The date and time that the member was created.
5479	CreationDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
5480
5481	// An optional description of the member.
5482	Description *string `type:"string"`
5483
5484	// The unique identifier of the member.
5485	Id *string `min:"1" type:"string"`
5486
5487	// An indicator of whether the member is owned by your AWS account or a different
5488	// AWS account.
5489	IsOwned *bool `type:"boolean"`
5490
5491	// The name of the member.
5492	Name *string `min:"1" type:"string"`
5493
5494	// The status of the member.
5495	//
5496	//    * CREATING - The AWS account is in the process of creating a member.
5497	//
5498	//    * AVAILABLE - The member has been created and can participate in the network.
5499	//
5500	//    * CREATE_FAILED - The AWS account attempted to create a member and creation
5501	//    failed.
5502	//
5503	//    * UPDATING - The member is in the process of being updated.
5504	//
5505	//    * DELETING - The member and all associated resources are in the process
5506	//    of being deleted. Either the AWS account that owns the member deleted
5507	//    it, or the member is being deleted as the result of an APPROVED PROPOSAL
5508	//    to remove the member.
5509	//
5510	//    * DELETED - The member can no longer participate on the network and all
5511	//    associated resources are deleted. Either the AWS account that owns the
5512	//    member deleted it, or the member is being deleted as the result of an
5513	//    APPROVED PROPOSAL to remove the member.
5514	//
5515	//    * INACCESSIBLE_ENCRYPTION_KEY - The member is impaired and might not function
5516	//    as expected because it cannot access the specified customer managed key
5517	//    in AWS Key Management Service (AWS KMS) for encryption at rest. Either
5518	//    the KMS key was disabled or deleted, or the grants on the key were revoked.
5519	//    The effect of disabling or deleting a key, or revoking a grant is not
5520	//    immediate. The member resource might take some time to find that the key
5521	//    is inaccessible. When a resource is in this state, we recommend deleting
5522	//    and recreating the resource.
5523	Status *string `type:"string" enum:"MemberStatus"`
5524}
5525
5526// String returns the string representation
5527func (s MemberSummary) String() string {
5528	return awsutil.Prettify(s)
5529}
5530
5531// GoString returns the string representation
5532func (s MemberSummary) GoString() string {
5533	return s.String()
5534}
5535
5536// SetArn sets the Arn field's value.
5537func (s *MemberSummary) SetArn(v string) *MemberSummary {
5538	s.Arn = &v
5539	return s
5540}
5541
5542// SetCreationDate sets the CreationDate field's value.
5543func (s *MemberSummary) SetCreationDate(v time.Time) *MemberSummary {
5544	s.CreationDate = &v
5545	return s
5546}
5547
5548// SetDescription sets the Description field's value.
5549func (s *MemberSummary) SetDescription(v string) *MemberSummary {
5550	s.Description = &v
5551	return s
5552}
5553
5554// SetId sets the Id field's value.
5555func (s *MemberSummary) SetId(v string) *MemberSummary {
5556	s.Id = &v
5557	return s
5558}
5559
5560// SetIsOwned sets the IsOwned field's value.
5561func (s *MemberSummary) SetIsOwned(v bool) *MemberSummary {
5562	s.IsOwned = &v
5563	return s
5564}
5565
5566// SetName sets the Name field's value.
5567func (s *MemberSummary) SetName(v string) *MemberSummary {
5568	s.Name = &v
5569	return s
5570}
5571
5572// SetStatus sets the Status field's value.
5573func (s *MemberSummary) SetStatus(v string) *MemberSummary {
5574	s.Status = &v
5575	return s
5576}
5577
5578// Network configuration properties.
5579type Network struct {
5580	_ struct{} `type:"structure"`
5581
5582	// The Amazon Resource Name (ARN) of the network. For more information about
5583	// ARNs and their format, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
5584	// in the AWS General Reference.
5585	Arn *string `min:"1" type:"string"`
5586
5587	// The date and time that the network was created.
5588	CreationDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
5589
5590	// Attributes of the blockchain framework for the network.
5591	Description *string `type:"string"`
5592
5593	// The blockchain framework that the network uses.
5594	Framework *string `type:"string" enum:"Framework"`
5595
5596	// Attributes of the blockchain framework that the network uses.
5597	FrameworkAttributes *NetworkFrameworkAttributes `type:"structure"`
5598
5599	// The version of the blockchain framework that the network uses.
5600	FrameworkVersion *string `min:"1" type:"string"`
5601
5602	// The unique identifier of the network.
5603	Id *string `min:"1" type:"string"`
5604
5605	// The name of the network.
5606	Name *string `min:"1" type:"string"`
5607
5608	// The current status of the network.
5609	Status *string `type:"string" enum:"NetworkStatus"`
5610
5611	// Tags assigned to the network. Each tag consists of a key and optional value.
5612	//
5613	// For more information about tags, see Tagging Resources (https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html)
5614	// in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources
5615	// (https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html)
5616	// in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.
5617	Tags map[string]*string `type:"map"`
5618
5619	// The voting rules for the network to decide if a proposal is accepted.
5620	VotingPolicy *VotingPolicy `type:"structure"`
5621
5622	// The VPC endpoint service name of the VPC endpoint service of the network.
5623	// Members use the VPC endpoint service name to create a VPC endpoint to access
5624	// network resources.
5625	VpcEndpointServiceName *string `type:"string"`
5626}
5627
5628// String returns the string representation
5629func (s Network) String() string {
5630	return awsutil.Prettify(s)
5631}
5632
5633// GoString returns the string representation
5634func (s Network) GoString() string {
5635	return s.String()
5636}
5637
5638// SetArn sets the Arn field's value.
5639func (s *Network) SetArn(v string) *Network {
5640	s.Arn = &v
5641	return s
5642}
5643
5644// SetCreationDate sets the CreationDate field's value.
5645func (s *Network) SetCreationDate(v time.Time) *Network {
5646	s.CreationDate = &v
5647	return s
5648}
5649
5650// SetDescription sets the Description field's value.
5651func (s *Network) SetDescription(v string) *Network {
5652	s.Description = &v
5653	return s
5654}
5655
5656// SetFramework sets the Framework field's value.
5657func (s *Network) SetFramework(v string) *Network {
5658	s.Framework = &v
5659	return s
5660}
5661
5662// SetFrameworkAttributes sets the FrameworkAttributes field's value.
5663func (s *Network) SetFrameworkAttributes(v *NetworkFrameworkAttributes) *Network {
5664	s.FrameworkAttributes = v
5665	return s
5666}
5667
5668// SetFrameworkVersion sets the FrameworkVersion field's value.
5669func (s *Network) SetFrameworkVersion(v string) *Network {
5670	s.FrameworkVersion = &v
5671	return s
5672}
5673
5674// SetId sets the Id field's value.
5675func (s *Network) SetId(v string) *Network {
5676	s.Id = &v
5677	return s
5678}
5679
5680// SetName sets the Name field's value.
5681func (s *Network) SetName(v string) *Network {
5682	s.Name = &v
5683	return s
5684}
5685
5686// SetStatus sets the Status field's value.
5687func (s *Network) SetStatus(v string) *Network {
5688	s.Status = &v
5689	return s
5690}
5691
5692// SetTags sets the Tags field's value.
5693func (s *Network) SetTags(v map[string]*string) *Network {
5694	s.Tags = v
5695	return s
5696}
5697
5698// SetVotingPolicy sets the VotingPolicy field's value.
5699func (s *Network) SetVotingPolicy(v *VotingPolicy) *Network {
5700	s.VotingPolicy = v
5701	return s
5702}
5703
5704// SetVpcEndpointServiceName sets the VpcEndpointServiceName field's value.
5705func (s *Network) SetVpcEndpointServiceName(v string) *Network {
5706	s.VpcEndpointServiceName = &v
5707	return s
5708}
5709
5710// Attributes of Ethereum for a network.
5711type NetworkEthereumAttributes struct {
5712	_ struct{} `type:"structure"`
5713
5714	// The Ethereum CHAIN_ID associated with the Ethereum network. Chain IDs are
5715	// as follows:
5716	//
5717	//    * mainnet = 1
5718	//
5719	//    * rinkeby = 4
5720	//
5721	//    * ropsten = 3
5722	ChainId *string `type:"string"`
5723}
5724
5725// String returns the string representation
5726func (s NetworkEthereumAttributes) String() string {
5727	return awsutil.Prettify(s)
5728}
5729
5730// GoString returns the string representation
5731func (s NetworkEthereumAttributes) GoString() string {
5732	return s.String()
5733}
5734
5735// SetChainId sets the ChainId field's value.
5736func (s *NetworkEthereumAttributes) SetChainId(v string) *NetworkEthereumAttributes {
5737	s.ChainId = &v
5738	return s
5739}
5740
5741// Attributes of Hyperledger Fabric for a network.
5742type NetworkFabricAttributes struct {
5743	_ struct{} `type:"structure"`
5744
5745	// The edition of Amazon Managed Blockchain that Hyperledger Fabric uses. For
5746	// more information, see Amazon Managed Blockchain Pricing (http://aws.amazon.com/managed-blockchain/pricing/).
5747	Edition *string `type:"string" enum:"Edition"`
5748
5749	// The endpoint of the ordering service for the network.
5750	OrderingServiceEndpoint *string `type:"string"`
5751}
5752
5753// String returns the string representation
5754func (s NetworkFabricAttributes) String() string {
5755	return awsutil.Prettify(s)
5756}
5757
5758// GoString returns the string representation
5759func (s NetworkFabricAttributes) GoString() string {
5760	return s.String()
5761}
5762
5763// SetEdition sets the Edition field's value.
5764func (s *NetworkFabricAttributes) SetEdition(v string) *NetworkFabricAttributes {
5765	s.Edition = &v
5766	return s
5767}
5768
5769// SetOrderingServiceEndpoint sets the OrderingServiceEndpoint field's value.
5770func (s *NetworkFabricAttributes) SetOrderingServiceEndpoint(v string) *NetworkFabricAttributes {
5771	s.OrderingServiceEndpoint = &v
5772	return s
5773}
5774
5775// Hyperledger Fabric configuration properties for the network.
5776type NetworkFabricConfiguration struct {
5777	_ struct{} `type:"structure"`
5778
5779	// The edition of Amazon Managed Blockchain that the network uses. For more
5780	// information, see Amazon Managed Blockchain Pricing (http://aws.amazon.com/managed-blockchain/pricing/).
5781	//
5782	// Edition is a required field
5783	Edition *string `type:"string" required:"true" enum:"Edition"`
5784}
5785
5786// String returns the string representation
5787func (s NetworkFabricConfiguration) String() string {
5788	return awsutil.Prettify(s)
5789}
5790
5791// GoString returns the string representation
5792func (s NetworkFabricConfiguration) GoString() string {
5793	return s.String()
5794}
5795
5796// Validate inspects the fields of the type to determine if they are valid.
5797func (s *NetworkFabricConfiguration) Validate() error {
5798	invalidParams := request.ErrInvalidParams{Context: "NetworkFabricConfiguration"}
5799	if s.Edition == nil {
5800		invalidParams.Add(request.NewErrParamRequired("Edition"))
5801	}
5802
5803	if invalidParams.Len() > 0 {
5804		return invalidParams
5805	}
5806	return nil
5807}
5808
5809// SetEdition sets the Edition field's value.
5810func (s *NetworkFabricConfiguration) SetEdition(v string) *NetworkFabricConfiguration {
5811	s.Edition = &v
5812	return s
5813}
5814
5815// Attributes relevant to the network for the blockchain framework that the
5816// network uses.
5817type NetworkFrameworkAttributes struct {
5818	_ struct{} `type:"structure"`
5819
5820	// Attributes of an Ethereum network for Managed Blockchain resources participating
5821	// in an Ethereum network.
5822	Ethereum *NetworkEthereumAttributes `type:"structure"`
5823
5824	// Attributes of Hyperledger Fabric for a Managed Blockchain network that uses
5825	// Hyperledger Fabric.
5826	Fabric *NetworkFabricAttributes `type:"structure"`
5827}
5828
5829// String returns the string representation
5830func (s NetworkFrameworkAttributes) String() string {
5831	return awsutil.Prettify(s)
5832}
5833
5834// GoString returns the string representation
5835func (s NetworkFrameworkAttributes) GoString() string {
5836	return s.String()
5837}
5838
5839// SetEthereum sets the Ethereum field's value.
5840func (s *NetworkFrameworkAttributes) SetEthereum(v *NetworkEthereumAttributes) *NetworkFrameworkAttributes {
5841	s.Ethereum = v
5842	return s
5843}
5844
5845// SetFabric sets the Fabric field's value.
5846func (s *NetworkFrameworkAttributes) SetFabric(v *NetworkFabricAttributes) *NetworkFrameworkAttributes {
5847	s.Fabric = v
5848	return s
5849}
5850
5851// Configuration properties relevant to the network for the blockchain framework
5852// that the network uses.
5853type NetworkFrameworkConfiguration struct {
5854	_ struct{} `type:"structure"`
5855
5856	// Hyperledger Fabric configuration properties for a Managed Blockchain network
5857	// that uses Hyperledger Fabric.
5858	Fabric *NetworkFabricConfiguration `type:"structure"`
5859}
5860
5861// String returns the string representation
5862func (s NetworkFrameworkConfiguration) String() string {
5863	return awsutil.Prettify(s)
5864}
5865
5866// GoString returns the string representation
5867func (s NetworkFrameworkConfiguration) GoString() string {
5868	return s.String()
5869}
5870
5871// Validate inspects the fields of the type to determine if they are valid.
5872func (s *NetworkFrameworkConfiguration) Validate() error {
5873	invalidParams := request.ErrInvalidParams{Context: "NetworkFrameworkConfiguration"}
5874	if s.Fabric != nil {
5875		if err := s.Fabric.Validate(); err != nil {
5876			invalidParams.AddNested("Fabric", err.(request.ErrInvalidParams))
5877		}
5878	}
5879
5880	if invalidParams.Len() > 0 {
5881		return invalidParams
5882	}
5883	return nil
5884}
5885
5886// SetFabric sets the Fabric field's value.
5887func (s *NetworkFrameworkConfiguration) SetFabric(v *NetworkFabricConfiguration) *NetworkFrameworkConfiguration {
5888	s.Fabric = v
5889	return s
5890}
5891
5892// A summary of network configuration properties.
5893type NetworkSummary struct {
5894	_ struct{} `type:"structure"`
5895
5896	// The Amazon Resource Name (ARN) of the network. For more information about
5897	// ARNs and their format, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
5898	// in the AWS General Reference.
5899	Arn *string `min:"1" type:"string"`
5900
5901	// The date and time that the network was created.
5902	CreationDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
5903
5904	// An optional description of the network.
5905	Description *string `type:"string"`
5906
5907	// The blockchain framework that the network uses.
5908	Framework *string `type:"string" enum:"Framework"`
5909
5910	// The version of the blockchain framework that the network uses.
5911	FrameworkVersion *string `min:"1" type:"string"`
5912
5913	// The unique identifier of the network.
5914	Id *string `min:"1" type:"string"`
5915
5916	// The name of the network.
5917	Name *string `min:"1" type:"string"`
5918
5919	// The current status of the network.
5920	Status *string `type:"string" enum:"NetworkStatus"`
5921}
5922
5923// String returns the string representation
5924func (s NetworkSummary) String() string {
5925	return awsutil.Prettify(s)
5926}
5927
5928// GoString returns the string representation
5929func (s NetworkSummary) GoString() string {
5930	return s.String()
5931}
5932
5933// SetArn sets the Arn field's value.
5934func (s *NetworkSummary) SetArn(v string) *NetworkSummary {
5935	s.Arn = &v
5936	return s
5937}
5938
5939// SetCreationDate sets the CreationDate field's value.
5940func (s *NetworkSummary) SetCreationDate(v time.Time) *NetworkSummary {
5941	s.CreationDate = &v
5942	return s
5943}
5944
5945// SetDescription sets the Description field's value.
5946func (s *NetworkSummary) SetDescription(v string) *NetworkSummary {
5947	s.Description = &v
5948	return s
5949}
5950
5951// SetFramework sets the Framework field's value.
5952func (s *NetworkSummary) SetFramework(v string) *NetworkSummary {
5953	s.Framework = &v
5954	return s
5955}
5956
5957// SetFrameworkVersion sets the FrameworkVersion field's value.
5958func (s *NetworkSummary) SetFrameworkVersion(v string) *NetworkSummary {
5959	s.FrameworkVersion = &v
5960	return s
5961}
5962
5963// SetId sets the Id field's value.
5964func (s *NetworkSummary) SetId(v string) *NetworkSummary {
5965	s.Id = &v
5966	return s
5967}
5968
5969// SetName sets the Name field's value.
5970func (s *NetworkSummary) SetName(v string) *NetworkSummary {
5971	s.Name = &v
5972	return s
5973}
5974
5975// SetStatus sets the Status field's value.
5976func (s *NetworkSummary) SetStatus(v string) *NetworkSummary {
5977	s.Status = &v
5978	return s
5979}
5980
5981// Configuration properties of a node.
5982type Node struct {
5983	_ struct{} `type:"structure"`
5984
5985	// The Amazon Resource Name (ARN) of the node. For more information about ARNs
5986	// and their format, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
5987	// in the AWS General Reference.
5988	Arn *string `min:"1" type:"string"`
5989
5990	// The Availability Zone in which the node exists. Required for Ethereum nodes.
5991	AvailabilityZone *string `type:"string"`
5992
5993	// The date and time that the node was created.
5994	CreationDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
5995
5996	// Attributes of the blockchain framework being used.
5997	FrameworkAttributes *NodeFrameworkAttributes `type:"structure"`
5998
5999	// The unique identifier of the node.
6000	Id *string `min:"1" type:"string"`
6001
6002	// The instance type of the node.
6003	InstanceType *string `type:"string"`
6004
6005	// The Amazon Resource Name (ARN) of the customer managed key in AWS Key Management
6006	// Service (AWS KMS) that the node uses for encryption at rest. If the value
6007	// of this parameter is "AWS Owned KMS Key", the node uses an AWS owned KMS
6008	// key for encryption. The node inherits this parameter from the member that
6009	// it belongs to.
6010	//
6011	// Applies only to Hyperledger Fabric.
6012	KmsKeyArn *string `type:"string"`
6013
6014	// Configuration properties for logging events associated with a peer node on
6015	// a Hyperledger Fabric network on Managed Blockchain.
6016	LogPublishingConfiguration *NodeLogPublishingConfiguration `type:"structure"`
6017
6018	// The unique identifier of the member to which the node belongs.
6019	//
6020	// Applies only to Hyperledger Fabric.
6021	MemberId *string `min:"1" type:"string"`
6022
6023	// The unique identifier of the network that the node is on.
6024	NetworkId *string `min:"1" type:"string"`
6025
6026	// The state database that the node uses. Values are LevelDB or CouchDB.
6027	//
6028	// Applies only to Hyperledger Fabric.
6029	StateDB *string `type:"string" enum:"StateDBType"`
6030
6031	// The status of the node.
6032	//
6033	//    * CREATING - The AWS account is in the process of creating a node.
6034	//
6035	//    * AVAILABLE - The node has been created and can participate in the network.
6036	//
6037	//    * UNHEALTHY - The node is impaired and might not function as expected.
6038	//    Amazon Managed Blockchain automatically finds nodes in this state and
6039	//    tries to recover them. If a node is recoverable, it returns to AVAILABLE.
6040	//    Otherwise, it moves to FAILED status.
6041	//
6042	//    * CREATE_FAILED - The AWS account attempted to create a node and creation
6043	//    failed.
6044	//
6045	//    * UPDATING - The node is in the process of being updated.
6046	//
6047	//    * DELETING - The node is in the process of being deleted.
6048	//
6049	//    * DELETED - The node can no longer participate on the network.
6050	//
6051	//    * FAILED - The node is no longer functional, cannot be recovered, and
6052	//    must be deleted.
6053	//
6054	//    * INACCESSIBLE_ENCRYPTION_KEY - The node is impaired and might not function
6055	//    as expected because it cannot access the specified customer managed key
6056	//    in AWS KMS for encryption at rest. Either the KMS key was disabled or
6057	//    deleted, or the grants on the key were revoked. The effect of disabling
6058	//    or deleting a key, or revoking a grant is not immediate. The node resource
6059	//    might take some time to find that the key is inaccessible. When a resource
6060	//    is in this state, we recommend deleting and recreating the resource.
6061	Status *string `type:"string" enum:"NodeStatus"`
6062
6063	// Tags assigned to the node. Each tag consists of a key and optional value.
6064	//
6065	// For more information about tags, see Tagging Resources (https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html)
6066	// in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources
6067	// (https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html)
6068	// in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.
6069	Tags map[string]*string `type:"map"`
6070}
6071
6072// String returns the string representation
6073func (s Node) String() string {
6074	return awsutil.Prettify(s)
6075}
6076
6077// GoString returns the string representation
6078func (s Node) GoString() string {
6079	return s.String()
6080}
6081
6082// SetArn sets the Arn field's value.
6083func (s *Node) SetArn(v string) *Node {
6084	s.Arn = &v
6085	return s
6086}
6087
6088// SetAvailabilityZone sets the AvailabilityZone field's value.
6089func (s *Node) SetAvailabilityZone(v string) *Node {
6090	s.AvailabilityZone = &v
6091	return s
6092}
6093
6094// SetCreationDate sets the CreationDate field's value.
6095func (s *Node) SetCreationDate(v time.Time) *Node {
6096	s.CreationDate = &v
6097	return s
6098}
6099
6100// SetFrameworkAttributes sets the FrameworkAttributes field's value.
6101func (s *Node) SetFrameworkAttributes(v *NodeFrameworkAttributes) *Node {
6102	s.FrameworkAttributes = v
6103	return s
6104}
6105
6106// SetId sets the Id field's value.
6107func (s *Node) SetId(v string) *Node {
6108	s.Id = &v
6109	return s
6110}
6111
6112// SetInstanceType sets the InstanceType field's value.
6113func (s *Node) SetInstanceType(v string) *Node {
6114	s.InstanceType = &v
6115	return s
6116}
6117
6118// SetKmsKeyArn sets the KmsKeyArn field's value.
6119func (s *Node) SetKmsKeyArn(v string) *Node {
6120	s.KmsKeyArn = &v
6121	return s
6122}
6123
6124// SetLogPublishingConfiguration sets the LogPublishingConfiguration field's value.
6125func (s *Node) SetLogPublishingConfiguration(v *NodeLogPublishingConfiguration) *Node {
6126	s.LogPublishingConfiguration = v
6127	return s
6128}
6129
6130// SetMemberId sets the MemberId field's value.
6131func (s *Node) SetMemberId(v string) *Node {
6132	s.MemberId = &v
6133	return s
6134}
6135
6136// SetNetworkId sets the NetworkId field's value.
6137func (s *Node) SetNetworkId(v string) *Node {
6138	s.NetworkId = &v
6139	return s
6140}
6141
6142// SetStateDB sets the StateDB field's value.
6143func (s *Node) SetStateDB(v string) *Node {
6144	s.StateDB = &v
6145	return s
6146}
6147
6148// SetStatus sets the Status field's value.
6149func (s *Node) SetStatus(v string) *Node {
6150	s.Status = &v
6151	return s
6152}
6153
6154// SetTags sets the Tags field's value.
6155func (s *Node) SetTags(v map[string]*string) *Node {
6156	s.Tags = v
6157	return s
6158}
6159
6160// Configuration properties of a node.
6161type NodeConfiguration struct {
6162	_ struct{} `type:"structure"`
6163
6164	// The Availability Zone in which the node exists. Required for Ethereum nodes.
6165	AvailabilityZone *string `type:"string"`
6166
6167	// The Amazon Managed Blockchain instance type for the node.
6168	//
6169	// InstanceType is a required field
6170	InstanceType *string `type:"string" required:"true"`
6171
6172	// Configuration properties for logging events associated with a peer node on
6173	// a Hyperledger Fabric network on Managed Blockchain.
6174	LogPublishingConfiguration *NodeLogPublishingConfiguration `type:"structure"`
6175
6176	// The state database that the node uses. Values are LevelDB or CouchDB. When
6177	// using an Amazon Managed Blockchain network with Hyperledger Fabric version
6178	// 1.4 or later, the default is CouchDB.
6179	//
6180	// Applies only to Hyperledger Fabric.
6181	StateDB *string `type:"string" enum:"StateDBType"`
6182}
6183
6184// String returns the string representation
6185func (s NodeConfiguration) String() string {
6186	return awsutil.Prettify(s)
6187}
6188
6189// GoString returns the string representation
6190func (s NodeConfiguration) GoString() string {
6191	return s.String()
6192}
6193
6194// Validate inspects the fields of the type to determine if they are valid.
6195func (s *NodeConfiguration) Validate() error {
6196	invalidParams := request.ErrInvalidParams{Context: "NodeConfiguration"}
6197	if s.InstanceType == nil {
6198		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
6199	}
6200
6201	if invalidParams.Len() > 0 {
6202		return invalidParams
6203	}
6204	return nil
6205}
6206
6207// SetAvailabilityZone sets the AvailabilityZone field's value.
6208func (s *NodeConfiguration) SetAvailabilityZone(v string) *NodeConfiguration {
6209	s.AvailabilityZone = &v
6210	return s
6211}
6212
6213// SetInstanceType sets the InstanceType field's value.
6214func (s *NodeConfiguration) SetInstanceType(v string) *NodeConfiguration {
6215	s.InstanceType = &v
6216	return s
6217}
6218
6219// SetLogPublishingConfiguration sets the LogPublishingConfiguration field's value.
6220func (s *NodeConfiguration) SetLogPublishingConfiguration(v *NodeLogPublishingConfiguration) *NodeConfiguration {
6221	s.LogPublishingConfiguration = v
6222	return s
6223}
6224
6225// SetStateDB sets the StateDB field's value.
6226func (s *NodeConfiguration) SetStateDB(v string) *NodeConfiguration {
6227	s.StateDB = &v
6228	return s
6229}
6230
6231// Attributes of an Ethereum node.
6232type NodeEthereumAttributes struct {
6233	_ struct{} `type:"structure"`
6234
6235	// The endpoint on which the Ethereum node listens to run Ethereum JSON-RPC
6236	// methods over HTTP connections from a client. Use this endpoint in client
6237	// code for smart contracts when using an HTTP connection. Connections to this
6238	// endpoint are authenticated using Signature Version 4 (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
6239	HttpEndpoint *string `type:"string"`
6240
6241	// The endpoint on which the Ethereum node listens to run Ethereum JSON-RPC
6242	// methods over WebSockets connections from a client. Use this endpoint in client
6243	// code for smart contracts when using a WebSockets connection. Connections
6244	// to this endpoint are authenticated using Signature Version 4 (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
6245	WebSocketEndpoint *string `type:"string"`
6246}
6247
6248// String returns the string representation
6249func (s NodeEthereumAttributes) String() string {
6250	return awsutil.Prettify(s)
6251}
6252
6253// GoString returns the string representation
6254func (s NodeEthereumAttributes) GoString() string {
6255	return s.String()
6256}
6257
6258// SetHttpEndpoint sets the HttpEndpoint field's value.
6259func (s *NodeEthereumAttributes) SetHttpEndpoint(v string) *NodeEthereumAttributes {
6260	s.HttpEndpoint = &v
6261	return s
6262}
6263
6264// SetWebSocketEndpoint sets the WebSocketEndpoint field's value.
6265func (s *NodeEthereumAttributes) SetWebSocketEndpoint(v string) *NodeEthereumAttributes {
6266	s.WebSocketEndpoint = &v
6267	return s
6268}
6269
6270// Attributes of Hyperledger Fabric for a peer node on a Hyperledger Fabric
6271// network on Managed Blockchain.
6272type NodeFabricAttributes struct {
6273	_ struct{} `type:"structure"`
6274
6275	// The endpoint that identifies the peer node for all services except peer channel-based
6276	// event services.
6277	PeerEndpoint *string `type:"string"`
6278
6279	// The endpoint that identifies the peer node for peer channel-based event services.
6280	PeerEventEndpoint *string `type:"string"`
6281}
6282
6283// String returns the string representation
6284func (s NodeFabricAttributes) String() string {
6285	return awsutil.Prettify(s)
6286}
6287
6288// GoString returns the string representation
6289func (s NodeFabricAttributes) GoString() string {
6290	return s.String()
6291}
6292
6293// SetPeerEndpoint sets the PeerEndpoint field's value.
6294func (s *NodeFabricAttributes) SetPeerEndpoint(v string) *NodeFabricAttributes {
6295	s.PeerEndpoint = &v
6296	return s
6297}
6298
6299// SetPeerEventEndpoint sets the PeerEventEndpoint field's value.
6300func (s *NodeFabricAttributes) SetPeerEventEndpoint(v string) *NodeFabricAttributes {
6301	s.PeerEventEndpoint = &v
6302	return s
6303}
6304
6305// Configuration properties for logging events associated with a peer node owned
6306// by a member in a Managed Blockchain network.
6307type NodeFabricLogPublishingConfiguration struct {
6308	_ struct{} `type:"structure"`
6309
6310	// Configuration properties for logging events associated with chaincode execution
6311	// on a peer node. Chaincode logs contain the results of instantiating, invoking,
6312	// and querying the chaincode. A peer can run multiple instances of chaincode.
6313	// When enabled, a log stream is created for all chaincodes, with an individual
6314	// log stream for each chaincode.
6315	ChaincodeLogs *LogConfigurations `type:"structure"`
6316
6317	// Configuration properties for a peer node log. Peer node logs contain messages
6318	// generated when your client submits transaction proposals to peer nodes, requests
6319	// to join channels, enrolls an admin peer, and lists the chaincode instances
6320	// on a peer node.
6321	PeerLogs *LogConfigurations `type:"structure"`
6322}
6323
6324// String returns the string representation
6325func (s NodeFabricLogPublishingConfiguration) String() string {
6326	return awsutil.Prettify(s)
6327}
6328
6329// GoString returns the string representation
6330func (s NodeFabricLogPublishingConfiguration) GoString() string {
6331	return s.String()
6332}
6333
6334// SetChaincodeLogs sets the ChaincodeLogs field's value.
6335func (s *NodeFabricLogPublishingConfiguration) SetChaincodeLogs(v *LogConfigurations) *NodeFabricLogPublishingConfiguration {
6336	s.ChaincodeLogs = v
6337	return s
6338}
6339
6340// SetPeerLogs sets the PeerLogs field's value.
6341func (s *NodeFabricLogPublishingConfiguration) SetPeerLogs(v *LogConfigurations) *NodeFabricLogPublishingConfiguration {
6342	s.PeerLogs = v
6343	return s
6344}
6345
6346// Attributes relevant to a node on a Managed Blockchain network for the blockchain
6347// framework that the network uses.
6348type NodeFrameworkAttributes struct {
6349	_ struct{} `type:"structure"`
6350
6351	// Attributes of Ethereum for a node on a Managed Blockchain network that uses
6352	// Ethereum.
6353	Ethereum *NodeEthereumAttributes `type:"structure"`
6354
6355	// Attributes of Hyperledger Fabric for a peer node on a Managed Blockchain
6356	// network that uses Hyperledger Fabric.
6357	Fabric *NodeFabricAttributes `type:"structure"`
6358}
6359
6360// String returns the string representation
6361func (s NodeFrameworkAttributes) String() string {
6362	return awsutil.Prettify(s)
6363}
6364
6365// GoString returns the string representation
6366func (s NodeFrameworkAttributes) GoString() string {
6367	return s.String()
6368}
6369
6370// SetEthereum sets the Ethereum field's value.
6371func (s *NodeFrameworkAttributes) SetEthereum(v *NodeEthereumAttributes) *NodeFrameworkAttributes {
6372	s.Ethereum = v
6373	return s
6374}
6375
6376// SetFabric sets the Fabric field's value.
6377func (s *NodeFrameworkAttributes) SetFabric(v *NodeFabricAttributes) *NodeFrameworkAttributes {
6378	s.Fabric = v
6379	return s
6380}
6381
6382// Configuration properties for logging events associated with a peer node on
6383// a Hyperledger Fabric network on Managed Blockchain.
6384type NodeLogPublishingConfiguration struct {
6385	_ struct{} `type:"structure"`
6386
6387	// Configuration properties for logging events associated with a node that is
6388	// owned by a member of a Managed Blockchain network using the Hyperledger Fabric
6389	// framework.
6390	Fabric *NodeFabricLogPublishingConfiguration `type:"structure"`
6391}
6392
6393// String returns the string representation
6394func (s NodeLogPublishingConfiguration) String() string {
6395	return awsutil.Prettify(s)
6396}
6397
6398// GoString returns the string representation
6399func (s NodeLogPublishingConfiguration) GoString() string {
6400	return s.String()
6401}
6402
6403// SetFabric sets the Fabric field's value.
6404func (s *NodeLogPublishingConfiguration) SetFabric(v *NodeFabricLogPublishingConfiguration) *NodeLogPublishingConfiguration {
6405	s.Fabric = v
6406	return s
6407}
6408
6409// A summary of configuration properties for a node.
6410type NodeSummary struct {
6411	_ struct{} `type:"structure"`
6412
6413	// The Amazon Resource Name (ARN) of the node. For more information about ARNs
6414	// and their format, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
6415	// in the AWS General Reference.
6416	Arn *string `min:"1" type:"string"`
6417
6418	// The Availability Zone in which the node exists.
6419	AvailabilityZone *string `type:"string"`
6420
6421	// The date and time that the node was created.
6422	CreationDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
6423
6424	// The unique identifier of the node.
6425	Id *string `min:"1" type:"string"`
6426
6427	// The EC2 instance type for the node.
6428	InstanceType *string `type:"string"`
6429
6430	// The status of the node.
6431	Status *string `type:"string" enum:"NodeStatus"`
6432}
6433
6434// String returns the string representation
6435func (s NodeSummary) String() string {
6436	return awsutil.Prettify(s)
6437}
6438
6439// GoString returns the string representation
6440func (s NodeSummary) GoString() string {
6441	return s.String()
6442}
6443
6444// SetArn sets the Arn field's value.
6445func (s *NodeSummary) SetArn(v string) *NodeSummary {
6446	s.Arn = &v
6447	return s
6448}
6449
6450// SetAvailabilityZone sets the AvailabilityZone field's value.
6451func (s *NodeSummary) SetAvailabilityZone(v string) *NodeSummary {
6452	s.AvailabilityZone = &v
6453	return s
6454}
6455
6456// SetCreationDate sets the CreationDate field's value.
6457func (s *NodeSummary) SetCreationDate(v time.Time) *NodeSummary {
6458	s.CreationDate = &v
6459	return s
6460}
6461
6462// SetId sets the Id field's value.
6463func (s *NodeSummary) SetId(v string) *NodeSummary {
6464	s.Id = &v
6465	return s
6466}
6467
6468// SetInstanceType sets the InstanceType field's value.
6469func (s *NodeSummary) SetInstanceType(v string) *NodeSummary {
6470	s.InstanceType = &v
6471	return s
6472}
6473
6474// SetStatus sets the Status field's value.
6475func (s *NodeSummary) SetStatus(v string) *NodeSummary {
6476	s.Status = &v
6477	return s
6478}
6479
6480// Properties of a proposal on a Managed Blockchain network.
6481//
6482// Applies only to Hyperledger Fabric.
6483type Proposal struct {
6484	_ struct{} `type:"structure"`
6485
6486	// The actions to perform on the network if the proposal is APPROVED.
6487	Actions *ProposalActions `type:"structure"`
6488
6489	// The Amazon Resource Name (ARN) of the proposal. For more information about
6490	// ARNs and their format, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
6491	// in the AWS General Reference.
6492	Arn *string `min:"1" type:"string"`
6493
6494	// The date and time that the proposal was created.
6495	CreationDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
6496
6497	// The description of the proposal.
6498	Description *string `type:"string"`
6499
6500	// The date and time that the proposal expires. This is the CreationDate plus
6501	// the ProposalDurationInHours that is specified in the ProposalThresholdPolicy.
6502	// After this date and time, if members have not cast enough votes to determine
6503	// the outcome according to the voting policy, the proposal is EXPIRED and Actions
6504	// are not carried out.
6505	ExpirationDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
6506
6507	// The unique identifier of the network for which the proposal is made.
6508	NetworkId *string `min:"1" type:"string"`
6509
6510	// The current total of NO votes cast on the proposal by members.
6511	NoVoteCount *int64 `type:"integer"`
6512
6513	// The number of votes remaining to be cast on the proposal by members. In other
6514	// words, the number of members minus the sum of YES votes and NO votes.
6515	OutstandingVoteCount *int64 `type:"integer"`
6516
6517	// The unique identifier of the proposal.
6518	ProposalId *string `min:"1" type:"string"`
6519
6520	// The unique identifier of the member that created the proposal.
6521	ProposedByMemberId *string `min:"1" type:"string"`
6522
6523	// The name of the member that created the proposal.
6524	ProposedByMemberName *string `min:"1" type:"string"`
6525
6526	// The status of the proposal. Values are as follows:
6527	//
6528	//    * IN_PROGRESS - The proposal is active and open for member voting.
6529	//
6530	//    * APPROVED - The proposal was approved with sufficient YES votes among
6531	//    members according to the VotingPolicy specified for the Network. The specified
6532	//    proposal actions are carried out.
6533	//
6534	//    * REJECTED - The proposal was rejected with insufficient YES votes among
6535	//    members according to the VotingPolicy specified for the Network. The specified
6536	//    ProposalActions are not carried out.
6537	//
6538	//    * EXPIRED - Members did not cast the number of votes required to determine
6539	//    the proposal outcome before the proposal expired. The specified ProposalActions
6540	//    are not carried out.
6541	//
6542	//    * ACTION_FAILED - One or more of the specified ProposalActions in a proposal
6543	//    that was approved could not be completed because of an error. The ACTION_FAILED
6544	//    status occurs even if only one ProposalAction fails and other actions
6545	//    are successful.
6546	Status *string `type:"string" enum:"ProposalStatus"`
6547
6548	// Tags assigned to the proposal. Each tag consists of a key and optional value.
6549	//
6550	// For more information about tags, see Tagging Resources (https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html)
6551	// in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources
6552	// (https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html)
6553	// in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.
6554	Tags map[string]*string `type:"map"`
6555
6556	// The current total of YES votes cast on the proposal by members.
6557	YesVoteCount *int64 `type:"integer"`
6558}
6559
6560// String returns the string representation
6561func (s Proposal) String() string {
6562	return awsutil.Prettify(s)
6563}
6564
6565// GoString returns the string representation
6566func (s Proposal) GoString() string {
6567	return s.String()
6568}
6569
6570// SetActions sets the Actions field's value.
6571func (s *Proposal) SetActions(v *ProposalActions) *Proposal {
6572	s.Actions = v
6573	return s
6574}
6575
6576// SetArn sets the Arn field's value.
6577func (s *Proposal) SetArn(v string) *Proposal {
6578	s.Arn = &v
6579	return s
6580}
6581
6582// SetCreationDate sets the CreationDate field's value.
6583func (s *Proposal) SetCreationDate(v time.Time) *Proposal {
6584	s.CreationDate = &v
6585	return s
6586}
6587
6588// SetDescription sets the Description field's value.
6589func (s *Proposal) SetDescription(v string) *Proposal {
6590	s.Description = &v
6591	return s
6592}
6593
6594// SetExpirationDate sets the ExpirationDate field's value.
6595func (s *Proposal) SetExpirationDate(v time.Time) *Proposal {
6596	s.ExpirationDate = &v
6597	return s
6598}
6599
6600// SetNetworkId sets the NetworkId field's value.
6601func (s *Proposal) SetNetworkId(v string) *Proposal {
6602	s.NetworkId = &v
6603	return s
6604}
6605
6606// SetNoVoteCount sets the NoVoteCount field's value.
6607func (s *Proposal) SetNoVoteCount(v int64) *Proposal {
6608	s.NoVoteCount = &v
6609	return s
6610}
6611
6612// SetOutstandingVoteCount sets the OutstandingVoteCount field's value.
6613func (s *Proposal) SetOutstandingVoteCount(v int64) *Proposal {
6614	s.OutstandingVoteCount = &v
6615	return s
6616}
6617
6618// SetProposalId sets the ProposalId field's value.
6619func (s *Proposal) SetProposalId(v string) *Proposal {
6620	s.ProposalId = &v
6621	return s
6622}
6623
6624// SetProposedByMemberId sets the ProposedByMemberId field's value.
6625func (s *Proposal) SetProposedByMemberId(v string) *Proposal {
6626	s.ProposedByMemberId = &v
6627	return s
6628}
6629
6630// SetProposedByMemberName sets the ProposedByMemberName field's value.
6631func (s *Proposal) SetProposedByMemberName(v string) *Proposal {
6632	s.ProposedByMemberName = &v
6633	return s
6634}
6635
6636// SetStatus sets the Status field's value.
6637func (s *Proposal) SetStatus(v string) *Proposal {
6638	s.Status = &v
6639	return s
6640}
6641
6642// SetTags sets the Tags field's value.
6643func (s *Proposal) SetTags(v map[string]*string) *Proposal {
6644	s.Tags = v
6645	return s
6646}
6647
6648// SetYesVoteCount sets the YesVoteCount field's value.
6649func (s *Proposal) SetYesVoteCount(v int64) *Proposal {
6650	s.YesVoteCount = &v
6651	return s
6652}
6653
6654// The actions to carry out if a proposal is APPROVED.
6655//
6656// Applies only to Hyperledger Fabric.
6657type ProposalActions struct {
6658	_ struct{} `type:"structure"`
6659
6660	// The actions to perform for an APPROVED proposal to invite an AWS account
6661	// to create a member and join the network.
6662	Invitations []*InviteAction `type:"list"`
6663
6664	// The actions to perform for an APPROVED proposal to remove a member from the
6665	// network, which deletes the member and all associated member resources from
6666	// the network.
6667	Removals []*RemoveAction `type:"list"`
6668}
6669
6670// String returns the string representation
6671func (s ProposalActions) String() string {
6672	return awsutil.Prettify(s)
6673}
6674
6675// GoString returns the string representation
6676func (s ProposalActions) GoString() string {
6677	return s.String()
6678}
6679
6680// Validate inspects the fields of the type to determine if they are valid.
6681func (s *ProposalActions) Validate() error {
6682	invalidParams := request.ErrInvalidParams{Context: "ProposalActions"}
6683	if s.Invitations != nil {
6684		for i, v := range s.Invitations {
6685			if v == nil {
6686				continue
6687			}
6688			if err := v.Validate(); err != nil {
6689				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Invitations", i), err.(request.ErrInvalidParams))
6690			}
6691		}
6692	}
6693	if s.Removals != nil {
6694		for i, v := range s.Removals {
6695			if v == nil {
6696				continue
6697			}
6698			if err := v.Validate(); err != nil {
6699				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Removals", i), err.(request.ErrInvalidParams))
6700			}
6701		}
6702	}
6703
6704	if invalidParams.Len() > 0 {
6705		return invalidParams
6706	}
6707	return nil
6708}
6709
6710// SetInvitations sets the Invitations field's value.
6711func (s *ProposalActions) SetInvitations(v []*InviteAction) *ProposalActions {
6712	s.Invitations = v
6713	return s
6714}
6715
6716// SetRemovals sets the Removals field's value.
6717func (s *ProposalActions) SetRemovals(v []*RemoveAction) *ProposalActions {
6718	s.Removals = v
6719	return s
6720}
6721
6722// Properties of a proposal.
6723//
6724// Applies only to Hyperledger Fabric.
6725type ProposalSummary struct {
6726	_ struct{} `type:"structure"`
6727
6728	// The Amazon Resource Name (ARN) of the proposal. For more information about
6729	// ARNs and their format, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
6730	// in the AWS General Reference.
6731	Arn *string `min:"1" type:"string"`
6732
6733	// The date and time that the proposal was created.
6734	CreationDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
6735
6736	// The description of the proposal.
6737	Description *string `type:"string"`
6738
6739	// The date and time that the proposal expires. This is the CreationDate plus
6740	// the ProposalDurationInHours that is specified in the ProposalThresholdPolicy.
6741	// After this date and time, if members have not cast enough votes to determine
6742	// the outcome according to the voting policy, the proposal is EXPIRED and Actions
6743	// are not carried out.
6744	ExpirationDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
6745
6746	// The unique identifier of the proposal.
6747	ProposalId *string `min:"1" type:"string"`
6748
6749	// The unique identifier of the member that created the proposal.
6750	ProposedByMemberId *string `min:"1" type:"string"`
6751
6752	// The name of the member that created the proposal.
6753	ProposedByMemberName *string `min:"1" type:"string"`
6754
6755	// The status of the proposal. Values are as follows:
6756	//
6757	//    * IN_PROGRESS - The proposal is active and open for member voting.
6758	//
6759	//    * APPROVED - The proposal was approved with sufficient YES votes among
6760	//    members according to the VotingPolicy specified for the Network. The specified
6761	//    proposal actions are carried out.
6762	//
6763	//    * REJECTED - The proposal was rejected with insufficient YES votes among
6764	//    members according to the VotingPolicy specified for the Network. The specified
6765	//    ProposalActions are not carried out.
6766	//
6767	//    * EXPIRED - Members did not cast the number of votes required to determine
6768	//    the proposal outcome before the proposal expired. The specified ProposalActions
6769	//    are not carried out.
6770	//
6771	//    * ACTION_FAILED - One or more of the specified ProposalActions in a proposal
6772	//    that was approved could not be completed because of an error.
6773	Status *string `type:"string" enum:"ProposalStatus"`
6774}
6775
6776// String returns the string representation
6777func (s ProposalSummary) String() string {
6778	return awsutil.Prettify(s)
6779}
6780
6781// GoString returns the string representation
6782func (s ProposalSummary) GoString() string {
6783	return s.String()
6784}
6785
6786// SetArn sets the Arn field's value.
6787func (s *ProposalSummary) SetArn(v string) *ProposalSummary {
6788	s.Arn = &v
6789	return s
6790}
6791
6792// SetCreationDate sets the CreationDate field's value.
6793func (s *ProposalSummary) SetCreationDate(v time.Time) *ProposalSummary {
6794	s.CreationDate = &v
6795	return s
6796}
6797
6798// SetDescription sets the Description field's value.
6799func (s *ProposalSummary) SetDescription(v string) *ProposalSummary {
6800	s.Description = &v
6801	return s
6802}
6803
6804// SetExpirationDate sets the ExpirationDate field's value.
6805func (s *ProposalSummary) SetExpirationDate(v time.Time) *ProposalSummary {
6806	s.ExpirationDate = &v
6807	return s
6808}
6809
6810// SetProposalId sets the ProposalId field's value.
6811func (s *ProposalSummary) SetProposalId(v string) *ProposalSummary {
6812	s.ProposalId = &v
6813	return s
6814}
6815
6816// SetProposedByMemberId sets the ProposedByMemberId field's value.
6817func (s *ProposalSummary) SetProposedByMemberId(v string) *ProposalSummary {
6818	s.ProposedByMemberId = &v
6819	return s
6820}
6821
6822// SetProposedByMemberName sets the ProposedByMemberName field's value.
6823func (s *ProposalSummary) SetProposedByMemberName(v string) *ProposalSummary {
6824	s.ProposedByMemberName = &v
6825	return s
6826}
6827
6828// SetStatus sets the Status field's value.
6829func (s *ProposalSummary) SetStatus(v string) *ProposalSummary {
6830	s.Status = &v
6831	return s
6832}
6833
6834type RejectInvitationInput struct {
6835	_ struct{} `type:"structure"`
6836
6837	// The unique identifier of the invitation to reject.
6838	//
6839	// InvitationId is a required field
6840	InvitationId *string `location:"uri" locationName:"invitationId" min:"1" type:"string" required:"true"`
6841}
6842
6843// String returns the string representation
6844func (s RejectInvitationInput) String() string {
6845	return awsutil.Prettify(s)
6846}
6847
6848// GoString returns the string representation
6849func (s RejectInvitationInput) GoString() string {
6850	return s.String()
6851}
6852
6853// Validate inspects the fields of the type to determine if they are valid.
6854func (s *RejectInvitationInput) Validate() error {
6855	invalidParams := request.ErrInvalidParams{Context: "RejectInvitationInput"}
6856	if s.InvitationId == nil {
6857		invalidParams.Add(request.NewErrParamRequired("InvitationId"))
6858	}
6859	if s.InvitationId != nil && len(*s.InvitationId) < 1 {
6860		invalidParams.Add(request.NewErrParamMinLen("InvitationId", 1))
6861	}
6862
6863	if invalidParams.Len() > 0 {
6864		return invalidParams
6865	}
6866	return nil
6867}
6868
6869// SetInvitationId sets the InvitationId field's value.
6870func (s *RejectInvitationInput) SetInvitationId(v string) *RejectInvitationInput {
6871	s.InvitationId = &v
6872	return s
6873}
6874
6875type RejectInvitationOutput struct {
6876	_ struct{} `type:"structure"`
6877}
6878
6879// String returns the string representation
6880func (s RejectInvitationOutput) String() string {
6881	return awsutil.Prettify(s)
6882}
6883
6884// GoString returns the string representation
6885func (s RejectInvitationOutput) GoString() string {
6886	return s.String()
6887}
6888
6889// An action to remove a member from a Managed Blockchain network as the result
6890// of a removal proposal that is APPROVED. The member and all associated resources
6891// are deleted from the network.
6892//
6893// Applies only to Hyperledger Fabric.
6894type RemoveAction struct {
6895	_ struct{} `type:"structure"`
6896
6897	// The unique identifier of the member to remove.
6898	//
6899	// MemberId is a required field
6900	MemberId *string `min:"1" type:"string" required:"true"`
6901}
6902
6903// String returns the string representation
6904func (s RemoveAction) String() string {
6905	return awsutil.Prettify(s)
6906}
6907
6908// GoString returns the string representation
6909func (s RemoveAction) GoString() string {
6910	return s.String()
6911}
6912
6913// Validate inspects the fields of the type to determine if they are valid.
6914func (s *RemoveAction) Validate() error {
6915	invalidParams := request.ErrInvalidParams{Context: "RemoveAction"}
6916	if s.MemberId == nil {
6917		invalidParams.Add(request.NewErrParamRequired("MemberId"))
6918	}
6919	if s.MemberId != nil && len(*s.MemberId) < 1 {
6920		invalidParams.Add(request.NewErrParamMinLen("MemberId", 1))
6921	}
6922
6923	if invalidParams.Len() > 0 {
6924		return invalidParams
6925	}
6926	return nil
6927}
6928
6929// SetMemberId sets the MemberId field's value.
6930func (s *RemoveAction) SetMemberId(v string) *RemoveAction {
6931	s.MemberId = &v
6932	return s
6933}
6934
6935// A resource request is issued for a resource that already exists.
6936type ResourceAlreadyExistsException struct {
6937	_            struct{}                  `type:"structure"`
6938	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6939
6940	Message_ *string `locationName:"Message" type:"string"`
6941}
6942
6943// String returns the string representation
6944func (s ResourceAlreadyExistsException) String() string {
6945	return awsutil.Prettify(s)
6946}
6947
6948// GoString returns the string representation
6949func (s ResourceAlreadyExistsException) GoString() string {
6950	return s.String()
6951}
6952
6953func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
6954	return &ResourceAlreadyExistsException{
6955		RespMetadata: v,
6956	}
6957}
6958
6959// Code returns the exception type name.
6960func (s *ResourceAlreadyExistsException) Code() string {
6961	return "ResourceAlreadyExistsException"
6962}
6963
6964// Message returns the exception's message.
6965func (s *ResourceAlreadyExistsException) Message() string {
6966	if s.Message_ != nil {
6967		return *s.Message_
6968	}
6969	return ""
6970}
6971
6972// OrigErr always returns nil, satisfies awserr.Error interface.
6973func (s *ResourceAlreadyExistsException) OrigErr() error {
6974	return nil
6975}
6976
6977func (s *ResourceAlreadyExistsException) Error() string {
6978	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6979}
6980
6981// Status code returns the HTTP status code for the request's response error.
6982func (s *ResourceAlreadyExistsException) StatusCode() int {
6983	return s.RespMetadata.StatusCode
6984}
6985
6986// RequestID returns the service's response RequestID for request.
6987func (s *ResourceAlreadyExistsException) RequestID() string {
6988	return s.RespMetadata.RequestID
6989}
6990
6991// The maximum number of resources of that type already exist. Ensure the resources
6992// requested are within the boundaries of the service edition and your account
6993// limits.
6994type ResourceLimitExceededException struct {
6995	_            struct{}                  `type:"structure"`
6996	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6997
6998	Message_ *string `locationName:"Message" type:"string"`
6999}
7000
7001// String returns the string representation
7002func (s ResourceLimitExceededException) String() string {
7003	return awsutil.Prettify(s)
7004}
7005
7006// GoString returns the string representation
7007func (s ResourceLimitExceededException) GoString() string {
7008	return s.String()
7009}
7010
7011func newErrorResourceLimitExceededException(v protocol.ResponseMetadata) error {
7012	return &ResourceLimitExceededException{
7013		RespMetadata: v,
7014	}
7015}
7016
7017// Code returns the exception type name.
7018func (s *ResourceLimitExceededException) Code() string {
7019	return "ResourceLimitExceededException"
7020}
7021
7022// Message returns the exception's message.
7023func (s *ResourceLimitExceededException) Message() string {
7024	if s.Message_ != nil {
7025		return *s.Message_
7026	}
7027	return ""
7028}
7029
7030// OrigErr always returns nil, satisfies awserr.Error interface.
7031func (s *ResourceLimitExceededException) OrigErr() error {
7032	return nil
7033}
7034
7035func (s *ResourceLimitExceededException) Error() string {
7036	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7037}
7038
7039// Status code returns the HTTP status code for the request's response error.
7040func (s *ResourceLimitExceededException) StatusCode() int {
7041	return s.RespMetadata.StatusCode
7042}
7043
7044// RequestID returns the service's response RequestID for request.
7045func (s *ResourceLimitExceededException) RequestID() string {
7046	return s.RespMetadata.RequestID
7047}
7048
7049// A requested resource does not exist. It may have been deleted or referenced
7050// inaccurately.
7051type ResourceNotFoundException struct {
7052	_            struct{}                  `type:"structure"`
7053	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7054
7055	Message_ *string `locationName:"Message" type:"string"`
7056
7057	// A requested resource does not exist. It may have been deleted or referenced
7058	// inaccurately.
7059	ResourceName *string `min:"1" type:"string"`
7060}
7061
7062// String returns the string representation
7063func (s ResourceNotFoundException) String() string {
7064	return awsutil.Prettify(s)
7065}
7066
7067// GoString returns the string representation
7068func (s ResourceNotFoundException) GoString() string {
7069	return s.String()
7070}
7071
7072func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
7073	return &ResourceNotFoundException{
7074		RespMetadata: v,
7075	}
7076}
7077
7078// Code returns the exception type name.
7079func (s *ResourceNotFoundException) Code() string {
7080	return "ResourceNotFoundException"
7081}
7082
7083// Message returns the exception's message.
7084func (s *ResourceNotFoundException) Message() string {
7085	if s.Message_ != nil {
7086		return *s.Message_
7087	}
7088	return ""
7089}
7090
7091// OrigErr always returns nil, satisfies awserr.Error interface.
7092func (s *ResourceNotFoundException) OrigErr() error {
7093	return nil
7094}
7095
7096func (s *ResourceNotFoundException) Error() string {
7097	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7098}
7099
7100// Status code returns the HTTP status code for the request's response error.
7101func (s *ResourceNotFoundException) StatusCode() int {
7102	return s.RespMetadata.StatusCode
7103}
7104
7105// RequestID returns the service's response RequestID for request.
7106func (s *ResourceNotFoundException) RequestID() string {
7107	return s.RespMetadata.RequestID
7108}
7109
7110// The requested resource exists but is not in a status that can complete the
7111// operation.
7112type ResourceNotReadyException struct {
7113	_            struct{}                  `type:"structure"`
7114	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7115
7116	Message_ *string `locationName:"Message" type:"string"`
7117}
7118
7119// String returns the string representation
7120func (s ResourceNotReadyException) String() string {
7121	return awsutil.Prettify(s)
7122}
7123
7124// GoString returns the string representation
7125func (s ResourceNotReadyException) GoString() string {
7126	return s.String()
7127}
7128
7129func newErrorResourceNotReadyException(v protocol.ResponseMetadata) error {
7130	return &ResourceNotReadyException{
7131		RespMetadata: v,
7132	}
7133}
7134
7135// Code returns the exception type name.
7136func (s *ResourceNotReadyException) Code() string {
7137	return "ResourceNotReadyException"
7138}
7139
7140// Message returns the exception's message.
7141func (s *ResourceNotReadyException) Message() string {
7142	if s.Message_ != nil {
7143		return *s.Message_
7144	}
7145	return ""
7146}
7147
7148// OrigErr always returns nil, satisfies awserr.Error interface.
7149func (s *ResourceNotReadyException) OrigErr() error {
7150	return nil
7151}
7152
7153func (s *ResourceNotReadyException) Error() string {
7154	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7155}
7156
7157// Status code returns the HTTP status code for the request's response error.
7158func (s *ResourceNotReadyException) StatusCode() int {
7159	return s.RespMetadata.StatusCode
7160}
7161
7162// RequestID returns the service's response RequestID for request.
7163func (s *ResourceNotReadyException) RequestID() string {
7164	return s.RespMetadata.RequestID
7165}
7166
7167type TagResourceInput struct {
7168	_ struct{} `type:"structure"`
7169
7170	// The Amazon Resource Name (ARN) of the resource. For more information about
7171	// ARNs and their format, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
7172	// in the AWS General Reference.
7173	//
7174	// ResourceArn is a required field
7175	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
7176
7177	// The tags to assign to the specified resource. Tag values can be empty, for
7178	// example, "MyTagKey" : "". You can specify multiple key-value pairs in a single
7179	// request, with an overall maximum of 50 tags added to each resource.
7180	//
7181	// Tags is a required field
7182	Tags map[string]*string `type:"map" required:"true"`
7183}
7184
7185// String returns the string representation
7186func (s TagResourceInput) String() string {
7187	return awsutil.Prettify(s)
7188}
7189
7190// GoString returns the string representation
7191func (s TagResourceInput) GoString() string {
7192	return s.String()
7193}
7194
7195// Validate inspects the fields of the type to determine if they are valid.
7196func (s *TagResourceInput) Validate() error {
7197	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
7198	if s.ResourceArn == nil {
7199		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
7200	}
7201	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
7202		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
7203	}
7204	if s.Tags == nil {
7205		invalidParams.Add(request.NewErrParamRequired("Tags"))
7206	}
7207
7208	if invalidParams.Len() > 0 {
7209		return invalidParams
7210	}
7211	return nil
7212}
7213
7214// SetResourceArn sets the ResourceArn field's value.
7215func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
7216	s.ResourceArn = &v
7217	return s
7218}
7219
7220// SetTags sets the Tags field's value.
7221func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
7222	s.Tags = v
7223	return s
7224}
7225
7226type TagResourceOutput struct {
7227	_ struct{} `type:"structure"`
7228}
7229
7230// String returns the string representation
7231func (s TagResourceOutput) String() string {
7232	return awsutil.Prettify(s)
7233}
7234
7235// GoString returns the string representation
7236func (s TagResourceOutput) GoString() string {
7237	return s.String()
7238}
7239
7240// The request or operation could not be performed because a service is throttling
7241// requests. The most common source of throttling errors is launching EC2 instances
7242// such that your service limit for EC2 instances is exceeded. Request a limit
7243// increase or delete unused resources if possible.
7244type ThrottlingException struct {
7245	_            struct{}                  `type:"structure"`
7246	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7247
7248	Message_ *string `locationName:"message" type:"string"`
7249}
7250
7251// String returns the string representation
7252func (s ThrottlingException) String() string {
7253	return awsutil.Prettify(s)
7254}
7255
7256// GoString returns the string representation
7257func (s ThrottlingException) GoString() string {
7258	return s.String()
7259}
7260
7261func newErrorThrottlingException(v protocol.ResponseMetadata) error {
7262	return &ThrottlingException{
7263		RespMetadata: v,
7264	}
7265}
7266
7267// Code returns the exception type name.
7268func (s *ThrottlingException) Code() string {
7269	return "ThrottlingException"
7270}
7271
7272// Message returns the exception's message.
7273func (s *ThrottlingException) Message() string {
7274	if s.Message_ != nil {
7275		return *s.Message_
7276	}
7277	return ""
7278}
7279
7280// OrigErr always returns nil, satisfies awserr.Error interface.
7281func (s *ThrottlingException) OrigErr() error {
7282	return nil
7283}
7284
7285func (s *ThrottlingException) Error() string {
7286	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7287}
7288
7289// Status code returns the HTTP status code for the request's response error.
7290func (s *ThrottlingException) StatusCode() int {
7291	return s.RespMetadata.StatusCode
7292}
7293
7294// RequestID returns the service's response RequestID for request.
7295func (s *ThrottlingException) RequestID() string {
7296	return s.RespMetadata.RequestID
7297}
7298
7299type TooManyTagsException struct {
7300	_            struct{}                  `type:"structure"`
7301	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7302
7303	Message_ *string `locationName:"Message" type:"string"`
7304
7305	ResourceName *string `min:"1" type:"string"`
7306}
7307
7308// String returns the string representation
7309func (s TooManyTagsException) String() string {
7310	return awsutil.Prettify(s)
7311}
7312
7313// GoString returns the string representation
7314func (s TooManyTagsException) GoString() string {
7315	return s.String()
7316}
7317
7318func newErrorTooManyTagsException(v protocol.ResponseMetadata) error {
7319	return &TooManyTagsException{
7320		RespMetadata: v,
7321	}
7322}
7323
7324// Code returns the exception type name.
7325func (s *TooManyTagsException) Code() string {
7326	return "TooManyTagsException"
7327}
7328
7329// Message returns the exception's message.
7330func (s *TooManyTagsException) Message() string {
7331	if s.Message_ != nil {
7332		return *s.Message_
7333	}
7334	return ""
7335}
7336
7337// OrigErr always returns nil, satisfies awserr.Error interface.
7338func (s *TooManyTagsException) OrigErr() error {
7339	return nil
7340}
7341
7342func (s *TooManyTagsException) Error() string {
7343	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7344}
7345
7346// Status code returns the HTTP status code for the request's response error.
7347func (s *TooManyTagsException) StatusCode() int {
7348	return s.RespMetadata.StatusCode
7349}
7350
7351// RequestID returns the service's response RequestID for request.
7352func (s *TooManyTagsException) RequestID() string {
7353	return s.RespMetadata.RequestID
7354}
7355
7356type UntagResourceInput struct {
7357	_ struct{} `type:"structure"`
7358
7359	// The Amazon Resource Name (ARN) of the resource. For more information about
7360	// ARNs and their format, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
7361	// in the AWS General Reference.
7362	//
7363	// ResourceArn is a required field
7364	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
7365
7366	// The tag keys.
7367	//
7368	// TagKeys is a required field
7369	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
7370}
7371
7372// String returns the string representation
7373func (s UntagResourceInput) String() string {
7374	return awsutil.Prettify(s)
7375}
7376
7377// GoString returns the string representation
7378func (s UntagResourceInput) GoString() string {
7379	return s.String()
7380}
7381
7382// Validate inspects the fields of the type to determine if they are valid.
7383func (s *UntagResourceInput) Validate() error {
7384	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
7385	if s.ResourceArn == nil {
7386		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
7387	}
7388	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
7389		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
7390	}
7391	if s.TagKeys == nil {
7392		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
7393	}
7394
7395	if invalidParams.Len() > 0 {
7396		return invalidParams
7397	}
7398	return nil
7399}
7400
7401// SetResourceArn sets the ResourceArn field's value.
7402func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
7403	s.ResourceArn = &v
7404	return s
7405}
7406
7407// SetTagKeys sets the TagKeys field's value.
7408func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
7409	s.TagKeys = v
7410	return s
7411}
7412
7413type UntagResourceOutput struct {
7414	_ struct{} `type:"structure"`
7415}
7416
7417// String returns the string representation
7418func (s UntagResourceOutput) String() string {
7419	return awsutil.Prettify(s)
7420}
7421
7422// GoString returns the string representation
7423func (s UntagResourceOutput) GoString() string {
7424	return s.String()
7425}
7426
7427type UpdateMemberInput struct {
7428	_ struct{} `type:"structure"`
7429
7430	// Configuration properties for publishing to Amazon CloudWatch Logs.
7431	LogPublishingConfiguration *MemberLogPublishingConfiguration `type:"structure"`
7432
7433	// The unique identifier of the member.
7434	//
7435	// MemberId is a required field
7436	MemberId *string `location:"uri" locationName:"memberId" min:"1" type:"string" required:"true"`
7437
7438	// The unique identifier of the Managed Blockchain network to which the member
7439	// belongs.
7440	//
7441	// NetworkId is a required field
7442	NetworkId *string `location:"uri" locationName:"networkId" min:"1" type:"string" required:"true"`
7443}
7444
7445// String returns the string representation
7446func (s UpdateMemberInput) String() string {
7447	return awsutil.Prettify(s)
7448}
7449
7450// GoString returns the string representation
7451func (s UpdateMemberInput) GoString() string {
7452	return s.String()
7453}
7454
7455// Validate inspects the fields of the type to determine if they are valid.
7456func (s *UpdateMemberInput) Validate() error {
7457	invalidParams := request.ErrInvalidParams{Context: "UpdateMemberInput"}
7458	if s.MemberId == nil {
7459		invalidParams.Add(request.NewErrParamRequired("MemberId"))
7460	}
7461	if s.MemberId != nil && len(*s.MemberId) < 1 {
7462		invalidParams.Add(request.NewErrParamMinLen("MemberId", 1))
7463	}
7464	if s.NetworkId == nil {
7465		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
7466	}
7467	if s.NetworkId != nil && len(*s.NetworkId) < 1 {
7468		invalidParams.Add(request.NewErrParamMinLen("NetworkId", 1))
7469	}
7470
7471	if invalidParams.Len() > 0 {
7472		return invalidParams
7473	}
7474	return nil
7475}
7476
7477// SetLogPublishingConfiguration sets the LogPublishingConfiguration field's value.
7478func (s *UpdateMemberInput) SetLogPublishingConfiguration(v *MemberLogPublishingConfiguration) *UpdateMemberInput {
7479	s.LogPublishingConfiguration = v
7480	return s
7481}
7482
7483// SetMemberId sets the MemberId field's value.
7484func (s *UpdateMemberInput) SetMemberId(v string) *UpdateMemberInput {
7485	s.MemberId = &v
7486	return s
7487}
7488
7489// SetNetworkId sets the NetworkId field's value.
7490func (s *UpdateMemberInput) SetNetworkId(v string) *UpdateMemberInput {
7491	s.NetworkId = &v
7492	return s
7493}
7494
7495type UpdateMemberOutput struct {
7496	_ struct{} `type:"structure"`
7497}
7498
7499// String returns the string representation
7500func (s UpdateMemberOutput) String() string {
7501	return awsutil.Prettify(s)
7502}
7503
7504// GoString returns the string representation
7505func (s UpdateMemberOutput) GoString() string {
7506	return s.String()
7507}
7508
7509type UpdateNodeInput struct {
7510	_ struct{} `type:"structure"`
7511
7512	// Configuration properties for publishing to Amazon CloudWatch Logs.
7513	LogPublishingConfiguration *NodeLogPublishingConfiguration `type:"structure"`
7514
7515	// The unique identifier of the member that owns the node.
7516	//
7517	// Applies only to Hyperledger Fabric.
7518	MemberId *string `min:"1" type:"string"`
7519
7520	// The unique identifier of the network that the node is on.
7521	//
7522	// NetworkId is a required field
7523	NetworkId *string `location:"uri" locationName:"networkId" min:"1" type:"string" required:"true"`
7524
7525	// The unique identifier of the node.
7526	//
7527	// NodeId is a required field
7528	NodeId *string `location:"uri" locationName:"nodeId" min:"1" type:"string" required:"true"`
7529}
7530
7531// String returns the string representation
7532func (s UpdateNodeInput) String() string {
7533	return awsutil.Prettify(s)
7534}
7535
7536// GoString returns the string representation
7537func (s UpdateNodeInput) GoString() string {
7538	return s.String()
7539}
7540
7541// Validate inspects the fields of the type to determine if they are valid.
7542func (s *UpdateNodeInput) Validate() error {
7543	invalidParams := request.ErrInvalidParams{Context: "UpdateNodeInput"}
7544	if s.MemberId != nil && len(*s.MemberId) < 1 {
7545		invalidParams.Add(request.NewErrParamMinLen("MemberId", 1))
7546	}
7547	if s.NetworkId == nil {
7548		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
7549	}
7550	if s.NetworkId != nil && len(*s.NetworkId) < 1 {
7551		invalidParams.Add(request.NewErrParamMinLen("NetworkId", 1))
7552	}
7553	if s.NodeId == nil {
7554		invalidParams.Add(request.NewErrParamRequired("NodeId"))
7555	}
7556	if s.NodeId != nil && len(*s.NodeId) < 1 {
7557		invalidParams.Add(request.NewErrParamMinLen("NodeId", 1))
7558	}
7559
7560	if invalidParams.Len() > 0 {
7561		return invalidParams
7562	}
7563	return nil
7564}
7565
7566// SetLogPublishingConfiguration sets the LogPublishingConfiguration field's value.
7567func (s *UpdateNodeInput) SetLogPublishingConfiguration(v *NodeLogPublishingConfiguration) *UpdateNodeInput {
7568	s.LogPublishingConfiguration = v
7569	return s
7570}
7571
7572// SetMemberId sets the MemberId field's value.
7573func (s *UpdateNodeInput) SetMemberId(v string) *UpdateNodeInput {
7574	s.MemberId = &v
7575	return s
7576}
7577
7578// SetNetworkId sets the NetworkId field's value.
7579func (s *UpdateNodeInput) SetNetworkId(v string) *UpdateNodeInput {
7580	s.NetworkId = &v
7581	return s
7582}
7583
7584// SetNodeId sets the NodeId field's value.
7585func (s *UpdateNodeInput) SetNodeId(v string) *UpdateNodeInput {
7586	s.NodeId = &v
7587	return s
7588}
7589
7590type UpdateNodeOutput struct {
7591	_ struct{} `type:"structure"`
7592}
7593
7594// String returns the string representation
7595func (s UpdateNodeOutput) String() string {
7596	return awsutil.Prettify(s)
7597}
7598
7599// GoString returns the string representation
7600func (s UpdateNodeOutput) GoString() string {
7601	return s.String()
7602}
7603
7604type VoteOnProposalInput struct {
7605	_ struct{} `type:"structure"`
7606
7607	// The unique identifier of the network.
7608	//
7609	// NetworkId is a required field
7610	NetworkId *string `location:"uri" locationName:"networkId" min:"1" type:"string" required:"true"`
7611
7612	// The unique identifier of the proposal.
7613	//
7614	// ProposalId is a required field
7615	ProposalId *string `location:"uri" locationName:"proposalId" min:"1" type:"string" required:"true"`
7616
7617	// The value of the vote.
7618	//
7619	// Vote is a required field
7620	Vote *string `type:"string" required:"true" enum:"VoteValue"`
7621
7622	// The unique identifier of the member casting the vote.
7623	//
7624	// VoterMemberId is a required field
7625	VoterMemberId *string `min:"1" type:"string" required:"true"`
7626}
7627
7628// String returns the string representation
7629func (s VoteOnProposalInput) String() string {
7630	return awsutil.Prettify(s)
7631}
7632
7633// GoString returns the string representation
7634func (s VoteOnProposalInput) GoString() string {
7635	return s.String()
7636}
7637
7638// Validate inspects the fields of the type to determine if they are valid.
7639func (s *VoteOnProposalInput) Validate() error {
7640	invalidParams := request.ErrInvalidParams{Context: "VoteOnProposalInput"}
7641	if s.NetworkId == nil {
7642		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
7643	}
7644	if s.NetworkId != nil && len(*s.NetworkId) < 1 {
7645		invalidParams.Add(request.NewErrParamMinLen("NetworkId", 1))
7646	}
7647	if s.ProposalId == nil {
7648		invalidParams.Add(request.NewErrParamRequired("ProposalId"))
7649	}
7650	if s.ProposalId != nil && len(*s.ProposalId) < 1 {
7651		invalidParams.Add(request.NewErrParamMinLen("ProposalId", 1))
7652	}
7653	if s.Vote == nil {
7654		invalidParams.Add(request.NewErrParamRequired("Vote"))
7655	}
7656	if s.VoterMemberId == nil {
7657		invalidParams.Add(request.NewErrParamRequired("VoterMemberId"))
7658	}
7659	if s.VoterMemberId != nil && len(*s.VoterMemberId) < 1 {
7660		invalidParams.Add(request.NewErrParamMinLen("VoterMemberId", 1))
7661	}
7662
7663	if invalidParams.Len() > 0 {
7664		return invalidParams
7665	}
7666	return nil
7667}
7668
7669// SetNetworkId sets the NetworkId field's value.
7670func (s *VoteOnProposalInput) SetNetworkId(v string) *VoteOnProposalInput {
7671	s.NetworkId = &v
7672	return s
7673}
7674
7675// SetProposalId sets the ProposalId field's value.
7676func (s *VoteOnProposalInput) SetProposalId(v string) *VoteOnProposalInput {
7677	s.ProposalId = &v
7678	return s
7679}
7680
7681// SetVote sets the Vote field's value.
7682func (s *VoteOnProposalInput) SetVote(v string) *VoteOnProposalInput {
7683	s.Vote = &v
7684	return s
7685}
7686
7687// SetVoterMemberId sets the VoterMemberId field's value.
7688func (s *VoteOnProposalInput) SetVoterMemberId(v string) *VoteOnProposalInput {
7689	s.VoterMemberId = &v
7690	return s
7691}
7692
7693type VoteOnProposalOutput struct {
7694	_ struct{} `type:"structure"`
7695}
7696
7697// String returns the string representation
7698func (s VoteOnProposalOutput) String() string {
7699	return awsutil.Prettify(s)
7700}
7701
7702// GoString returns the string representation
7703func (s VoteOnProposalOutput) GoString() string {
7704	return s.String()
7705}
7706
7707// Properties of an individual vote that a member cast for a proposal.
7708//
7709// Applies only to Hyperledger Fabric.
7710type VoteSummary struct {
7711	_ struct{} `type:"structure"`
7712
7713	// The unique identifier of the member that cast the vote.
7714	MemberId *string `min:"1" type:"string"`
7715
7716	// The name of the member that cast the vote.
7717	MemberName *string `min:"1" type:"string"`
7718
7719	// The vote value, either YES or NO.
7720	Vote *string `type:"string" enum:"VoteValue"`
7721}
7722
7723// String returns the string representation
7724func (s VoteSummary) String() string {
7725	return awsutil.Prettify(s)
7726}
7727
7728// GoString returns the string representation
7729func (s VoteSummary) GoString() string {
7730	return s.String()
7731}
7732
7733// SetMemberId sets the MemberId field's value.
7734func (s *VoteSummary) SetMemberId(v string) *VoteSummary {
7735	s.MemberId = &v
7736	return s
7737}
7738
7739// SetMemberName sets the MemberName field's value.
7740func (s *VoteSummary) SetMemberName(v string) *VoteSummary {
7741	s.MemberName = &v
7742	return s
7743}
7744
7745// SetVote sets the Vote field's value.
7746func (s *VoteSummary) SetVote(v string) *VoteSummary {
7747	s.Vote = &v
7748	return s
7749}
7750
7751// The voting rules for the network to decide if a proposal is accepted
7752//
7753// Applies only to Hyperledger Fabric.
7754type VotingPolicy struct {
7755	_ struct{} `type:"structure"`
7756
7757	// Defines the rules for the network for voting on proposals, such as the percentage
7758	// of YES votes required for the proposal to be approved and the duration of
7759	// the proposal. The policy applies to all proposals and is specified when the
7760	// network is created.
7761	ApprovalThresholdPolicy *ApprovalThresholdPolicy `type:"structure"`
7762}
7763
7764// String returns the string representation
7765func (s VotingPolicy) String() string {
7766	return awsutil.Prettify(s)
7767}
7768
7769// GoString returns the string representation
7770func (s VotingPolicy) GoString() string {
7771	return s.String()
7772}
7773
7774// Validate inspects the fields of the type to determine if they are valid.
7775func (s *VotingPolicy) Validate() error {
7776	invalidParams := request.ErrInvalidParams{Context: "VotingPolicy"}
7777	if s.ApprovalThresholdPolicy != nil {
7778		if err := s.ApprovalThresholdPolicy.Validate(); err != nil {
7779			invalidParams.AddNested("ApprovalThresholdPolicy", err.(request.ErrInvalidParams))
7780		}
7781	}
7782
7783	if invalidParams.Len() > 0 {
7784		return invalidParams
7785	}
7786	return nil
7787}
7788
7789// SetApprovalThresholdPolicy sets the ApprovalThresholdPolicy field's value.
7790func (s *VotingPolicy) SetApprovalThresholdPolicy(v *ApprovalThresholdPolicy) *VotingPolicy {
7791	s.ApprovalThresholdPolicy = v
7792	return s
7793}
7794
7795const (
7796	// EditionStarter is a Edition enum value
7797	EditionStarter = "STARTER"
7798
7799	// EditionStandard is a Edition enum value
7800	EditionStandard = "STANDARD"
7801)
7802
7803// Edition_Values returns all elements of the Edition enum
7804func Edition_Values() []string {
7805	return []string{
7806		EditionStarter,
7807		EditionStandard,
7808	}
7809}
7810
7811const (
7812	// FrameworkHyperledgerFabric is a Framework enum value
7813	FrameworkHyperledgerFabric = "HYPERLEDGER_FABRIC"
7814
7815	// FrameworkEthereum is a Framework enum value
7816	FrameworkEthereum = "ETHEREUM"
7817)
7818
7819// Framework_Values returns all elements of the Framework enum
7820func Framework_Values() []string {
7821	return []string{
7822		FrameworkHyperledgerFabric,
7823		FrameworkEthereum,
7824	}
7825}
7826
7827const (
7828	// InvitationStatusPending is a InvitationStatus enum value
7829	InvitationStatusPending = "PENDING"
7830
7831	// InvitationStatusAccepted is a InvitationStatus enum value
7832	InvitationStatusAccepted = "ACCEPTED"
7833
7834	// InvitationStatusAccepting is a InvitationStatus enum value
7835	InvitationStatusAccepting = "ACCEPTING"
7836
7837	// InvitationStatusRejected is a InvitationStatus enum value
7838	InvitationStatusRejected = "REJECTED"
7839
7840	// InvitationStatusExpired is a InvitationStatus enum value
7841	InvitationStatusExpired = "EXPIRED"
7842)
7843
7844// InvitationStatus_Values returns all elements of the InvitationStatus enum
7845func InvitationStatus_Values() []string {
7846	return []string{
7847		InvitationStatusPending,
7848		InvitationStatusAccepted,
7849		InvitationStatusAccepting,
7850		InvitationStatusRejected,
7851		InvitationStatusExpired,
7852	}
7853}
7854
7855const (
7856	// MemberStatusCreating is a MemberStatus enum value
7857	MemberStatusCreating = "CREATING"
7858
7859	// MemberStatusAvailable is a MemberStatus enum value
7860	MemberStatusAvailable = "AVAILABLE"
7861
7862	// MemberStatusCreateFailed is a MemberStatus enum value
7863	MemberStatusCreateFailed = "CREATE_FAILED"
7864
7865	// MemberStatusUpdating is a MemberStatus enum value
7866	MemberStatusUpdating = "UPDATING"
7867
7868	// MemberStatusDeleting is a MemberStatus enum value
7869	MemberStatusDeleting = "DELETING"
7870
7871	// MemberStatusDeleted is a MemberStatus enum value
7872	MemberStatusDeleted = "DELETED"
7873
7874	// MemberStatusInaccessibleEncryptionKey is a MemberStatus enum value
7875	MemberStatusInaccessibleEncryptionKey = "INACCESSIBLE_ENCRYPTION_KEY"
7876)
7877
7878// MemberStatus_Values returns all elements of the MemberStatus enum
7879func MemberStatus_Values() []string {
7880	return []string{
7881		MemberStatusCreating,
7882		MemberStatusAvailable,
7883		MemberStatusCreateFailed,
7884		MemberStatusUpdating,
7885		MemberStatusDeleting,
7886		MemberStatusDeleted,
7887		MemberStatusInaccessibleEncryptionKey,
7888	}
7889}
7890
7891const (
7892	// NetworkStatusCreating is a NetworkStatus enum value
7893	NetworkStatusCreating = "CREATING"
7894
7895	// NetworkStatusAvailable is a NetworkStatus enum value
7896	NetworkStatusAvailable = "AVAILABLE"
7897
7898	// NetworkStatusCreateFailed is a NetworkStatus enum value
7899	NetworkStatusCreateFailed = "CREATE_FAILED"
7900
7901	// NetworkStatusDeleting is a NetworkStatus enum value
7902	NetworkStatusDeleting = "DELETING"
7903
7904	// NetworkStatusDeleted is a NetworkStatus enum value
7905	NetworkStatusDeleted = "DELETED"
7906)
7907
7908// NetworkStatus_Values returns all elements of the NetworkStatus enum
7909func NetworkStatus_Values() []string {
7910	return []string{
7911		NetworkStatusCreating,
7912		NetworkStatusAvailable,
7913		NetworkStatusCreateFailed,
7914		NetworkStatusDeleting,
7915		NetworkStatusDeleted,
7916	}
7917}
7918
7919const (
7920	// NodeStatusCreating is a NodeStatus enum value
7921	NodeStatusCreating = "CREATING"
7922
7923	// NodeStatusAvailable is a NodeStatus enum value
7924	NodeStatusAvailable = "AVAILABLE"
7925
7926	// NodeStatusUnhealthy is a NodeStatus enum value
7927	NodeStatusUnhealthy = "UNHEALTHY"
7928
7929	// NodeStatusCreateFailed is a NodeStatus enum value
7930	NodeStatusCreateFailed = "CREATE_FAILED"
7931
7932	// NodeStatusUpdating is a NodeStatus enum value
7933	NodeStatusUpdating = "UPDATING"
7934
7935	// NodeStatusDeleting is a NodeStatus enum value
7936	NodeStatusDeleting = "DELETING"
7937
7938	// NodeStatusDeleted is a NodeStatus enum value
7939	NodeStatusDeleted = "DELETED"
7940
7941	// NodeStatusFailed is a NodeStatus enum value
7942	NodeStatusFailed = "FAILED"
7943
7944	// NodeStatusInaccessibleEncryptionKey is a NodeStatus enum value
7945	NodeStatusInaccessibleEncryptionKey = "INACCESSIBLE_ENCRYPTION_KEY"
7946)
7947
7948// NodeStatus_Values returns all elements of the NodeStatus enum
7949func NodeStatus_Values() []string {
7950	return []string{
7951		NodeStatusCreating,
7952		NodeStatusAvailable,
7953		NodeStatusUnhealthy,
7954		NodeStatusCreateFailed,
7955		NodeStatusUpdating,
7956		NodeStatusDeleting,
7957		NodeStatusDeleted,
7958		NodeStatusFailed,
7959		NodeStatusInaccessibleEncryptionKey,
7960	}
7961}
7962
7963const (
7964	// ProposalStatusInProgress is a ProposalStatus enum value
7965	ProposalStatusInProgress = "IN_PROGRESS"
7966
7967	// ProposalStatusApproved is a ProposalStatus enum value
7968	ProposalStatusApproved = "APPROVED"
7969
7970	// ProposalStatusRejected is a ProposalStatus enum value
7971	ProposalStatusRejected = "REJECTED"
7972
7973	// ProposalStatusExpired is a ProposalStatus enum value
7974	ProposalStatusExpired = "EXPIRED"
7975
7976	// ProposalStatusActionFailed is a ProposalStatus enum value
7977	ProposalStatusActionFailed = "ACTION_FAILED"
7978)
7979
7980// ProposalStatus_Values returns all elements of the ProposalStatus enum
7981func ProposalStatus_Values() []string {
7982	return []string{
7983		ProposalStatusInProgress,
7984		ProposalStatusApproved,
7985		ProposalStatusRejected,
7986		ProposalStatusExpired,
7987		ProposalStatusActionFailed,
7988	}
7989}
7990
7991const (
7992	// StateDBTypeLevelDb is a StateDBType enum value
7993	StateDBTypeLevelDb = "LevelDB"
7994
7995	// StateDBTypeCouchDb is a StateDBType enum value
7996	StateDBTypeCouchDb = "CouchDB"
7997)
7998
7999// StateDBType_Values returns all elements of the StateDBType enum
8000func StateDBType_Values() []string {
8001	return []string{
8002		StateDBTypeLevelDb,
8003		StateDBTypeCouchDb,
8004	}
8005}
8006
8007const (
8008	// ThresholdComparatorGreaterThan is a ThresholdComparator enum value
8009	ThresholdComparatorGreaterThan = "GREATER_THAN"
8010
8011	// ThresholdComparatorGreaterThanOrEqualTo is a ThresholdComparator enum value
8012	ThresholdComparatorGreaterThanOrEqualTo = "GREATER_THAN_OR_EQUAL_TO"
8013)
8014
8015// ThresholdComparator_Values returns all elements of the ThresholdComparator enum
8016func ThresholdComparator_Values() []string {
8017	return []string{
8018		ThresholdComparatorGreaterThan,
8019		ThresholdComparatorGreaterThanOrEqualTo,
8020	}
8021}
8022
8023const (
8024	// VoteValueYes is a VoteValue enum value
8025	VoteValueYes = "YES"
8026
8027	// VoteValueNo is a VoteValue enum value
8028	VoteValueNo = "NO"
8029)
8030
8031// VoteValue_Values returns all elements of the VoteValue enum
8032func VoteValue_Values() []string {
8033	return []string{
8034		VoteValueYes,
8035		VoteValueNo,
8036	}
8037}
8038