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.
2717//
2718// API parameter values that are decorated as "sensitive" in the API will not
2719// be included in the string output. The member name will be present, but the
2720// value will be replaced with "sensitive".
2721func (s AccessDeniedException) String() string {
2722	return awsutil.Prettify(s)
2723}
2724
2725// GoString returns the string representation.
2726//
2727// API parameter values that are decorated as "sensitive" in the API will not
2728// be included in the string output. The member name will be present, but the
2729// value will be replaced with "sensitive".
2730func (s AccessDeniedException) GoString() string {
2731	return s.String()
2732}
2733
2734func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
2735	return &AccessDeniedException{
2736		RespMetadata: v,
2737	}
2738}
2739
2740// Code returns the exception type name.
2741func (s *AccessDeniedException) Code() string {
2742	return "AccessDeniedException"
2743}
2744
2745// Message returns the exception's message.
2746func (s *AccessDeniedException) Message() string {
2747	if s.Message_ != nil {
2748		return *s.Message_
2749	}
2750	return ""
2751}
2752
2753// OrigErr always returns nil, satisfies awserr.Error interface.
2754func (s *AccessDeniedException) OrigErr() error {
2755	return nil
2756}
2757
2758func (s *AccessDeniedException) Error() string {
2759	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2760}
2761
2762// Status code returns the HTTP status code for the request's response error.
2763func (s *AccessDeniedException) StatusCode() int {
2764	return s.RespMetadata.StatusCode
2765}
2766
2767// RequestID returns the service's response RequestID for request.
2768func (s *AccessDeniedException) RequestID() string {
2769	return s.RespMetadata.RequestID
2770}
2771
2772// A policy type that defines the voting rules for the network. The rules decide
2773// if a proposal is approved. Approval may be based on criteria such as the
2774// percentage of YES votes and the duration of the proposal. The policy applies
2775// to all proposals and is specified when the network is created.
2776//
2777// Applies only to Hyperledger Fabric.
2778type ApprovalThresholdPolicy struct {
2779	_ struct{} `type:"structure"`
2780
2781	// The duration from the time that a proposal is created until it expires. If
2782	// members cast neither the required number of YES votes to approve the proposal
2783	// nor the number of NO votes required to reject it before the duration expires,
2784	// the proposal is EXPIRED and ProposalActions are not carried out.
2785	ProposalDurationInHours *int64 `min:"1" type:"integer"`
2786
2787	// Determines whether the vote percentage must be greater than the ThresholdPercentage
2788	// or must be greater than or equal to the ThreholdPercentage to be approved.
2789	ThresholdComparator *string `type:"string" enum:"ThresholdComparator"`
2790
2791	// The percentage of votes among all members that must be YES for a proposal
2792	// to be approved. For example, a ThresholdPercentage value of 50 indicates
2793	// 50%. The ThresholdComparator determines the precise comparison. If a ThresholdPercentage
2794	// value of 50 is specified on a network with 10 members, along with a ThresholdComparator
2795	// value of GREATER_THAN, this indicates that 6 YES votes are required for the
2796	// proposal to be approved.
2797	ThresholdPercentage *int64 `type:"integer"`
2798}
2799
2800// String returns the string representation.
2801//
2802// API parameter values that are decorated as "sensitive" in the API will not
2803// be included in the string output. The member name will be present, but the
2804// value will be replaced with "sensitive".
2805func (s ApprovalThresholdPolicy) String() string {
2806	return awsutil.Prettify(s)
2807}
2808
2809// GoString returns the string representation.
2810//
2811// API parameter values that are decorated as "sensitive" in the API will not
2812// be included in the string output. The member name will be present, but the
2813// value will be replaced with "sensitive".
2814func (s ApprovalThresholdPolicy) GoString() string {
2815	return s.String()
2816}
2817
2818// Validate inspects the fields of the type to determine if they are valid.
2819func (s *ApprovalThresholdPolicy) Validate() error {
2820	invalidParams := request.ErrInvalidParams{Context: "ApprovalThresholdPolicy"}
2821	if s.ProposalDurationInHours != nil && *s.ProposalDurationInHours < 1 {
2822		invalidParams.Add(request.NewErrParamMinValue("ProposalDurationInHours", 1))
2823	}
2824
2825	if invalidParams.Len() > 0 {
2826		return invalidParams
2827	}
2828	return nil
2829}
2830
2831// SetProposalDurationInHours sets the ProposalDurationInHours field's value.
2832func (s *ApprovalThresholdPolicy) SetProposalDurationInHours(v int64) *ApprovalThresholdPolicy {
2833	s.ProposalDurationInHours = &v
2834	return s
2835}
2836
2837// SetThresholdComparator sets the ThresholdComparator field's value.
2838func (s *ApprovalThresholdPolicy) SetThresholdComparator(v string) *ApprovalThresholdPolicy {
2839	s.ThresholdComparator = &v
2840	return s
2841}
2842
2843// SetThresholdPercentage sets the ThresholdPercentage field's value.
2844func (s *ApprovalThresholdPolicy) SetThresholdPercentage(v int64) *ApprovalThresholdPolicy {
2845	s.ThresholdPercentage = &v
2846	return s
2847}
2848
2849type CreateMemberInput struct {
2850	_ struct{} `type:"structure"`
2851
2852	// A unique, case-sensitive identifier that you provide to ensure the idempotency
2853	// of the operation. An idempotent operation completes no more than one time.
2854	// This identifier is required only if you make a service request directly using
2855	// an HTTP client. It is generated automatically if you use an AWS SDK or the
2856	// AWS CLI.
2857	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
2858
2859	// The unique identifier of the invitation that is sent to the member to join
2860	// the network.
2861	//
2862	// InvitationId is a required field
2863	InvitationId *string `min:"1" type:"string" required:"true"`
2864
2865	// Member configuration parameters.
2866	//
2867	// MemberConfiguration is a required field
2868	MemberConfiguration *MemberConfiguration `type:"structure" required:"true"`
2869
2870	// The unique identifier of the network in which the member is created.
2871	//
2872	// NetworkId is a required field
2873	NetworkId *string `location:"uri" locationName:"networkId" min:"1" type:"string" required:"true"`
2874}
2875
2876// String returns the string representation.
2877//
2878// API parameter values that are decorated as "sensitive" in the API will not
2879// be included in the string output. The member name will be present, but the
2880// value will be replaced with "sensitive".
2881func (s CreateMemberInput) String() string {
2882	return awsutil.Prettify(s)
2883}
2884
2885// GoString returns the string representation.
2886//
2887// API parameter values that are decorated as "sensitive" in the API will not
2888// be included in the string output. The member name will be present, but the
2889// value will be replaced with "sensitive".
2890func (s CreateMemberInput) GoString() string {
2891	return s.String()
2892}
2893
2894// Validate inspects the fields of the type to determine if they are valid.
2895func (s *CreateMemberInput) Validate() error {
2896	invalidParams := request.ErrInvalidParams{Context: "CreateMemberInput"}
2897	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
2898		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
2899	}
2900	if s.InvitationId == nil {
2901		invalidParams.Add(request.NewErrParamRequired("InvitationId"))
2902	}
2903	if s.InvitationId != nil && len(*s.InvitationId) < 1 {
2904		invalidParams.Add(request.NewErrParamMinLen("InvitationId", 1))
2905	}
2906	if s.MemberConfiguration == nil {
2907		invalidParams.Add(request.NewErrParamRequired("MemberConfiguration"))
2908	}
2909	if s.NetworkId == nil {
2910		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
2911	}
2912	if s.NetworkId != nil && len(*s.NetworkId) < 1 {
2913		invalidParams.Add(request.NewErrParamMinLen("NetworkId", 1))
2914	}
2915	if s.MemberConfiguration != nil {
2916		if err := s.MemberConfiguration.Validate(); err != nil {
2917			invalidParams.AddNested("MemberConfiguration", err.(request.ErrInvalidParams))
2918		}
2919	}
2920
2921	if invalidParams.Len() > 0 {
2922		return invalidParams
2923	}
2924	return nil
2925}
2926
2927// SetClientRequestToken sets the ClientRequestToken field's value.
2928func (s *CreateMemberInput) SetClientRequestToken(v string) *CreateMemberInput {
2929	s.ClientRequestToken = &v
2930	return s
2931}
2932
2933// SetInvitationId sets the InvitationId field's value.
2934func (s *CreateMemberInput) SetInvitationId(v string) *CreateMemberInput {
2935	s.InvitationId = &v
2936	return s
2937}
2938
2939// SetMemberConfiguration sets the MemberConfiguration field's value.
2940func (s *CreateMemberInput) SetMemberConfiguration(v *MemberConfiguration) *CreateMemberInput {
2941	s.MemberConfiguration = v
2942	return s
2943}
2944
2945// SetNetworkId sets the NetworkId field's value.
2946func (s *CreateMemberInput) SetNetworkId(v string) *CreateMemberInput {
2947	s.NetworkId = &v
2948	return s
2949}
2950
2951type CreateMemberOutput struct {
2952	_ struct{} `type:"structure"`
2953
2954	// The unique identifier of the member.
2955	MemberId *string `min:"1" type:"string"`
2956}
2957
2958// String returns the string representation.
2959//
2960// API parameter values that are decorated as "sensitive" in the API will not
2961// be included in the string output. The member name will be present, but the
2962// value will be replaced with "sensitive".
2963func (s CreateMemberOutput) String() string {
2964	return awsutil.Prettify(s)
2965}
2966
2967// GoString returns the string representation.
2968//
2969// API parameter values that are decorated as "sensitive" in the API will not
2970// be included in the string output. The member name will be present, but the
2971// value will be replaced with "sensitive".
2972func (s CreateMemberOutput) GoString() string {
2973	return s.String()
2974}
2975
2976// SetMemberId sets the MemberId field's value.
2977func (s *CreateMemberOutput) SetMemberId(v string) *CreateMemberOutput {
2978	s.MemberId = &v
2979	return s
2980}
2981
2982type CreateNetworkInput struct {
2983	_ struct{} `type:"structure"`
2984
2985	// A unique, case-sensitive identifier that you provide to ensure the idempotency
2986	// of the operation. An idempotent operation completes no more than one time.
2987	// This identifier is required only if you make a service request directly using
2988	// an HTTP client. It is generated automatically if you use an AWS SDK or the
2989	// AWS CLI.
2990	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
2991
2992	// An optional description for the network.
2993	Description *string `type:"string"`
2994
2995	// The blockchain framework that the network uses.
2996	//
2997	// Framework is a required field
2998	Framework *string `type:"string" required:"true" enum:"Framework"`
2999
3000	// Configuration properties of the blockchain framework relevant to the network
3001	// configuration.
3002	FrameworkConfiguration *NetworkFrameworkConfiguration `type:"structure"`
3003
3004	// The version of the blockchain framework that the network uses.
3005	//
3006	// FrameworkVersion is a required field
3007	FrameworkVersion *string `min:"1" type:"string" required:"true"`
3008
3009	// Configuration properties for the first member within the network.
3010	//
3011	// MemberConfiguration is a required field
3012	MemberConfiguration *MemberConfiguration `type:"structure" required:"true"`
3013
3014	// The name of the network.
3015	//
3016	// Name is a required field
3017	Name *string `min:"1" type:"string" required:"true"`
3018
3019	// Tags to assign to the network. Each tag consists of a key and optional value.
3020	//
3021	// When specifying tags during creation, you can specify multiple key-value
3022	// pairs in a single request, with an overall maximum of 50 tags added to each
3023	// resource.
3024	//
3025	// For more information about tags, see Tagging Resources (https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html)
3026	// in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources
3027	// (https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html)
3028	// in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.
3029	Tags map[string]*string `type:"map"`
3030
3031	// The voting rules used by the network to determine if a proposal is approved.
3032	//
3033	// VotingPolicy is a required field
3034	VotingPolicy *VotingPolicy `type:"structure" required:"true"`
3035}
3036
3037// String returns the string representation.
3038//
3039// API parameter values that are decorated as "sensitive" in the API will not
3040// be included in the string output. The member name will be present, but the
3041// value will be replaced with "sensitive".
3042func (s CreateNetworkInput) String() string {
3043	return awsutil.Prettify(s)
3044}
3045
3046// GoString returns the string representation.
3047//
3048// API parameter values that are decorated as "sensitive" in the API will not
3049// be included in the string output. The member name will be present, but the
3050// value will be replaced with "sensitive".
3051func (s CreateNetworkInput) GoString() string {
3052	return s.String()
3053}
3054
3055// Validate inspects the fields of the type to determine if they are valid.
3056func (s *CreateNetworkInput) Validate() error {
3057	invalidParams := request.ErrInvalidParams{Context: "CreateNetworkInput"}
3058	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
3059		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
3060	}
3061	if s.Framework == nil {
3062		invalidParams.Add(request.NewErrParamRequired("Framework"))
3063	}
3064	if s.FrameworkVersion == nil {
3065		invalidParams.Add(request.NewErrParamRequired("FrameworkVersion"))
3066	}
3067	if s.FrameworkVersion != nil && len(*s.FrameworkVersion) < 1 {
3068		invalidParams.Add(request.NewErrParamMinLen("FrameworkVersion", 1))
3069	}
3070	if s.MemberConfiguration == nil {
3071		invalidParams.Add(request.NewErrParamRequired("MemberConfiguration"))
3072	}
3073	if s.Name == nil {
3074		invalidParams.Add(request.NewErrParamRequired("Name"))
3075	}
3076	if s.Name != nil && len(*s.Name) < 1 {
3077		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
3078	}
3079	if s.VotingPolicy == nil {
3080		invalidParams.Add(request.NewErrParamRequired("VotingPolicy"))
3081	}
3082	if s.FrameworkConfiguration != nil {
3083		if err := s.FrameworkConfiguration.Validate(); err != nil {
3084			invalidParams.AddNested("FrameworkConfiguration", err.(request.ErrInvalidParams))
3085		}
3086	}
3087	if s.MemberConfiguration != nil {
3088		if err := s.MemberConfiguration.Validate(); err != nil {
3089			invalidParams.AddNested("MemberConfiguration", err.(request.ErrInvalidParams))
3090		}
3091	}
3092	if s.VotingPolicy != nil {
3093		if err := s.VotingPolicy.Validate(); err != nil {
3094			invalidParams.AddNested("VotingPolicy", err.(request.ErrInvalidParams))
3095		}
3096	}
3097
3098	if invalidParams.Len() > 0 {
3099		return invalidParams
3100	}
3101	return nil
3102}
3103
3104// SetClientRequestToken sets the ClientRequestToken field's value.
3105func (s *CreateNetworkInput) SetClientRequestToken(v string) *CreateNetworkInput {
3106	s.ClientRequestToken = &v
3107	return s
3108}
3109
3110// SetDescription sets the Description field's value.
3111func (s *CreateNetworkInput) SetDescription(v string) *CreateNetworkInput {
3112	s.Description = &v
3113	return s
3114}
3115
3116// SetFramework sets the Framework field's value.
3117func (s *CreateNetworkInput) SetFramework(v string) *CreateNetworkInput {
3118	s.Framework = &v
3119	return s
3120}
3121
3122// SetFrameworkConfiguration sets the FrameworkConfiguration field's value.
3123func (s *CreateNetworkInput) SetFrameworkConfiguration(v *NetworkFrameworkConfiguration) *CreateNetworkInput {
3124	s.FrameworkConfiguration = v
3125	return s
3126}
3127
3128// SetFrameworkVersion sets the FrameworkVersion field's value.
3129func (s *CreateNetworkInput) SetFrameworkVersion(v string) *CreateNetworkInput {
3130	s.FrameworkVersion = &v
3131	return s
3132}
3133
3134// SetMemberConfiguration sets the MemberConfiguration field's value.
3135func (s *CreateNetworkInput) SetMemberConfiguration(v *MemberConfiguration) *CreateNetworkInput {
3136	s.MemberConfiguration = v
3137	return s
3138}
3139
3140// SetName sets the Name field's value.
3141func (s *CreateNetworkInput) SetName(v string) *CreateNetworkInput {
3142	s.Name = &v
3143	return s
3144}
3145
3146// SetTags sets the Tags field's value.
3147func (s *CreateNetworkInput) SetTags(v map[string]*string) *CreateNetworkInput {
3148	s.Tags = v
3149	return s
3150}
3151
3152// SetVotingPolicy sets the VotingPolicy field's value.
3153func (s *CreateNetworkInput) SetVotingPolicy(v *VotingPolicy) *CreateNetworkInput {
3154	s.VotingPolicy = v
3155	return s
3156}
3157
3158type CreateNetworkOutput struct {
3159	_ struct{} `type:"structure"`
3160
3161	// The unique identifier for the first member within the network.
3162	MemberId *string `min:"1" type:"string"`
3163
3164	// The unique identifier for the network.
3165	NetworkId *string `min:"1" type:"string"`
3166}
3167
3168// String returns the string representation.
3169//
3170// API parameter values that are decorated as "sensitive" in the API will not
3171// be included in the string output. The member name will be present, but the
3172// value will be replaced with "sensitive".
3173func (s CreateNetworkOutput) String() string {
3174	return awsutil.Prettify(s)
3175}
3176
3177// GoString returns the string representation.
3178//
3179// API parameter values that are decorated as "sensitive" in the API will not
3180// be included in the string output. The member name will be present, but the
3181// value will be replaced with "sensitive".
3182func (s CreateNetworkOutput) GoString() string {
3183	return s.String()
3184}
3185
3186// SetMemberId sets the MemberId field's value.
3187func (s *CreateNetworkOutput) SetMemberId(v string) *CreateNetworkOutput {
3188	s.MemberId = &v
3189	return s
3190}
3191
3192// SetNetworkId sets the NetworkId field's value.
3193func (s *CreateNetworkOutput) SetNetworkId(v string) *CreateNetworkOutput {
3194	s.NetworkId = &v
3195	return s
3196}
3197
3198type CreateNodeInput struct {
3199	_ struct{} `type:"structure"`
3200
3201	// A unique, case-sensitive identifier that you provide to ensure the idempotency
3202	// of the operation. An idempotent operation completes no more than one time.
3203	// This identifier is required only if you make a service request directly using
3204	// an HTTP client. It is generated automatically if you use an AWS SDK or the
3205	// AWS CLI.
3206	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
3207
3208	// The unique identifier of the member that owns this node.
3209	//
3210	// Applies only to Hyperledger Fabric.
3211	MemberId *string `min:"1" type:"string"`
3212
3213	// The unique identifier of the network for the node.
3214	//
3215	// Ethereum public networks have the following NetworkIds:
3216	//
3217	//    * n-ethereum-mainnet
3218	//
3219	//    * n-ethereum-rinkeby
3220	//
3221	//    * n-ethereum-ropsten
3222	//
3223	// NetworkId is a required field
3224	NetworkId *string `location:"uri" locationName:"networkId" min:"1" type:"string" required:"true"`
3225
3226	// The properties of a node configuration.
3227	//
3228	// NodeConfiguration is a required field
3229	NodeConfiguration *NodeConfiguration `type:"structure" required:"true"`
3230
3231	// Tags to assign to the node. Each tag consists of a key and optional value.
3232	//
3233	// When specifying tags during creation, you can specify multiple key-value
3234	// pairs in a single request, with an overall maximum of 50 tags added to each
3235	// resource.
3236	//
3237	// For more information about tags, see Tagging Resources (https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html)
3238	// in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources
3239	// (https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html)
3240	// in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.
3241	Tags map[string]*string `type:"map"`
3242}
3243
3244// String returns the string representation.
3245//
3246// API parameter values that are decorated as "sensitive" in the API will not
3247// be included in the string output. The member name will be present, but the
3248// value will be replaced with "sensitive".
3249func (s CreateNodeInput) String() string {
3250	return awsutil.Prettify(s)
3251}
3252
3253// GoString returns the string representation.
3254//
3255// API parameter values that are decorated as "sensitive" in the API will not
3256// be included in the string output. The member name will be present, but the
3257// value will be replaced with "sensitive".
3258func (s CreateNodeInput) GoString() string {
3259	return s.String()
3260}
3261
3262// Validate inspects the fields of the type to determine if they are valid.
3263func (s *CreateNodeInput) Validate() error {
3264	invalidParams := request.ErrInvalidParams{Context: "CreateNodeInput"}
3265	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
3266		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
3267	}
3268	if s.MemberId != nil && len(*s.MemberId) < 1 {
3269		invalidParams.Add(request.NewErrParamMinLen("MemberId", 1))
3270	}
3271	if s.NetworkId == nil {
3272		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
3273	}
3274	if s.NetworkId != nil && len(*s.NetworkId) < 1 {
3275		invalidParams.Add(request.NewErrParamMinLen("NetworkId", 1))
3276	}
3277	if s.NodeConfiguration == nil {
3278		invalidParams.Add(request.NewErrParamRequired("NodeConfiguration"))
3279	}
3280	if s.NodeConfiguration != nil {
3281		if err := s.NodeConfiguration.Validate(); err != nil {
3282			invalidParams.AddNested("NodeConfiguration", err.(request.ErrInvalidParams))
3283		}
3284	}
3285
3286	if invalidParams.Len() > 0 {
3287		return invalidParams
3288	}
3289	return nil
3290}
3291
3292// SetClientRequestToken sets the ClientRequestToken field's value.
3293func (s *CreateNodeInput) SetClientRequestToken(v string) *CreateNodeInput {
3294	s.ClientRequestToken = &v
3295	return s
3296}
3297
3298// SetMemberId sets the MemberId field's value.
3299func (s *CreateNodeInput) SetMemberId(v string) *CreateNodeInput {
3300	s.MemberId = &v
3301	return s
3302}
3303
3304// SetNetworkId sets the NetworkId field's value.
3305func (s *CreateNodeInput) SetNetworkId(v string) *CreateNodeInput {
3306	s.NetworkId = &v
3307	return s
3308}
3309
3310// SetNodeConfiguration sets the NodeConfiguration field's value.
3311func (s *CreateNodeInput) SetNodeConfiguration(v *NodeConfiguration) *CreateNodeInput {
3312	s.NodeConfiguration = v
3313	return s
3314}
3315
3316// SetTags sets the Tags field's value.
3317func (s *CreateNodeInput) SetTags(v map[string]*string) *CreateNodeInput {
3318	s.Tags = v
3319	return s
3320}
3321
3322type CreateNodeOutput struct {
3323	_ struct{} `type:"structure"`
3324
3325	// The unique identifier of the node.
3326	NodeId *string `min:"1" type:"string"`
3327}
3328
3329// String returns the string representation.
3330//
3331// API parameter values that are decorated as "sensitive" in the API will not
3332// be included in the string output. The member name will be present, but the
3333// value will be replaced with "sensitive".
3334func (s CreateNodeOutput) String() string {
3335	return awsutil.Prettify(s)
3336}
3337
3338// GoString returns the string representation.
3339//
3340// API parameter values that are decorated as "sensitive" in the API will not
3341// be included in the string output. The member name will be present, but the
3342// value will be replaced with "sensitive".
3343func (s CreateNodeOutput) GoString() string {
3344	return s.String()
3345}
3346
3347// SetNodeId sets the NodeId field's value.
3348func (s *CreateNodeOutput) SetNodeId(v string) *CreateNodeOutput {
3349	s.NodeId = &v
3350	return s
3351}
3352
3353type CreateProposalInput struct {
3354	_ struct{} `type:"structure"`
3355
3356	// The type of actions proposed, such as inviting a member or removing a member.
3357	// The types of Actions in a proposal are mutually exclusive. For example, a
3358	// proposal with Invitations actions cannot also contain Removals actions.
3359	//
3360	// Actions is a required field
3361	Actions *ProposalActions `type:"structure" required:"true"`
3362
3363	// A unique, case-sensitive identifier that you provide to ensure the idempotency
3364	// of the operation. An idempotent operation completes no more than one time.
3365	// This identifier is required only if you make a service request directly using
3366	// an HTTP client. It is generated automatically if you use an AWS SDK or the
3367	// AWS CLI.
3368	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
3369
3370	// A description for the proposal that is visible to voting members, for example,
3371	// "Proposal to add Example Corp. as member."
3372	Description *string `type:"string"`
3373
3374	// The unique identifier of the member that is creating the proposal. This identifier
3375	// is especially useful for identifying the member making the proposal when
3376	// multiple members exist in a single AWS account.
3377	//
3378	// MemberId is a required field
3379	MemberId *string `min:"1" type:"string" required:"true"`
3380
3381	// The unique identifier of the network for which the proposal is made.
3382	//
3383	// NetworkId is a required field
3384	NetworkId *string `location:"uri" locationName:"networkId" min:"1" type:"string" required:"true"`
3385
3386	// Tags to assign to the proposal. Each tag consists of a key and optional value.
3387	//
3388	// When specifying tags during creation, you can specify multiple key-value
3389	// pairs in a single request, with an overall maximum of 50 tags added to each
3390	// resource. If the proposal is for a network invitation, the invitation inherits
3391	// the tags added to the proposal.
3392	//
3393	// For more information about tags, see Tagging Resources (https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html)
3394	// in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources
3395	// (https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html)
3396	// in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.
3397	Tags map[string]*string `type:"map"`
3398}
3399
3400// String returns the string representation.
3401//
3402// API parameter values that are decorated as "sensitive" in the API will not
3403// be included in the string output. The member name will be present, but the
3404// value will be replaced with "sensitive".
3405func (s CreateProposalInput) String() string {
3406	return awsutil.Prettify(s)
3407}
3408
3409// GoString returns the string representation.
3410//
3411// API parameter values that are decorated as "sensitive" in the API will not
3412// be included in the string output. The member name will be present, but the
3413// value will be replaced with "sensitive".
3414func (s CreateProposalInput) GoString() string {
3415	return s.String()
3416}
3417
3418// Validate inspects the fields of the type to determine if they are valid.
3419func (s *CreateProposalInput) Validate() error {
3420	invalidParams := request.ErrInvalidParams{Context: "CreateProposalInput"}
3421	if s.Actions == nil {
3422		invalidParams.Add(request.NewErrParamRequired("Actions"))
3423	}
3424	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
3425		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
3426	}
3427	if s.MemberId == nil {
3428		invalidParams.Add(request.NewErrParamRequired("MemberId"))
3429	}
3430	if s.MemberId != nil && len(*s.MemberId) < 1 {
3431		invalidParams.Add(request.NewErrParamMinLen("MemberId", 1))
3432	}
3433	if s.NetworkId == nil {
3434		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
3435	}
3436	if s.NetworkId != nil && len(*s.NetworkId) < 1 {
3437		invalidParams.Add(request.NewErrParamMinLen("NetworkId", 1))
3438	}
3439	if s.Actions != nil {
3440		if err := s.Actions.Validate(); err != nil {
3441			invalidParams.AddNested("Actions", err.(request.ErrInvalidParams))
3442		}
3443	}
3444
3445	if invalidParams.Len() > 0 {
3446		return invalidParams
3447	}
3448	return nil
3449}
3450
3451// SetActions sets the Actions field's value.
3452func (s *CreateProposalInput) SetActions(v *ProposalActions) *CreateProposalInput {
3453	s.Actions = v
3454	return s
3455}
3456
3457// SetClientRequestToken sets the ClientRequestToken field's value.
3458func (s *CreateProposalInput) SetClientRequestToken(v string) *CreateProposalInput {
3459	s.ClientRequestToken = &v
3460	return s
3461}
3462
3463// SetDescription sets the Description field's value.
3464func (s *CreateProposalInput) SetDescription(v string) *CreateProposalInput {
3465	s.Description = &v
3466	return s
3467}
3468
3469// SetMemberId sets the MemberId field's value.
3470func (s *CreateProposalInput) SetMemberId(v string) *CreateProposalInput {
3471	s.MemberId = &v
3472	return s
3473}
3474
3475// SetNetworkId sets the NetworkId field's value.
3476func (s *CreateProposalInput) SetNetworkId(v string) *CreateProposalInput {
3477	s.NetworkId = &v
3478	return s
3479}
3480
3481// SetTags sets the Tags field's value.
3482func (s *CreateProposalInput) SetTags(v map[string]*string) *CreateProposalInput {
3483	s.Tags = v
3484	return s
3485}
3486
3487type CreateProposalOutput struct {
3488	_ struct{} `type:"structure"`
3489
3490	// The unique identifier of the proposal.
3491	ProposalId *string `min:"1" type:"string"`
3492}
3493
3494// String returns the string representation.
3495//
3496// API parameter values that are decorated as "sensitive" in the API will not
3497// be included in the string output. The member name will be present, but the
3498// value will be replaced with "sensitive".
3499func (s CreateProposalOutput) String() string {
3500	return awsutil.Prettify(s)
3501}
3502
3503// GoString returns the string representation.
3504//
3505// API parameter values that are decorated as "sensitive" in the API will not
3506// be included in the string output. The member name will be present, but the
3507// value will be replaced with "sensitive".
3508func (s CreateProposalOutput) GoString() string {
3509	return s.String()
3510}
3511
3512// SetProposalId sets the ProposalId field's value.
3513func (s *CreateProposalOutput) SetProposalId(v string) *CreateProposalOutput {
3514	s.ProposalId = &v
3515	return s
3516}
3517
3518type DeleteMemberInput struct {
3519	_ struct{} `type:"structure" nopayload:"true"`
3520
3521	// The unique identifier of the member to remove.
3522	//
3523	// MemberId is a required field
3524	MemberId *string `location:"uri" locationName:"memberId" min:"1" type:"string" required:"true"`
3525
3526	// The unique identifier of the network from which the member is removed.
3527	//
3528	// NetworkId is a required field
3529	NetworkId *string `location:"uri" locationName:"networkId" min:"1" type:"string" required:"true"`
3530}
3531
3532// String returns the string representation.
3533//
3534// API parameter values that are decorated as "sensitive" in the API will not
3535// be included in the string output. The member name will be present, but the
3536// value will be replaced with "sensitive".
3537func (s DeleteMemberInput) String() string {
3538	return awsutil.Prettify(s)
3539}
3540
3541// GoString returns the string representation.
3542//
3543// API parameter values that are decorated as "sensitive" in the API will not
3544// be included in the string output. The member name will be present, but the
3545// value will be replaced with "sensitive".
3546func (s DeleteMemberInput) GoString() string {
3547	return s.String()
3548}
3549
3550// Validate inspects the fields of the type to determine if they are valid.
3551func (s *DeleteMemberInput) Validate() error {
3552	invalidParams := request.ErrInvalidParams{Context: "DeleteMemberInput"}
3553	if s.MemberId == nil {
3554		invalidParams.Add(request.NewErrParamRequired("MemberId"))
3555	}
3556	if s.MemberId != nil && len(*s.MemberId) < 1 {
3557		invalidParams.Add(request.NewErrParamMinLen("MemberId", 1))
3558	}
3559	if s.NetworkId == nil {
3560		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
3561	}
3562	if s.NetworkId != nil && len(*s.NetworkId) < 1 {
3563		invalidParams.Add(request.NewErrParamMinLen("NetworkId", 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 *DeleteMemberInput) SetMemberId(v string) *DeleteMemberInput {
3574	s.MemberId = &v
3575	return s
3576}
3577
3578// SetNetworkId sets the NetworkId field's value.
3579func (s *DeleteMemberInput) SetNetworkId(v string) *DeleteMemberInput {
3580	s.NetworkId = &v
3581	return s
3582}
3583
3584type DeleteMemberOutput struct {
3585	_ struct{} `type:"structure"`
3586}
3587
3588// String returns the string representation.
3589//
3590// API parameter values that are decorated as "sensitive" in the API will not
3591// be included in the string output. The member name will be present, but the
3592// value will be replaced with "sensitive".
3593func (s DeleteMemberOutput) String() string {
3594	return awsutil.Prettify(s)
3595}
3596
3597// GoString returns the string representation.
3598//
3599// API parameter values that are decorated as "sensitive" in the API will not
3600// be included in the string output. The member name will be present, but the
3601// value will be replaced with "sensitive".
3602func (s DeleteMemberOutput) GoString() string {
3603	return s.String()
3604}
3605
3606type DeleteNodeInput struct {
3607	_ struct{} `type:"structure" nopayload:"true"`
3608
3609	// The unique identifier of the member that owns this node.
3610	//
3611	// Applies only to Hyperledger Fabric and is required for Hyperledger Fabric.
3612	MemberId *string `location:"querystring" locationName:"memberId" min:"1" type:"string"`
3613
3614	// The unique identifier of the network that the node is on.
3615	//
3616	// Ethereum public networks have the following NetworkIds:
3617	//
3618	//    * n-ethereum-mainnet
3619	//
3620	//    * n-ethereum-rinkeby
3621	//
3622	//    * n-ethereum-ropsten
3623	//
3624	// NetworkId is a required field
3625	NetworkId *string `location:"uri" locationName:"networkId" min:"1" type:"string" required:"true"`
3626
3627	// The unique identifier of the node.
3628	//
3629	// NodeId is a required field
3630	NodeId *string `location:"uri" locationName:"nodeId" min:"1" type:"string" required:"true"`
3631}
3632
3633// String returns the string representation.
3634//
3635// API parameter values that are decorated as "sensitive" in the API will not
3636// be included in the string output. The member name will be present, but the
3637// value will be replaced with "sensitive".
3638func (s DeleteNodeInput) String() string {
3639	return awsutil.Prettify(s)
3640}
3641
3642// GoString returns the string representation.
3643//
3644// API parameter values that are decorated as "sensitive" in the API will not
3645// be included in the string output. The member name will be present, but the
3646// value will be replaced with "sensitive".
3647func (s DeleteNodeInput) GoString() string {
3648	return s.String()
3649}
3650
3651// Validate inspects the fields of the type to determine if they are valid.
3652func (s *DeleteNodeInput) Validate() error {
3653	invalidParams := request.ErrInvalidParams{Context: "DeleteNodeInput"}
3654	if s.MemberId != nil && len(*s.MemberId) < 1 {
3655		invalidParams.Add(request.NewErrParamMinLen("MemberId", 1))
3656	}
3657	if s.NetworkId == nil {
3658		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
3659	}
3660	if s.NetworkId != nil && len(*s.NetworkId) < 1 {
3661		invalidParams.Add(request.NewErrParamMinLen("NetworkId", 1))
3662	}
3663	if s.NodeId == nil {
3664		invalidParams.Add(request.NewErrParamRequired("NodeId"))
3665	}
3666	if s.NodeId != nil && len(*s.NodeId) < 1 {
3667		invalidParams.Add(request.NewErrParamMinLen("NodeId", 1))
3668	}
3669
3670	if invalidParams.Len() > 0 {
3671		return invalidParams
3672	}
3673	return nil
3674}
3675
3676// SetMemberId sets the MemberId field's value.
3677func (s *DeleteNodeInput) SetMemberId(v string) *DeleteNodeInput {
3678	s.MemberId = &v
3679	return s
3680}
3681
3682// SetNetworkId sets the NetworkId field's value.
3683func (s *DeleteNodeInput) SetNetworkId(v string) *DeleteNodeInput {
3684	s.NetworkId = &v
3685	return s
3686}
3687
3688// SetNodeId sets the NodeId field's value.
3689func (s *DeleteNodeInput) SetNodeId(v string) *DeleteNodeInput {
3690	s.NodeId = &v
3691	return s
3692}
3693
3694type DeleteNodeOutput struct {
3695	_ struct{} `type:"structure"`
3696}
3697
3698// String returns the string representation.
3699//
3700// API parameter values that are decorated as "sensitive" in the API will not
3701// be included in the string output. The member name will be present, but the
3702// value will be replaced with "sensitive".
3703func (s DeleteNodeOutput) String() string {
3704	return awsutil.Prettify(s)
3705}
3706
3707// GoString returns the string representation.
3708//
3709// API parameter values that are decorated as "sensitive" in the API will not
3710// be included in the string output. The member name will be present, but the
3711// value will be replaced with "sensitive".
3712func (s DeleteNodeOutput) GoString() string {
3713	return s.String()
3714}
3715
3716type GetMemberInput struct {
3717	_ struct{} `type:"structure" nopayload:"true"`
3718
3719	// The unique identifier of the member.
3720	//
3721	// MemberId is a required field
3722	MemberId *string `location:"uri" locationName:"memberId" min:"1" type:"string" required:"true"`
3723
3724	// The unique identifier of the network to which the member belongs.
3725	//
3726	// NetworkId is a required field
3727	NetworkId *string `location:"uri" locationName:"networkId" min:"1" type:"string" required:"true"`
3728}
3729
3730// String returns the string representation.
3731//
3732// API parameter values that are decorated as "sensitive" in the API will not
3733// be included in the string output. The member name will be present, but the
3734// value will be replaced with "sensitive".
3735func (s GetMemberInput) String() string {
3736	return awsutil.Prettify(s)
3737}
3738
3739// GoString returns the string representation.
3740//
3741// API parameter values that are decorated as "sensitive" in the API will not
3742// be included in the string output. The member name will be present, but the
3743// value will be replaced with "sensitive".
3744func (s GetMemberInput) GoString() string {
3745	return s.String()
3746}
3747
3748// Validate inspects the fields of the type to determine if they are valid.
3749func (s *GetMemberInput) Validate() error {
3750	invalidParams := request.ErrInvalidParams{Context: "GetMemberInput"}
3751	if s.MemberId == nil {
3752		invalidParams.Add(request.NewErrParamRequired("MemberId"))
3753	}
3754	if s.MemberId != nil && len(*s.MemberId) < 1 {
3755		invalidParams.Add(request.NewErrParamMinLen("MemberId", 1))
3756	}
3757	if s.NetworkId == nil {
3758		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
3759	}
3760	if s.NetworkId != nil && len(*s.NetworkId) < 1 {
3761		invalidParams.Add(request.NewErrParamMinLen("NetworkId", 1))
3762	}
3763
3764	if invalidParams.Len() > 0 {
3765		return invalidParams
3766	}
3767	return nil
3768}
3769
3770// SetMemberId sets the MemberId field's value.
3771func (s *GetMemberInput) SetMemberId(v string) *GetMemberInput {
3772	s.MemberId = &v
3773	return s
3774}
3775
3776// SetNetworkId sets the NetworkId field's value.
3777func (s *GetMemberInput) SetNetworkId(v string) *GetMemberInput {
3778	s.NetworkId = &v
3779	return s
3780}
3781
3782type GetMemberOutput struct {
3783	_ struct{} `type:"structure"`
3784
3785	// The properties of a member.
3786	Member *Member `type:"structure"`
3787}
3788
3789// String returns the string representation.
3790//
3791// API parameter values that are decorated as "sensitive" in the API will not
3792// be included in the string output. The member name will be present, but the
3793// value will be replaced with "sensitive".
3794func (s GetMemberOutput) String() string {
3795	return awsutil.Prettify(s)
3796}
3797
3798// GoString returns the string representation.
3799//
3800// API parameter values that are decorated as "sensitive" in the API will not
3801// be included in the string output. The member name will be present, but the
3802// value will be replaced with "sensitive".
3803func (s GetMemberOutput) GoString() string {
3804	return s.String()
3805}
3806
3807// SetMember sets the Member field's value.
3808func (s *GetMemberOutput) SetMember(v *Member) *GetMemberOutput {
3809	s.Member = v
3810	return s
3811}
3812
3813type GetNetworkInput struct {
3814	_ struct{} `type:"structure" nopayload:"true"`
3815
3816	// The unique identifier of the network to get information about.
3817	//
3818	// NetworkId is a required field
3819	NetworkId *string `location:"uri" locationName:"networkId" min:"1" type:"string" required:"true"`
3820}
3821
3822// String returns the string representation.
3823//
3824// API parameter values that are decorated as "sensitive" in the API will not
3825// be included in the string output. The member name will be present, but the
3826// value will be replaced with "sensitive".
3827func (s GetNetworkInput) String() string {
3828	return awsutil.Prettify(s)
3829}
3830
3831// GoString returns the string representation.
3832//
3833// API parameter values that are decorated as "sensitive" in the API will not
3834// be included in the string output. The member name will be present, but the
3835// value will be replaced with "sensitive".
3836func (s GetNetworkInput) GoString() string {
3837	return s.String()
3838}
3839
3840// Validate inspects the fields of the type to determine if they are valid.
3841func (s *GetNetworkInput) Validate() error {
3842	invalidParams := request.ErrInvalidParams{Context: "GetNetworkInput"}
3843	if s.NetworkId == nil {
3844		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
3845	}
3846	if s.NetworkId != nil && len(*s.NetworkId) < 1 {
3847		invalidParams.Add(request.NewErrParamMinLen("NetworkId", 1))
3848	}
3849
3850	if invalidParams.Len() > 0 {
3851		return invalidParams
3852	}
3853	return nil
3854}
3855
3856// SetNetworkId sets the NetworkId field's value.
3857func (s *GetNetworkInput) SetNetworkId(v string) *GetNetworkInput {
3858	s.NetworkId = &v
3859	return s
3860}
3861
3862type GetNetworkOutput struct {
3863	_ struct{} `type:"structure"`
3864
3865	// An object containing network configuration parameters.
3866	Network *Network `type:"structure"`
3867}
3868
3869// String returns the string representation.
3870//
3871// API parameter values that are decorated as "sensitive" in the API will not
3872// be included in the string output. The member name will be present, but the
3873// value will be replaced with "sensitive".
3874func (s GetNetworkOutput) String() string {
3875	return awsutil.Prettify(s)
3876}
3877
3878// GoString returns the string representation.
3879//
3880// API parameter values that are decorated as "sensitive" in the API will not
3881// be included in the string output. The member name will be present, but the
3882// value will be replaced with "sensitive".
3883func (s GetNetworkOutput) GoString() string {
3884	return s.String()
3885}
3886
3887// SetNetwork sets the Network field's value.
3888func (s *GetNetworkOutput) SetNetwork(v *Network) *GetNetworkOutput {
3889	s.Network = v
3890	return s
3891}
3892
3893type GetNodeInput struct {
3894	_ struct{} `type:"structure" nopayload:"true"`
3895
3896	// The unique identifier of the member that owns the node.
3897	//
3898	// Applies only to Hyperledger Fabric and is required for Hyperledger Fabric.
3899	MemberId *string `location:"querystring" locationName:"memberId" min:"1" type:"string"`
3900
3901	// The unique identifier of the network that the node is on.
3902	//
3903	// NetworkId is a required field
3904	NetworkId *string `location:"uri" locationName:"networkId" min:"1" type:"string" required:"true"`
3905
3906	// The unique identifier of the node.
3907	//
3908	// NodeId is a required field
3909	NodeId *string `location:"uri" locationName:"nodeId" min:"1" type:"string" required:"true"`
3910}
3911
3912// String returns the string representation.
3913//
3914// API parameter values that are decorated as "sensitive" in the API will not
3915// be included in the string output. The member name will be present, but the
3916// value will be replaced with "sensitive".
3917func (s GetNodeInput) String() string {
3918	return awsutil.Prettify(s)
3919}
3920
3921// GoString returns the string representation.
3922//
3923// API parameter values that are decorated as "sensitive" in the API will not
3924// be included in the string output. The member name will be present, but the
3925// value will be replaced with "sensitive".
3926func (s GetNodeInput) GoString() string {
3927	return s.String()
3928}
3929
3930// Validate inspects the fields of the type to determine if they are valid.
3931func (s *GetNodeInput) Validate() error {
3932	invalidParams := request.ErrInvalidParams{Context: "GetNodeInput"}
3933	if s.MemberId != nil && len(*s.MemberId) < 1 {
3934		invalidParams.Add(request.NewErrParamMinLen("MemberId", 1))
3935	}
3936	if s.NetworkId == nil {
3937		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
3938	}
3939	if s.NetworkId != nil && len(*s.NetworkId) < 1 {
3940		invalidParams.Add(request.NewErrParamMinLen("NetworkId", 1))
3941	}
3942	if s.NodeId == nil {
3943		invalidParams.Add(request.NewErrParamRequired("NodeId"))
3944	}
3945	if s.NodeId != nil && len(*s.NodeId) < 1 {
3946		invalidParams.Add(request.NewErrParamMinLen("NodeId", 1))
3947	}
3948
3949	if invalidParams.Len() > 0 {
3950		return invalidParams
3951	}
3952	return nil
3953}
3954
3955// SetMemberId sets the MemberId field's value.
3956func (s *GetNodeInput) SetMemberId(v string) *GetNodeInput {
3957	s.MemberId = &v
3958	return s
3959}
3960
3961// SetNetworkId sets the NetworkId field's value.
3962func (s *GetNodeInput) SetNetworkId(v string) *GetNodeInput {
3963	s.NetworkId = &v
3964	return s
3965}
3966
3967// SetNodeId sets the NodeId field's value.
3968func (s *GetNodeInput) SetNodeId(v string) *GetNodeInput {
3969	s.NodeId = &v
3970	return s
3971}
3972
3973type GetNodeOutput struct {
3974	_ struct{} `type:"structure"`
3975
3976	// Properties of the node configuration.
3977	Node *Node `type:"structure"`
3978}
3979
3980// String returns the string representation.
3981//
3982// API parameter values that are decorated as "sensitive" in the API will not
3983// be included in the string output. The member name will be present, but the
3984// value will be replaced with "sensitive".
3985func (s GetNodeOutput) String() string {
3986	return awsutil.Prettify(s)
3987}
3988
3989// GoString returns the string representation.
3990//
3991// API parameter values that are decorated as "sensitive" in the API will not
3992// be included in the string output. The member name will be present, but the
3993// value will be replaced with "sensitive".
3994func (s GetNodeOutput) GoString() string {
3995	return s.String()
3996}
3997
3998// SetNode sets the Node field's value.
3999func (s *GetNodeOutput) SetNode(v *Node) *GetNodeOutput {
4000	s.Node = v
4001	return s
4002}
4003
4004type GetProposalInput struct {
4005	_ struct{} `type:"structure" nopayload:"true"`
4006
4007	// The unique identifier of the network for which the proposal is made.
4008	//
4009	// NetworkId is a required field
4010	NetworkId *string `location:"uri" locationName:"networkId" min:"1" type:"string" required:"true"`
4011
4012	// The unique identifier of the proposal.
4013	//
4014	// ProposalId is a required field
4015	ProposalId *string `location:"uri" locationName:"proposalId" min:"1" type:"string" required:"true"`
4016}
4017
4018// String returns the string representation.
4019//
4020// API parameter values that are decorated as "sensitive" in the API will not
4021// be included in the string output. The member name will be present, but the
4022// value will be replaced with "sensitive".
4023func (s GetProposalInput) String() string {
4024	return awsutil.Prettify(s)
4025}
4026
4027// GoString returns the string representation.
4028//
4029// API parameter values that are decorated as "sensitive" in the API will not
4030// be included in the string output. The member name will be present, but the
4031// value will be replaced with "sensitive".
4032func (s GetProposalInput) GoString() string {
4033	return s.String()
4034}
4035
4036// Validate inspects the fields of the type to determine if they are valid.
4037func (s *GetProposalInput) Validate() error {
4038	invalidParams := request.ErrInvalidParams{Context: "GetProposalInput"}
4039	if s.NetworkId == nil {
4040		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
4041	}
4042	if s.NetworkId != nil && len(*s.NetworkId) < 1 {
4043		invalidParams.Add(request.NewErrParamMinLen("NetworkId", 1))
4044	}
4045	if s.ProposalId == nil {
4046		invalidParams.Add(request.NewErrParamRequired("ProposalId"))
4047	}
4048	if s.ProposalId != nil && len(*s.ProposalId) < 1 {
4049		invalidParams.Add(request.NewErrParamMinLen("ProposalId", 1))
4050	}
4051
4052	if invalidParams.Len() > 0 {
4053		return invalidParams
4054	}
4055	return nil
4056}
4057
4058// SetNetworkId sets the NetworkId field's value.
4059func (s *GetProposalInput) SetNetworkId(v string) *GetProposalInput {
4060	s.NetworkId = &v
4061	return s
4062}
4063
4064// SetProposalId sets the ProposalId field's value.
4065func (s *GetProposalInput) SetProposalId(v string) *GetProposalInput {
4066	s.ProposalId = &v
4067	return s
4068}
4069
4070type GetProposalOutput struct {
4071	_ struct{} `type:"structure"`
4072
4073	// Information about a proposal.
4074	Proposal *Proposal `type:"structure"`
4075}
4076
4077// String returns the string representation.
4078//
4079// API parameter values that are decorated as "sensitive" in the API will not
4080// be included in the string output. The member name will be present, but the
4081// value will be replaced with "sensitive".
4082func (s GetProposalOutput) String() string {
4083	return awsutil.Prettify(s)
4084}
4085
4086// GoString returns the string representation.
4087//
4088// API parameter values that are decorated as "sensitive" in the API will not
4089// be included in the string output. The member name will be present, but the
4090// value will be replaced with "sensitive".
4091func (s GetProposalOutput) GoString() string {
4092	return s.String()
4093}
4094
4095// SetProposal sets the Proposal field's value.
4096func (s *GetProposalOutput) SetProposal(v *Proposal) *GetProposalOutput {
4097	s.Proposal = v
4098	return s
4099}
4100
4101type IllegalActionException struct {
4102	_            struct{}                  `type:"structure"`
4103	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4104
4105	Message_ *string `locationName:"Message" type:"string"`
4106}
4107
4108// String returns the string representation.
4109//
4110// API parameter values that are decorated as "sensitive" in the API will not
4111// be included in the string output. The member name will be present, but the
4112// value will be replaced with "sensitive".
4113func (s IllegalActionException) String() string {
4114	return awsutil.Prettify(s)
4115}
4116
4117// GoString returns the string representation.
4118//
4119// API parameter values that are decorated as "sensitive" in the API will not
4120// be included in the string output. The member name will be present, but the
4121// value will be replaced with "sensitive".
4122func (s IllegalActionException) GoString() string {
4123	return s.String()
4124}
4125
4126func newErrorIllegalActionException(v protocol.ResponseMetadata) error {
4127	return &IllegalActionException{
4128		RespMetadata: v,
4129	}
4130}
4131
4132// Code returns the exception type name.
4133func (s *IllegalActionException) Code() string {
4134	return "IllegalActionException"
4135}
4136
4137// Message returns the exception's message.
4138func (s *IllegalActionException) Message() string {
4139	if s.Message_ != nil {
4140		return *s.Message_
4141	}
4142	return ""
4143}
4144
4145// OrigErr always returns nil, satisfies awserr.Error interface.
4146func (s *IllegalActionException) OrigErr() error {
4147	return nil
4148}
4149
4150func (s *IllegalActionException) Error() string {
4151	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4152}
4153
4154// Status code returns the HTTP status code for the request's response error.
4155func (s *IllegalActionException) StatusCode() int {
4156	return s.RespMetadata.StatusCode
4157}
4158
4159// RequestID returns the service's response RequestID for request.
4160func (s *IllegalActionException) RequestID() string {
4161	return s.RespMetadata.RequestID
4162}
4163
4164// The request processing has failed because of an unknown error, exception
4165// or failure.
4166type InternalServiceErrorException struct {
4167	_            struct{}                  `type:"structure"`
4168	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4169
4170	Message_ *string `locationName:"message" type:"string"`
4171}
4172
4173// String returns the string representation.
4174//
4175// API parameter values that are decorated as "sensitive" in the API will not
4176// be included in the string output. The member name will be present, but the
4177// value will be replaced with "sensitive".
4178func (s InternalServiceErrorException) String() string {
4179	return awsutil.Prettify(s)
4180}
4181
4182// GoString returns the string representation.
4183//
4184// API parameter values that are decorated as "sensitive" in the API will not
4185// be included in the string output. The member name will be present, but the
4186// value will be replaced with "sensitive".
4187func (s InternalServiceErrorException) GoString() string {
4188	return s.String()
4189}
4190
4191func newErrorInternalServiceErrorException(v protocol.ResponseMetadata) error {
4192	return &InternalServiceErrorException{
4193		RespMetadata: v,
4194	}
4195}
4196
4197// Code returns the exception type name.
4198func (s *InternalServiceErrorException) Code() string {
4199	return "InternalServiceErrorException"
4200}
4201
4202// Message returns the exception's message.
4203func (s *InternalServiceErrorException) Message() string {
4204	if s.Message_ != nil {
4205		return *s.Message_
4206	}
4207	return ""
4208}
4209
4210// OrigErr always returns nil, satisfies awserr.Error interface.
4211func (s *InternalServiceErrorException) OrigErr() error {
4212	return nil
4213}
4214
4215func (s *InternalServiceErrorException) Error() string {
4216	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4217}
4218
4219// Status code returns the HTTP status code for the request's response error.
4220func (s *InternalServiceErrorException) StatusCode() int {
4221	return s.RespMetadata.StatusCode
4222}
4223
4224// RequestID returns the service's response RequestID for request.
4225func (s *InternalServiceErrorException) RequestID() string {
4226	return s.RespMetadata.RequestID
4227}
4228
4229// The action or operation requested is invalid. Verify that the action is typed
4230// correctly.
4231type InvalidRequestException struct {
4232	_            struct{}                  `type:"structure"`
4233	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4234
4235	Message_ *string `locationName:"Message" type:"string"`
4236}
4237
4238// String returns the string representation.
4239//
4240// API parameter values that are decorated as "sensitive" in the API will not
4241// be included in the string output. The member name will be present, but the
4242// value will be replaced with "sensitive".
4243func (s InvalidRequestException) String() string {
4244	return awsutil.Prettify(s)
4245}
4246
4247// GoString returns the string representation.
4248//
4249// API parameter values that are decorated as "sensitive" in the API will not
4250// be included in the string output. The member name will be present, but the
4251// value will be replaced with "sensitive".
4252func (s InvalidRequestException) GoString() string {
4253	return s.String()
4254}
4255
4256func newErrorInvalidRequestException(v protocol.ResponseMetadata) error {
4257	return &InvalidRequestException{
4258		RespMetadata: v,
4259	}
4260}
4261
4262// Code returns the exception type name.
4263func (s *InvalidRequestException) Code() string {
4264	return "InvalidRequestException"
4265}
4266
4267// Message returns the exception's message.
4268func (s *InvalidRequestException) Message() string {
4269	if s.Message_ != nil {
4270		return *s.Message_
4271	}
4272	return ""
4273}
4274
4275// OrigErr always returns nil, satisfies awserr.Error interface.
4276func (s *InvalidRequestException) OrigErr() error {
4277	return nil
4278}
4279
4280func (s *InvalidRequestException) Error() string {
4281	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4282}
4283
4284// Status code returns the HTTP status code for the request's response error.
4285func (s *InvalidRequestException) StatusCode() int {
4286	return s.RespMetadata.StatusCode
4287}
4288
4289// RequestID returns the service's response RequestID for request.
4290func (s *InvalidRequestException) RequestID() string {
4291	return s.RespMetadata.RequestID
4292}
4293
4294// An invitation to an AWS account to create a member and join the network.
4295//
4296// Applies only to Hyperledger Fabric.
4297type Invitation struct {
4298	_ struct{} `type:"structure"`
4299
4300	// The Amazon Resource Name (ARN) of the invitation. For more information about
4301	// ARNs and their format, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
4302	// in the AWS General Reference.
4303	Arn *string `min:"1" type:"string"`
4304
4305	// The date and time that the invitation was created.
4306	CreationDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
4307
4308	// The date and time that the invitation expires. This is the CreationDate plus
4309	// the ProposalDurationInHours that is specified in the ProposalThresholdPolicy.
4310	// After this date and time, the invitee can no longer create a member and join
4311	// the network using this InvitationId.
4312	ExpirationDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
4313
4314	// The unique identifier for the invitation.
4315	InvitationId *string `min:"1" type:"string"`
4316
4317	// A summary of network configuration properties.
4318	NetworkSummary *NetworkSummary `type:"structure"`
4319
4320	// The status of the invitation:
4321	//
4322	//    * PENDING - The invitee has not created a member to join the network,
4323	//    and the invitation has not yet expired.
4324	//
4325	//    * ACCEPTING - The invitee has begun creating a member, and creation has
4326	//    not yet completed.
4327	//
4328	//    * ACCEPTED - The invitee created a member and joined the network using
4329	//    the InvitationID.
4330	//
4331	//    * REJECTED - The invitee rejected the invitation.
4332	//
4333	//    * EXPIRED - The invitee neither created a member nor rejected the invitation
4334	//    before the ExpirationDate.
4335	Status *string `type:"string" enum:"InvitationStatus"`
4336}
4337
4338// String returns the string representation.
4339//
4340// API parameter values that are decorated as "sensitive" in the API will not
4341// be included in the string output. The member name will be present, but the
4342// value will be replaced with "sensitive".
4343func (s Invitation) String() string {
4344	return awsutil.Prettify(s)
4345}
4346
4347// GoString returns the string representation.
4348//
4349// API parameter values that are decorated as "sensitive" in the API will not
4350// be included in the string output. The member name will be present, but the
4351// value will be replaced with "sensitive".
4352func (s Invitation) GoString() string {
4353	return s.String()
4354}
4355
4356// SetArn sets the Arn field's value.
4357func (s *Invitation) SetArn(v string) *Invitation {
4358	s.Arn = &v
4359	return s
4360}
4361
4362// SetCreationDate sets the CreationDate field's value.
4363func (s *Invitation) SetCreationDate(v time.Time) *Invitation {
4364	s.CreationDate = &v
4365	return s
4366}
4367
4368// SetExpirationDate sets the ExpirationDate field's value.
4369func (s *Invitation) SetExpirationDate(v time.Time) *Invitation {
4370	s.ExpirationDate = &v
4371	return s
4372}
4373
4374// SetInvitationId sets the InvitationId field's value.
4375func (s *Invitation) SetInvitationId(v string) *Invitation {
4376	s.InvitationId = &v
4377	return s
4378}
4379
4380// SetNetworkSummary sets the NetworkSummary field's value.
4381func (s *Invitation) SetNetworkSummary(v *NetworkSummary) *Invitation {
4382	s.NetworkSummary = v
4383	return s
4384}
4385
4386// SetStatus sets the Status field's value.
4387func (s *Invitation) SetStatus(v string) *Invitation {
4388	s.Status = &v
4389	return s
4390}
4391
4392// An action to invite a specific AWS account to create a member and join the
4393// network. The InviteAction is carried out when a Proposal is APPROVED.
4394//
4395// Applies only to Hyperledger Fabric.
4396type InviteAction struct {
4397	_ struct{} `type:"structure"`
4398
4399	// The AWS account ID to invite.
4400	//
4401	// Principal is a required field
4402	Principal *string `type:"string" required:"true"`
4403}
4404
4405// String returns the string representation.
4406//
4407// API parameter values that are decorated as "sensitive" in the API will not
4408// be included in the string output. The member name will be present, but the
4409// value will be replaced with "sensitive".
4410func (s InviteAction) String() string {
4411	return awsutil.Prettify(s)
4412}
4413
4414// GoString returns the string representation.
4415//
4416// API parameter values that are decorated as "sensitive" in the API will not
4417// be included in the string output. The member name will be present, but the
4418// value will be replaced with "sensitive".
4419func (s InviteAction) GoString() string {
4420	return s.String()
4421}
4422
4423// Validate inspects the fields of the type to determine if they are valid.
4424func (s *InviteAction) Validate() error {
4425	invalidParams := request.ErrInvalidParams{Context: "InviteAction"}
4426	if s.Principal == nil {
4427		invalidParams.Add(request.NewErrParamRequired("Principal"))
4428	}
4429
4430	if invalidParams.Len() > 0 {
4431		return invalidParams
4432	}
4433	return nil
4434}
4435
4436// SetPrincipal sets the Principal field's value.
4437func (s *InviteAction) SetPrincipal(v string) *InviteAction {
4438	s.Principal = &v
4439	return s
4440}
4441
4442type ListInvitationsInput struct {
4443	_ struct{} `type:"structure" nopayload:"true"`
4444
4445	// The maximum number of invitations to return.
4446	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
4447
4448	// The pagination token that indicates the next set of results to retrieve.
4449	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
4450}
4451
4452// String returns the string representation.
4453//
4454// API parameter values that are decorated as "sensitive" in the API will not
4455// be included in the string output. The member name will be present, but the
4456// value will be replaced with "sensitive".
4457func (s ListInvitationsInput) String() string {
4458	return awsutil.Prettify(s)
4459}
4460
4461// GoString returns the string representation.
4462//
4463// API parameter values that are decorated as "sensitive" in the API will not
4464// be included in the string output. The member name will be present, but the
4465// value will be replaced with "sensitive".
4466func (s ListInvitationsInput) GoString() string {
4467	return s.String()
4468}
4469
4470// Validate inspects the fields of the type to determine if they are valid.
4471func (s *ListInvitationsInput) Validate() error {
4472	invalidParams := request.ErrInvalidParams{Context: "ListInvitationsInput"}
4473	if s.MaxResults != nil && *s.MaxResults < 1 {
4474		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4475	}
4476
4477	if invalidParams.Len() > 0 {
4478		return invalidParams
4479	}
4480	return nil
4481}
4482
4483// SetMaxResults sets the MaxResults field's value.
4484func (s *ListInvitationsInput) SetMaxResults(v int64) *ListInvitationsInput {
4485	s.MaxResults = &v
4486	return s
4487}
4488
4489// SetNextToken sets the NextToken field's value.
4490func (s *ListInvitationsInput) SetNextToken(v string) *ListInvitationsInput {
4491	s.NextToken = &v
4492	return s
4493}
4494
4495type ListInvitationsOutput struct {
4496	_ struct{} `type:"structure"`
4497
4498	// The invitations for the network.
4499	Invitations []*Invitation `type:"list"`
4500
4501	// The pagination token that indicates the next set of results to retrieve.
4502	NextToken *string `type:"string"`
4503}
4504
4505// String returns the string representation.
4506//
4507// API parameter values that are decorated as "sensitive" in the API will not
4508// be included in the string output. The member name will be present, but the
4509// value will be replaced with "sensitive".
4510func (s ListInvitationsOutput) String() string {
4511	return awsutil.Prettify(s)
4512}
4513
4514// GoString returns the string representation.
4515//
4516// API parameter values that are decorated as "sensitive" in the API will not
4517// be included in the string output. The member name will be present, but the
4518// value will be replaced with "sensitive".
4519func (s ListInvitationsOutput) GoString() string {
4520	return s.String()
4521}
4522
4523// SetInvitations sets the Invitations field's value.
4524func (s *ListInvitationsOutput) SetInvitations(v []*Invitation) *ListInvitationsOutput {
4525	s.Invitations = v
4526	return s
4527}
4528
4529// SetNextToken sets the NextToken field's value.
4530func (s *ListInvitationsOutput) SetNextToken(v string) *ListInvitationsOutput {
4531	s.NextToken = &v
4532	return s
4533}
4534
4535type ListMembersInput struct {
4536	_ struct{} `type:"structure" nopayload:"true"`
4537
4538	// An optional Boolean value. If provided, the request is limited either to
4539	// members that the current AWS account owns (true) or that other AWS accounts
4540	// own (false). If omitted, all members are listed.
4541	IsOwned *bool `location:"querystring" locationName:"isOwned" type:"boolean"`
4542
4543	// The maximum number of members to return in the request.
4544	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
4545
4546	// The optional name of the member to list.
4547	Name *string `location:"querystring" locationName:"name" type:"string"`
4548
4549	// The unique identifier of the network for which to list members.
4550	//
4551	// NetworkId is a required field
4552	NetworkId *string `location:"uri" locationName:"networkId" min:"1" type:"string" required:"true"`
4553
4554	// The pagination token that indicates the next set of results to retrieve.
4555	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
4556
4557	// An optional status specifier. If provided, only members currently in this
4558	// status are listed.
4559	Status *string `location:"querystring" locationName:"status" type:"string" enum:"MemberStatus"`
4560}
4561
4562// String returns the string representation.
4563//
4564// API parameter values that are decorated as "sensitive" in the API will not
4565// be included in the string output. The member name will be present, but the
4566// value will be replaced with "sensitive".
4567func (s ListMembersInput) String() string {
4568	return awsutil.Prettify(s)
4569}
4570
4571// GoString returns the string representation.
4572//
4573// API parameter values that are decorated as "sensitive" in the API will not
4574// be included in the string output. The member name will be present, but the
4575// value will be replaced with "sensitive".
4576func (s ListMembersInput) GoString() string {
4577	return s.String()
4578}
4579
4580// Validate inspects the fields of the type to determine if they are valid.
4581func (s *ListMembersInput) Validate() error {
4582	invalidParams := request.ErrInvalidParams{Context: "ListMembersInput"}
4583	if s.MaxResults != nil && *s.MaxResults < 1 {
4584		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4585	}
4586	if s.NetworkId == nil {
4587		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
4588	}
4589	if s.NetworkId != nil && len(*s.NetworkId) < 1 {
4590		invalidParams.Add(request.NewErrParamMinLen("NetworkId", 1))
4591	}
4592
4593	if invalidParams.Len() > 0 {
4594		return invalidParams
4595	}
4596	return nil
4597}
4598
4599// SetIsOwned sets the IsOwned field's value.
4600func (s *ListMembersInput) SetIsOwned(v bool) *ListMembersInput {
4601	s.IsOwned = &v
4602	return s
4603}
4604
4605// SetMaxResults sets the MaxResults field's value.
4606func (s *ListMembersInput) SetMaxResults(v int64) *ListMembersInput {
4607	s.MaxResults = &v
4608	return s
4609}
4610
4611// SetName sets the Name field's value.
4612func (s *ListMembersInput) SetName(v string) *ListMembersInput {
4613	s.Name = &v
4614	return s
4615}
4616
4617// SetNetworkId sets the NetworkId field's value.
4618func (s *ListMembersInput) SetNetworkId(v string) *ListMembersInput {
4619	s.NetworkId = &v
4620	return s
4621}
4622
4623// SetNextToken sets the NextToken field's value.
4624func (s *ListMembersInput) SetNextToken(v string) *ListMembersInput {
4625	s.NextToken = &v
4626	return s
4627}
4628
4629// SetStatus sets the Status field's value.
4630func (s *ListMembersInput) SetStatus(v string) *ListMembersInput {
4631	s.Status = &v
4632	return s
4633}
4634
4635type ListMembersOutput struct {
4636	_ struct{} `type:"structure"`
4637
4638	// An array of MemberSummary objects. Each object contains details about a network
4639	// member.
4640	Members []*MemberSummary `type:"list"`
4641
4642	// The pagination token that indicates the next set of results to retrieve.
4643	NextToken *string `type:"string"`
4644}
4645
4646// String returns the string representation.
4647//
4648// API parameter values that are decorated as "sensitive" in the API will not
4649// be included in the string output. The member name will be present, but the
4650// value will be replaced with "sensitive".
4651func (s ListMembersOutput) String() string {
4652	return awsutil.Prettify(s)
4653}
4654
4655// GoString returns the string representation.
4656//
4657// API parameter values that are decorated as "sensitive" in the API will not
4658// be included in the string output. The member name will be present, but the
4659// value will be replaced with "sensitive".
4660func (s ListMembersOutput) GoString() string {
4661	return s.String()
4662}
4663
4664// SetMembers sets the Members field's value.
4665func (s *ListMembersOutput) SetMembers(v []*MemberSummary) *ListMembersOutput {
4666	s.Members = v
4667	return s
4668}
4669
4670// SetNextToken sets the NextToken field's value.
4671func (s *ListMembersOutput) SetNextToken(v string) *ListMembersOutput {
4672	s.NextToken = &v
4673	return s
4674}
4675
4676type ListNetworksInput struct {
4677	_ struct{} `type:"structure" nopayload:"true"`
4678
4679	// An optional framework specifier. If provided, only networks of this framework
4680	// type are listed.
4681	Framework *string `location:"querystring" locationName:"framework" type:"string" enum:"Framework"`
4682
4683	// The maximum number of networks to list.
4684	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
4685
4686	// The name of the network.
4687	Name *string `location:"querystring" locationName:"name" type:"string"`
4688
4689	// The pagination token that indicates the next set of results to retrieve.
4690	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
4691
4692	// An optional status specifier. If provided, only networks currently in this
4693	// status are listed.
4694	//
4695	// Applies only to Hyperledger Fabric.
4696	Status *string `location:"querystring" locationName:"status" type:"string" enum:"NetworkStatus"`
4697}
4698
4699// String returns the string representation.
4700//
4701// API parameter values that are decorated as "sensitive" in the API will not
4702// be included in the string output. The member name will be present, but the
4703// value will be replaced with "sensitive".
4704func (s ListNetworksInput) String() string {
4705	return awsutil.Prettify(s)
4706}
4707
4708// GoString returns the string representation.
4709//
4710// API parameter values that are decorated as "sensitive" in the API will not
4711// be included in the string output. The member name will be present, but the
4712// value will be replaced with "sensitive".
4713func (s ListNetworksInput) GoString() string {
4714	return s.String()
4715}
4716
4717// Validate inspects the fields of the type to determine if they are valid.
4718func (s *ListNetworksInput) Validate() error {
4719	invalidParams := request.ErrInvalidParams{Context: "ListNetworksInput"}
4720	if s.MaxResults != nil && *s.MaxResults < 1 {
4721		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4722	}
4723
4724	if invalidParams.Len() > 0 {
4725		return invalidParams
4726	}
4727	return nil
4728}
4729
4730// SetFramework sets the Framework field's value.
4731func (s *ListNetworksInput) SetFramework(v string) *ListNetworksInput {
4732	s.Framework = &v
4733	return s
4734}
4735
4736// SetMaxResults sets the MaxResults field's value.
4737func (s *ListNetworksInput) SetMaxResults(v int64) *ListNetworksInput {
4738	s.MaxResults = &v
4739	return s
4740}
4741
4742// SetName sets the Name field's value.
4743func (s *ListNetworksInput) SetName(v string) *ListNetworksInput {
4744	s.Name = &v
4745	return s
4746}
4747
4748// SetNextToken sets the NextToken field's value.
4749func (s *ListNetworksInput) SetNextToken(v string) *ListNetworksInput {
4750	s.NextToken = &v
4751	return s
4752}
4753
4754// SetStatus sets the Status field's value.
4755func (s *ListNetworksInput) SetStatus(v string) *ListNetworksInput {
4756	s.Status = &v
4757	return s
4758}
4759
4760type ListNetworksOutput struct {
4761	_ struct{} `type:"structure"`
4762
4763	// An array of NetworkSummary objects that contain configuration properties
4764	// for each network.
4765	Networks []*NetworkSummary `type:"list"`
4766
4767	// The pagination token that indicates the next set of results to retrieve.
4768	NextToken *string `type:"string"`
4769}
4770
4771// String returns the string representation.
4772//
4773// API parameter values that are decorated as "sensitive" in the API will not
4774// be included in the string output. The member name will be present, but the
4775// value will be replaced with "sensitive".
4776func (s ListNetworksOutput) String() string {
4777	return awsutil.Prettify(s)
4778}
4779
4780// GoString returns the string representation.
4781//
4782// API parameter values that are decorated as "sensitive" in the API will not
4783// be included in the string output. The member name will be present, but the
4784// value will be replaced with "sensitive".
4785func (s ListNetworksOutput) GoString() string {
4786	return s.String()
4787}
4788
4789// SetNetworks sets the Networks field's value.
4790func (s *ListNetworksOutput) SetNetworks(v []*NetworkSummary) *ListNetworksOutput {
4791	s.Networks = v
4792	return s
4793}
4794
4795// SetNextToken sets the NextToken field's value.
4796func (s *ListNetworksOutput) SetNextToken(v string) *ListNetworksOutput {
4797	s.NextToken = &v
4798	return s
4799}
4800
4801type ListNodesInput struct {
4802	_ struct{} `type:"structure" nopayload:"true"`
4803
4804	// The maximum number of nodes to list.
4805	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
4806
4807	// The unique identifier of the member who owns the nodes to list.
4808	//
4809	// Applies only to Hyperledger Fabric and is required for Hyperledger Fabric.
4810	MemberId *string `location:"querystring" locationName:"memberId" min:"1" type:"string"`
4811
4812	// The unique identifier of the network for which to list nodes.
4813	//
4814	// NetworkId is a required field
4815	NetworkId *string `location:"uri" locationName:"networkId" min:"1" type:"string" required:"true"`
4816
4817	// The pagination token that indicates the next set of results to retrieve.
4818	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
4819
4820	// An optional status specifier. If provided, only nodes currently in this status
4821	// are listed.
4822	Status *string `location:"querystring" locationName:"status" type:"string" enum:"NodeStatus"`
4823}
4824
4825// String returns the string representation.
4826//
4827// API parameter values that are decorated as "sensitive" in the API will not
4828// be included in the string output. The member name will be present, but the
4829// value will be replaced with "sensitive".
4830func (s ListNodesInput) String() string {
4831	return awsutil.Prettify(s)
4832}
4833
4834// GoString returns the string representation.
4835//
4836// API parameter values that are decorated as "sensitive" in the API will not
4837// be included in the string output. The member name will be present, but the
4838// value will be replaced with "sensitive".
4839func (s ListNodesInput) GoString() string {
4840	return s.String()
4841}
4842
4843// Validate inspects the fields of the type to determine if they are valid.
4844func (s *ListNodesInput) Validate() error {
4845	invalidParams := request.ErrInvalidParams{Context: "ListNodesInput"}
4846	if s.MaxResults != nil && *s.MaxResults < 1 {
4847		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4848	}
4849	if s.MemberId != nil && len(*s.MemberId) < 1 {
4850		invalidParams.Add(request.NewErrParamMinLen("MemberId", 1))
4851	}
4852	if s.NetworkId == nil {
4853		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
4854	}
4855	if s.NetworkId != nil && len(*s.NetworkId) < 1 {
4856		invalidParams.Add(request.NewErrParamMinLen("NetworkId", 1))
4857	}
4858
4859	if invalidParams.Len() > 0 {
4860		return invalidParams
4861	}
4862	return nil
4863}
4864
4865// SetMaxResults sets the MaxResults field's value.
4866func (s *ListNodesInput) SetMaxResults(v int64) *ListNodesInput {
4867	s.MaxResults = &v
4868	return s
4869}
4870
4871// SetMemberId sets the MemberId field's value.
4872func (s *ListNodesInput) SetMemberId(v string) *ListNodesInput {
4873	s.MemberId = &v
4874	return s
4875}
4876
4877// SetNetworkId sets the NetworkId field's value.
4878func (s *ListNodesInput) SetNetworkId(v string) *ListNodesInput {
4879	s.NetworkId = &v
4880	return s
4881}
4882
4883// SetNextToken sets the NextToken field's value.
4884func (s *ListNodesInput) SetNextToken(v string) *ListNodesInput {
4885	s.NextToken = &v
4886	return s
4887}
4888
4889// SetStatus sets the Status field's value.
4890func (s *ListNodesInput) SetStatus(v string) *ListNodesInput {
4891	s.Status = &v
4892	return s
4893}
4894
4895type ListNodesOutput struct {
4896	_ struct{} `type:"structure"`
4897
4898	// The pagination token that indicates the next set of results to retrieve.
4899	NextToken *string `type:"string"`
4900
4901	// An array of NodeSummary objects that contain configuration properties for
4902	// each node.
4903	Nodes []*NodeSummary `type:"list"`
4904}
4905
4906// String returns the string representation.
4907//
4908// API parameter values that are decorated as "sensitive" in the API will not
4909// be included in the string output. The member name will be present, but the
4910// value will be replaced with "sensitive".
4911func (s ListNodesOutput) String() string {
4912	return awsutil.Prettify(s)
4913}
4914
4915// GoString returns the string representation.
4916//
4917// API parameter values that are decorated as "sensitive" in the API will not
4918// be included in the string output. The member name will be present, but the
4919// value will be replaced with "sensitive".
4920func (s ListNodesOutput) GoString() string {
4921	return s.String()
4922}
4923
4924// SetNextToken sets the NextToken field's value.
4925func (s *ListNodesOutput) SetNextToken(v string) *ListNodesOutput {
4926	s.NextToken = &v
4927	return s
4928}
4929
4930// SetNodes sets the Nodes field's value.
4931func (s *ListNodesOutput) SetNodes(v []*NodeSummary) *ListNodesOutput {
4932	s.Nodes = v
4933	return s
4934}
4935
4936type ListProposalVotesInput struct {
4937	_ struct{} `type:"structure" nopayload:"true"`
4938
4939	// The maximum number of votes to return.
4940	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
4941
4942	// The unique identifier of the network.
4943	//
4944	// NetworkId is a required field
4945	NetworkId *string `location:"uri" locationName:"networkId" min:"1" type:"string" required:"true"`
4946
4947	// The pagination token that indicates the next set of results to retrieve.
4948	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
4949
4950	// The unique identifier of the proposal.
4951	//
4952	// ProposalId is a required field
4953	ProposalId *string `location:"uri" locationName:"proposalId" min:"1" type:"string" required:"true"`
4954}
4955
4956// String returns the string representation.
4957//
4958// API parameter values that are decorated as "sensitive" in the API will not
4959// be included in the string output. The member name will be present, but the
4960// value will be replaced with "sensitive".
4961func (s ListProposalVotesInput) String() string {
4962	return awsutil.Prettify(s)
4963}
4964
4965// GoString returns the string representation.
4966//
4967// API parameter values that are decorated as "sensitive" in the API will not
4968// be included in the string output. The member name will be present, but the
4969// value will be replaced with "sensitive".
4970func (s ListProposalVotesInput) GoString() string {
4971	return s.String()
4972}
4973
4974// Validate inspects the fields of the type to determine if they are valid.
4975func (s *ListProposalVotesInput) Validate() error {
4976	invalidParams := request.ErrInvalidParams{Context: "ListProposalVotesInput"}
4977	if s.MaxResults != nil && *s.MaxResults < 1 {
4978		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4979	}
4980	if s.NetworkId == nil {
4981		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
4982	}
4983	if s.NetworkId != nil && len(*s.NetworkId) < 1 {
4984		invalidParams.Add(request.NewErrParamMinLen("NetworkId", 1))
4985	}
4986	if s.ProposalId == nil {
4987		invalidParams.Add(request.NewErrParamRequired("ProposalId"))
4988	}
4989	if s.ProposalId != nil && len(*s.ProposalId) < 1 {
4990		invalidParams.Add(request.NewErrParamMinLen("ProposalId", 1))
4991	}
4992
4993	if invalidParams.Len() > 0 {
4994		return invalidParams
4995	}
4996	return nil
4997}
4998
4999// SetMaxResults sets the MaxResults field's value.
5000func (s *ListProposalVotesInput) SetMaxResults(v int64) *ListProposalVotesInput {
5001	s.MaxResults = &v
5002	return s
5003}
5004
5005// SetNetworkId sets the NetworkId field's value.
5006func (s *ListProposalVotesInput) SetNetworkId(v string) *ListProposalVotesInput {
5007	s.NetworkId = &v
5008	return s
5009}
5010
5011// SetNextToken sets the NextToken field's value.
5012func (s *ListProposalVotesInput) SetNextToken(v string) *ListProposalVotesInput {
5013	s.NextToken = &v
5014	return s
5015}
5016
5017// SetProposalId sets the ProposalId field's value.
5018func (s *ListProposalVotesInput) SetProposalId(v string) *ListProposalVotesInput {
5019	s.ProposalId = &v
5020	return s
5021}
5022
5023type ListProposalVotesOutput struct {
5024	_ struct{} `type:"structure"`
5025
5026	// The pagination token that indicates the next set of results to retrieve.
5027	NextToken *string `type:"string"`
5028
5029	// The list of votes.
5030	ProposalVotes []*VoteSummary `type:"list"`
5031}
5032
5033// String returns the string representation.
5034//
5035// API parameter values that are decorated as "sensitive" in the API will not
5036// be included in the string output. The member name will be present, but the
5037// value will be replaced with "sensitive".
5038func (s ListProposalVotesOutput) String() string {
5039	return awsutil.Prettify(s)
5040}
5041
5042// GoString returns the string representation.
5043//
5044// API parameter values that are decorated as "sensitive" in the API will not
5045// be included in the string output. The member name will be present, but the
5046// value will be replaced with "sensitive".
5047func (s ListProposalVotesOutput) GoString() string {
5048	return s.String()
5049}
5050
5051// SetNextToken sets the NextToken field's value.
5052func (s *ListProposalVotesOutput) SetNextToken(v string) *ListProposalVotesOutput {
5053	s.NextToken = &v
5054	return s
5055}
5056
5057// SetProposalVotes sets the ProposalVotes field's value.
5058func (s *ListProposalVotesOutput) SetProposalVotes(v []*VoteSummary) *ListProposalVotesOutput {
5059	s.ProposalVotes = v
5060	return s
5061}
5062
5063type ListProposalsInput struct {
5064	_ struct{} `type:"structure" nopayload:"true"`
5065
5066	// The maximum number of proposals to return.
5067	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
5068
5069	// The unique identifier of the network.
5070	//
5071	// NetworkId is a required field
5072	NetworkId *string `location:"uri" locationName:"networkId" min:"1" type:"string" required:"true"`
5073
5074	// The pagination token that indicates the next set of results to retrieve.
5075	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
5076}
5077
5078// String returns the string representation.
5079//
5080// API parameter values that are decorated as "sensitive" in the API will not
5081// be included in the string output. The member name will be present, but the
5082// value will be replaced with "sensitive".
5083func (s ListProposalsInput) String() string {
5084	return awsutil.Prettify(s)
5085}
5086
5087// GoString returns the string representation.
5088//
5089// API parameter values that are decorated as "sensitive" in the API will not
5090// be included in the string output. The member name will be present, but the
5091// value will be replaced with "sensitive".
5092func (s ListProposalsInput) GoString() string {
5093	return s.String()
5094}
5095
5096// Validate inspects the fields of the type to determine if they are valid.
5097func (s *ListProposalsInput) Validate() error {
5098	invalidParams := request.ErrInvalidParams{Context: "ListProposalsInput"}
5099	if s.MaxResults != nil && *s.MaxResults < 1 {
5100		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5101	}
5102	if s.NetworkId == nil {
5103		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
5104	}
5105	if s.NetworkId != nil && len(*s.NetworkId) < 1 {
5106		invalidParams.Add(request.NewErrParamMinLen("NetworkId", 1))
5107	}
5108
5109	if invalidParams.Len() > 0 {
5110		return invalidParams
5111	}
5112	return nil
5113}
5114
5115// SetMaxResults sets the MaxResults field's value.
5116func (s *ListProposalsInput) SetMaxResults(v int64) *ListProposalsInput {
5117	s.MaxResults = &v
5118	return s
5119}
5120
5121// SetNetworkId sets the NetworkId field's value.
5122func (s *ListProposalsInput) SetNetworkId(v string) *ListProposalsInput {
5123	s.NetworkId = &v
5124	return s
5125}
5126
5127// SetNextToken sets the NextToken field's value.
5128func (s *ListProposalsInput) SetNextToken(v string) *ListProposalsInput {
5129	s.NextToken = &v
5130	return s
5131}
5132
5133type ListProposalsOutput struct {
5134	_ struct{} `type:"structure"`
5135
5136	// The pagination token that indicates the next set of results to retrieve.
5137	NextToken *string `type:"string"`
5138
5139	// The summary of each proposal made on the network.
5140	Proposals []*ProposalSummary `type:"list"`
5141}
5142
5143// String returns the string representation.
5144//
5145// API parameter values that are decorated as "sensitive" in the API will not
5146// be included in the string output. The member name will be present, but the
5147// value will be replaced with "sensitive".
5148func (s ListProposalsOutput) String() string {
5149	return awsutil.Prettify(s)
5150}
5151
5152// GoString returns the string representation.
5153//
5154// API parameter values that are decorated as "sensitive" in the API will not
5155// be included in the string output. The member name will be present, but the
5156// value will be replaced with "sensitive".
5157func (s ListProposalsOutput) GoString() string {
5158	return s.String()
5159}
5160
5161// SetNextToken sets the NextToken field's value.
5162func (s *ListProposalsOutput) SetNextToken(v string) *ListProposalsOutput {
5163	s.NextToken = &v
5164	return s
5165}
5166
5167// SetProposals sets the Proposals field's value.
5168func (s *ListProposalsOutput) SetProposals(v []*ProposalSummary) *ListProposalsOutput {
5169	s.Proposals = v
5170	return s
5171}
5172
5173type ListTagsForResourceInput struct {
5174	_ struct{} `type:"structure" nopayload:"true"`
5175
5176	// The Amazon Resource Name (ARN) of the resource. For more information about
5177	// ARNs and their format, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
5178	// in the AWS General Reference.
5179	//
5180	// ResourceArn is a required field
5181	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
5182}
5183
5184// String returns the string representation.
5185//
5186// API parameter values that are decorated as "sensitive" in the API will not
5187// be included in the string output. The member name will be present, but the
5188// value will be replaced with "sensitive".
5189func (s ListTagsForResourceInput) String() string {
5190	return awsutil.Prettify(s)
5191}
5192
5193// GoString returns the string representation.
5194//
5195// API parameter values that are decorated as "sensitive" in the API will not
5196// be included in the string output. The member name will be present, but the
5197// value will be replaced with "sensitive".
5198func (s ListTagsForResourceInput) GoString() string {
5199	return s.String()
5200}
5201
5202// Validate inspects the fields of the type to determine if they are valid.
5203func (s *ListTagsForResourceInput) Validate() error {
5204	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
5205	if s.ResourceArn == nil {
5206		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
5207	}
5208	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
5209		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
5210	}
5211
5212	if invalidParams.Len() > 0 {
5213		return invalidParams
5214	}
5215	return nil
5216}
5217
5218// SetResourceArn sets the ResourceArn field's value.
5219func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
5220	s.ResourceArn = &v
5221	return s
5222}
5223
5224type ListTagsForResourceOutput struct {
5225	_ struct{} `type:"structure"`
5226
5227	// The tags assigned to the resource.
5228	Tags map[string]*string `type:"map"`
5229}
5230
5231// String returns the string representation.
5232//
5233// API parameter values that are decorated as "sensitive" in the API will not
5234// be included in the string output. The member name will be present, but the
5235// value will be replaced with "sensitive".
5236func (s ListTagsForResourceOutput) String() string {
5237	return awsutil.Prettify(s)
5238}
5239
5240// GoString returns the string representation.
5241//
5242// API parameter values that are decorated as "sensitive" in the API will not
5243// be included in the string output. The member name will be present, but the
5244// value will be replaced with "sensitive".
5245func (s ListTagsForResourceOutput) GoString() string {
5246	return s.String()
5247}
5248
5249// SetTags sets the Tags field's value.
5250func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
5251	s.Tags = v
5252	return s
5253}
5254
5255// A configuration for logging events.
5256type LogConfiguration struct {
5257	_ struct{} `type:"structure"`
5258
5259	// Indicates whether logging is enabled.
5260	Enabled *bool `type:"boolean"`
5261}
5262
5263// String returns the string representation.
5264//
5265// API parameter values that are decorated as "sensitive" in the API will not
5266// be included in the string output. The member name will be present, but the
5267// value will be replaced with "sensitive".
5268func (s LogConfiguration) String() string {
5269	return awsutil.Prettify(s)
5270}
5271
5272// GoString returns the string representation.
5273//
5274// API parameter values that are decorated as "sensitive" in the API will not
5275// be included in the string output. The member name will be present, but the
5276// value will be replaced with "sensitive".
5277func (s LogConfiguration) GoString() string {
5278	return s.String()
5279}
5280
5281// SetEnabled sets the Enabled field's value.
5282func (s *LogConfiguration) SetEnabled(v bool) *LogConfiguration {
5283	s.Enabled = &v
5284	return s
5285}
5286
5287// A collection of log configurations.
5288type LogConfigurations struct {
5289	_ struct{} `type:"structure"`
5290
5291	// Parameters for publishing logs to Amazon CloudWatch Logs.
5292	Cloudwatch *LogConfiguration `type:"structure"`
5293}
5294
5295// String returns the string representation.
5296//
5297// API parameter values that are decorated as "sensitive" in the API will not
5298// be included in the string output. The member name will be present, but the
5299// value will be replaced with "sensitive".
5300func (s LogConfigurations) String() string {
5301	return awsutil.Prettify(s)
5302}
5303
5304// GoString returns the string representation.
5305//
5306// API parameter values that are decorated as "sensitive" in the API will not
5307// be included in the string output. The member name will be present, but the
5308// value will be replaced with "sensitive".
5309func (s LogConfigurations) GoString() string {
5310	return s.String()
5311}
5312
5313// SetCloudwatch sets the Cloudwatch field's value.
5314func (s *LogConfigurations) SetCloudwatch(v *LogConfiguration) *LogConfigurations {
5315	s.Cloudwatch = v
5316	return s
5317}
5318
5319// Member configuration properties.
5320//
5321// Applies only to Hyperledger Fabric.
5322type Member struct {
5323	_ struct{} `type:"structure"`
5324
5325	// The Amazon Resource Name (ARN) of the member. For more information about
5326	// ARNs and their format, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
5327	// in the AWS General Reference.
5328	Arn *string `min:"1" type:"string"`
5329
5330	// The date and time that the member was created.
5331	CreationDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
5332
5333	// An optional description for the member.
5334	Description *string `type:"string"`
5335
5336	// Attributes relevant to a member for the blockchain framework that the Managed
5337	// Blockchain network uses.
5338	FrameworkAttributes *MemberFrameworkAttributes `type:"structure"`
5339
5340	// The unique identifier of the member.
5341	Id *string `min:"1" type:"string"`
5342
5343	// The Amazon Resource Name (ARN) of the customer managed key in AWS Key Management
5344	// Service (AWS KMS) that the member uses for encryption at rest. If the value
5345	// of this parameter is "AWS Owned KMS Key", the member uses an AWS owned KMS
5346	// key for encryption. This parameter is inherited by the nodes that this member
5347	// owns.
5348	KmsKeyArn *string `type:"string"`
5349
5350	// Configuration properties for logging events associated with a member.
5351	LogPublishingConfiguration *MemberLogPublishingConfiguration `type:"structure"`
5352
5353	// The name of the member.
5354	Name *string `min:"1" type:"string"`
5355
5356	// The unique identifier of the network to which the member belongs.
5357	NetworkId *string `min:"1" type:"string"`
5358
5359	// The status of a member.
5360	//
5361	//    * CREATING - The AWS account is in the process of creating a member.
5362	//
5363	//    * AVAILABLE - The member has been created and can participate in the network.
5364	//
5365	//    * CREATE_FAILED - The AWS account attempted to create a member and creation
5366	//    failed.
5367	//
5368	//    * UPDATING - The member is in the process of being updated.
5369	//
5370	//    * DELETING - The member and all associated resources are in the process
5371	//    of being deleted. Either the AWS account that owns the member deleted
5372	//    it, or the member is being deleted as the result of an APPROVED PROPOSAL
5373	//    to remove the member.
5374	//
5375	//    * DELETED - The member can no longer participate on the network and all
5376	//    associated resources are deleted. Either the AWS account that owns the
5377	//    member deleted it, or the member is being deleted as the result of an
5378	//    APPROVED PROPOSAL to remove the member.
5379	//
5380	//    * INACCESSIBLE_ENCRYPTION_KEY - The member is impaired and might not function
5381	//    as expected because it cannot access the specified customer managed key
5382	//    in AWS KMS for encryption at rest. Either the KMS key was disabled or
5383	//    deleted, or the grants on the key were revoked. The effect of disabling
5384	//    or deleting a key, or revoking a grant is not immediate. The member resource
5385	//    might take some time to find that the key is inaccessible. When a resource
5386	//    is in this state, we recommend deleting and recreating the resource.
5387	Status *string `type:"string" enum:"MemberStatus"`
5388
5389	// Tags assigned to the member. Tags consist of a key and optional value. For
5390	// more information about tags, see Tagging Resources (https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html)
5391	// in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.
5392	Tags map[string]*string `type:"map"`
5393}
5394
5395// String returns the string representation.
5396//
5397// API parameter values that are decorated as "sensitive" in the API will not
5398// be included in the string output. The member name will be present, but the
5399// value will be replaced with "sensitive".
5400func (s Member) String() string {
5401	return awsutil.Prettify(s)
5402}
5403
5404// GoString returns the string representation.
5405//
5406// API parameter values that are decorated as "sensitive" in the API will not
5407// be included in the string output. The member name will be present, but the
5408// value will be replaced with "sensitive".
5409func (s Member) GoString() string {
5410	return s.String()
5411}
5412
5413// SetArn sets the Arn field's value.
5414func (s *Member) SetArn(v string) *Member {
5415	s.Arn = &v
5416	return s
5417}
5418
5419// SetCreationDate sets the CreationDate field's value.
5420func (s *Member) SetCreationDate(v time.Time) *Member {
5421	s.CreationDate = &v
5422	return s
5423}
5424
5425// SetDescription sets the Description field's value.
5426func (s *Member) SetDescription(v string) *Member {
5427	s.Description = &v
5428	return s
5429}
5430
5431// SetFrameworkAttributes sets the FrameworkAttributes field's value.
5432func (s *Member) SetFrameworkAttributes(v *MemberFrameworkAttributes) *Member {
5433	s.FrameworkAttributes = v
5434	return s
5435}
5436
5437// SetId sets the Id field's value.
5438func (s *Member) SetId(v string) *Member {
5439	s.Id = &v
5440	return s
5441}
5442
5443// SetKmsKeyArn sets the KmsKeyArn field's value.
5444func (s *Member) SetKmsKeyArn(v string) *Member {
5445	s.KmsKeyArn = &v
5446	return s
5447}
5448
5449// SetLogPublishingConfiguration sets the LogPublishingConfiguration field's value.
5450func (s *Member) SetLogPublishingConfiguration(v *MemberLogPublishingConfiguration) *Member {
5451	s.LogPublishingConfiguration = v
5452	return s
5453}
5454
5455// SetName sets the Name field's value.
5456func (s *Member) SetName(v string) *Member {
5457	s.Name = &v
5458	return s
5459}
5460
5461// SetNetworkId sets the NetworkId field's value.
5462func (s *Member) SetNetworkId(v string) *Member {
5463	s.NetworkId = &v
5464	return s
5465}
5466
5467// SetStatus sets the Status field's value.
5468func (s *Member) SetStatus(v string) *Member {
5469	s.Status = &v
5470	return s
5471}
5472
5473// SetTags sets the Tags field's value.
5474func (s *Member) SetTags(v map[string]*string) *Member {
5475	s.Tags = v
5476	return s
5477}
5478
5479// Configuration properties of the member.
5480//
5481// Applies only to Hyperledger Fabric.
5482type MemberConfiguration struct {
5483	_ struct{} `type:"structure"`
5484
5485	// An optional description of the member.
5486	Description *string `type:"string"`
5487
5488	// Configuration properties of the blockchain framework relevant to the member.
5489	//
5490	// FrameworkConfiguration is a required field
5491	FrameworkConfiguration *MemberFrameworkConfiguration `type:"structure" required:"true"`
5492
5493	// The Amazon Resource Name (ARN) of the customer managed key in AWS Key Management
5494	// Service (AWS KMS) to use for encryption at rest in the member. This parameter
5495	// is inherited by any nodes that this member creates.
5496	//
5497	// Use one of the following options to specify this parameter:
5498	//
5499	//    * Undefined or empty string - The member uses an AWS owned KMS key for
5500	//    encryption by default.
5501	//
5502	//    * A valid symmetric customer managed KMS key - The member uses the specified
5503	//    key for encryption. Amazon Managed Blockchain doesn't support asymmetric
5504	//    keys. For more information, see Using symmetric and asymmetric keys (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html)
5505	//    in the AWS Key Management Service Developer Guide. The following is an
5506	//    example of a KMS key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
5507	KmsKeyArn *string `min:"1" type:"string"`
5508
5509	// Configuration properties for logging events associated with a member of a
5510	// Managed Blockchain network.
5511	LogPublishingConfiguration *MemberLogPublishingConfiguration `type:"structure"`
5512
5513	// The name of the member.
5514	//
5515	// Name is a required field
5516	Name *string `min:"1" type:"string" required:"true"`
5517
5518	// Tags assigned to the member. Tags consist of a key and optional value. For
5519	// more information about tags, see Tagging Resources (https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html)
5520	// in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.
5521	//
5522	// When specifying tags during creation, you can specify multiple key-value
5523	// pairs in a single request, with an overall maximum of 50 tags added to each
5524	// resource.
5525	Tags map[string]*string `type:"map"`
5526}
5527
5528// String returns the string representation.
5529//
5530// API parameter values that are decorated as "sensitive" in the API will not
5531// be included in the string output. The member name will be present, but the
5532// value will be replaced with "sensitive".
5533func (s MemberConfiguration) String() string {
5534	return awsutil.Prettify(s)
5535}
5536
5537// GoString returns the string representation.
5538//
5539// API parameter values that are decorated as "sensitive" in the API will not
5540// be included in the string output. The member name will be present, but the
5541// value will be replaced with "sensitive".
5542func (s MemberConfiguration) GoString() string {
5543	return s.String()
5544}
5545
5546// Validate inspects the fields of the type to determine if they are valid.
5547func (s *MemberConfiguration) Validate() error {
5548	invalidParams := request.ErrInvalidParams{Context: "MemberConfiguration"}
5549	if s.FrameworkConfiguration == nil {
5550		invalidParams.Add(request.NewErrParamRequired("FrameworkConfiguration"))
5551	}
5552	if s.KmsKeyArn != nil && len(*s.KmsKeyArn) < 1 {
5553		invalidParams.Add(request.NewErrParamMinLen("KmsKeyArn", 1))
5554	}
5555	if s.Name == nil {
5556		invalidParams.Add(request.NewErrParamRequired("Name"))
5557	}
5558	if s.Name != nil && len(*s.Name) < 1 {
5559		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5560	}
5561	if s.FrameworkConfiguration != nil {
5562		if err := s.FrameworkConfiguration.Validate(); err != nil {
5563			invalidParams.AddNested("FrameworkConfiguration", err.(request.ErrInvalidParams))
5564		}
5565	}
5566
5567	if invalidParams.Len() > 0 {
5568		return invalidParams
5569	}
5570	return nil
5571}
5572
5573// SetDescription sets the Description field's value.
5574func (s *MemberConfiguration) SetDescription(v string) *MemberConfiguration {
5575	s.Description = &v
5576	return s
5577}
5578
5579// SetFrameworkConfiguration sets the FrameworkConfiguration field's value.
5580func (s *MemberConfiguration) SetFrameworkConfiguration(v *MemberFrameworkConfiguration) *MemberConfiguration {
5581	s.FrameworkConfiguration = v
5582	return s
5583}
5584
5585// SetKmsKeyArn sets the KmsKeyArn field's value.
5586func (s *MemberConfiguration) SetKmsKeyArn(v string) *MemberConfiguration {
5587	s.KmsKeyArn = &v
5588	return s
5589}
5590
5591// SetLogPublishingConfiguration sets the LogPublishingConfiguration field's value.
5592func (s *MemberConfiguration) SetLogPublishingConfiguration(v *MemberLogPublishingConfiguration) *MemberConfiguration {
5593	s.LogPublishingConfiguration = v
5594	return s
5595}
5596
5597// SetName sets the Name field's value.
5598func (s *MemberConfiguration) SetName(v string) *MemberConfiguration {
5599	s.Name = &v
5600	return s
5601}
5602
5603// SetTags sets the Tags field's value.
5604func (s *MemberConfiguration) SetTags(v map[string]*string) *MemberConfiguration {
5605	s.Tags = v
5606	return s
5607}
5608
5609// Attributes of Hyperledger Fabric for a member in a Managed Blockchain network
5610// using the Hyperledger Fabric framework.
5611type MemberFabricAttributes struct {
5612	_ struct{} `type:"structure"`
5613
5614	// The user name for the initial administrator user for the member.
5615	AdminUsername *string `min:"1" type:"string"`
5616
5617	// The endpoint used to access the member's certificate authority.
5618	CaEndpoint *string `type:"string"`
5619}
5620
5621// String returns the string representation.
5622//
5623// API parameter values that are decorated as "sensitive" in the API will not
5624// be included in the string output. The member name will be present, but the
5625// value will be replaced with "sensitive".
5626func (s MemberFabricAttributes) String() string {
5627	return awsutil.Prettify(s)
5628}
5629
5630// GoString returns the string representation.
5631//
5632// API parameter values that are decorated as "sensitive" in the API will not
5633// be included in the string output. The member name will be present, but the
5634// value will be replaced with "sensitive".
5635func (s MemberFabricAttributes) GoString() string {
5636	return s.String()
5637}
5638
5639// SetAdminUsername sets the AdminUsername field's value.
5640func (s *MemberFabricAttributes) SetAdminUsername(v string) *MemberFabricAttributes {
5641	s.AdminUsername = &v
5642	return s
5643}
5644
5645// SetCaEndpoint sets the CaEndpoint field's value.
5646func (s *MemberFabricAttributes) SetCaEndpoint(v string) *MemberFabricAttributes {
5647	s.CaEndpoint = &v
5648	return s
5649}
5650
5651// Configuration properties for Hyperledger Fabric for a member in a Managed
5652// Blockchain network using the Hyperledger Fabric framework.
5653type MemberFabricConfiguration struct {
5654	_ struct{} `type:"structure"`
5655
5656	// The password for the member's initial administrative user. The AdminPassword
5657	// must be at least eight characters long and no more than 32 characters. It
5658	// must contain at least one uppercase letter, one lowercase letter, and one
5659	// digit. It cannot have a single quotation mark (‘), a double quotation marks
5660	// (“), a forward slash(/), a backward slash(\), @, or a space.
5661	//
5662	// AdminPassword is a sensitive parameter and its value will be
5663	// replaced with "sensitive" in string returned by MemberFabricConfiguration's
5664	// String and GoString methods.
5665	//
5666	// AdminPassword is a required field
5667	AdminPassword *string `min:"8" type:"string" required:"true" sensitive:"true"`
5668
5669	// The user name for the member's initial administrative user.
5670	//
5671	// AdminUsername is a required field
5672	AdminUsername *string `min:"1" type:"string" required:"true"`
5673}
5674
5675// String returns the string representation.
5676//
5677// API parameter values that are decorated as "sensitive" in the API will not
5678// be included in the string output. The member name will be present, but the
5679// value will be replaced with "sensitive".
5680func (s MemberFabricConfiguration) String() string {
5681	return awsutil.Prettify(s)
5682}
5683
5684// GoString returns the string representation.
5685//
5686// API parameter values that are decorated as "sensitive" in the API will not
5687// be included in the string output. The member name will be present, but the
5688// value will be replaced with "sensitive".
5689func (s MemberFabricConfiguration) GoString() string {
5690	return s.String()
5691}
5692
5693// Validate inspects the fields of the type to determine if they are valid.
5694func (s *MemberFabricConfiguration) Validate() error {
5695	invalidParams := request.ErrInvalidParams{Context: "MemberFabricConfiguration"}
5696	if s.AdminPassword == nil {
5697		invalidParams.Add(request.NewErrParamRequired("AdminPassword"))
5698	}
5699	if s.AdminPassword != nil && len(*s.AdminPassword) < 8 {
5700		invalidParams.Add(request.NewErrParamMinLen("AdminPassword", 8))
5701	}
5702	if s.AdminUsername == nil {
5703		invalidParams.Add(request.NewErrParamRequired("AdminUsername"))
5704	}
5705	if s.AdminUsername != nil && len(*s.AdminUsername) < 1 {
5706		invalidParams.Add(request.NewErrParamMinLen("AdminUsername", 1))
5707	}
5708
5709	if invalidParams.Len() > 0 {
5710		return invalidParams
5711	}
5712	return nil
5713}
5714
5715// SetAdminPassword sets the AdminPassword field's value.
5716func (s *MemberFabricConfiguration) SetAdminPassword(v string) *MemberFabricConfiguration {
5717	s.AdminPassword = &v
5718	return s
5719}
5720
5721// SetAdminUsername sets the AdminUsername field's value.
5722func (s *MemberFabricConfiguration) SetAdminUsername(v string) *MemberFabricConfiguration {
5723	s.AdminUsername = &v
5724	return s
5725}
5726
5727// Configuration properties for logging events associated with a member of a
5728// Managed Blockchain network using the Hyperledger Fabric framework.
5729type MemberFabricLogPublishingConfiguration struct {
5730	_ struct{} `type:"structure"`
5731
5732	// Configuration properties for logging events associated with a member's Certificate
5733	// Authority (CA). CA logs help you determine when a member in your account
5734	// joins the network, or when new peers register with a member CA.
5735	CaLogs *LogConfigurations `type:"structure"`
5736}
5737
5738// String returns the string representation.
5739//
5740// API parameter values that are decorated as "sensitive" in the API will not
5741// be included in the string output. The member name will be present, but the
5742// value will be replaced with "sensitive".
5743func (s MemberFabricLogPublishingConfiguration) String() string {
5744	return awsutil.Prettify(s)
5745}
5746
5747// GoString returns the string representation.
5748//
5749// API parameter values that are decorated as "sensitive" in the API will not
5750// be included in the string output. The member name will be present, but the
5751// value will be replaced with "sensitive".
5752func (s MemberFabricLogPublishingConfiguration) GoString() string {
5753	return s.String()
5754}
5755
5756// SetCaLogs sets the CaLogs field's value.
5757func (s *MemberFabricLogPublishingConfiguration) SetCaLogs(v *LogConfigurations) *MemberFabricLogPublishingConfiguration {
5758	s.CaLogs = v
5759	return s
5760}
5761
5762// Attributes relevant to a member for the blockchain framework that the Managed
5763// Blockchain network uses.
5764type MemberFrameworkAttributes struct {
5765	_ struct{} `type:"structure"`
5766
5767	// Attributes of Hyperledger Fabric relevant to a member on a Managed Blockchain
5768	// network that uses Hyperledger Fabric.
5769	Fabric *MemberFabricAttributes `type:"structure"`
5770}
5771
5772// String returns the string representation.
5773//
5774// API parameter values that are decorated as "sensitive" in the API will not
5775// be included in the string output. The member name will be present, but the
5776// value will be replaced with "sensitive".
5777func (s MemberFrameworkAttributes) String() string {
5778	return awsutil.Prettify(s)
5779}
5780
5781// GoString returns the string representation.
5782//
5783// API parameter values that are decorated as "sensitive" in the API will not
5784// be included in the string output. The member name will be present, but the
5785// value will be replaced with "sensitive".
5786func (s MemberFrameworkAttributes) GoString() string {
5787	return s.String()
5788}
5789
5790// SetFabric sets the Fabric field's value.
5791func (s *MemberFrameworkAttributes) SetFabric(v *MemberFabricAttributes) *MemberFrameworkAttributes {
5792	s.Fabric = v
5793	return s
5794}
5795
5796// Configuration properties relevant to a member for the blockchain framework
5797// that the Managed Blockchain network uses.
5798type MemberFrameworkConfiguration struct {
5799	_ struct{} `type:"structure"`
5800
5801	// Attributes of Hyperledger Fabric for a member on a Managed Blockchain network
5802	// that uses Hyperledger Fabric.
5803	Fabric *MemberFabricConfiguration `type:"structure"`
5804}
5805
5806// String returns the string representation.
5807//
5808// API parameter values that are decorated as "sensitive" in the API will not
5809// be included in the string output. The member name will be present, but the
5810// value will be replaced with "sensitive".
5811func (s MemberFrameworkConfiguration) String() string {
5812	return awsutil.Prettify(s)
5813}
5814
5815// GoString returns the string representation.
5816//
5817// API parameter values that are decorated as "sensitive" in the API will not
5818// be included in the string output. The member name will be present, but the
5819// value will be replaced with "sensitive".
5820func (s MemberFrameworkConfiguration) GoString() string {
5821	return s.String()
5822}
5823
5824// Validate inspects the fields of the type to determine if they are valid.
5825func (s *MemberFrameworkConfiguration) Validate() error {
5826	invalidParams := request.ErrInvalidParams{Context: "MemberFrameworkConfiguration"}
5827	if s.Fabric != nil {
5828		if err := s.Fabric.Validate(); err != nil {
5829			invalidParams.AddNested("Fabric", err.(request.ErrInvalidParams))
5830		}
5831	}
5832
5833	if invalidParams.Len() > 0 {
5834		return invalidParams
5835	}
5836	return nil
5837}
5838
5839// SetFabric sets the Fabric field's value.
5840func (s *MemberFrameworkConfiguration) SetFabric(v *MemberFabricConfiguration) *MemberFrameworkConfiguration {
5841	s.Fabric = v
5842	return s
5843}
5844
5845// Configuration properties for logging events associated with a member of a
5846// Managed Blockchain network.
5847type MemberLogPublishingConfiguration struct {
5848	_ struct{} `type:"structure"`
5849
5850	// Configuration properties for logging events associated with a member of a
5851	// Managed Blockchain network using the Hyperledger Fabric framework.
5852	Fabric *MemberFabricLogPublishingConfiguration `type:"structure"`
5853}
5854
5855// String returns the string representation.
5856//
5857// API parameter values that are decorated as "sensitive" in the API will not
5858// be included in the string output. The member name will be present, but the
5859// value will be replaced with "sensitive".
5860func (s MemberLogPublishingConfiguration) String() string {
5861	return awsutil.Prettify(s)
5862}
5863
5864// GoString returns the string representation.
5865//
5866// API parameter values that are decorated as "sensitive" in the API will not
5867// be included in the string output. The member name will be present, but the
5868// value will be replaced with "sensitive".
5869func (s MemberLogPublishingConfiguration) GoString() string {
5870	return s.String()
5871}
5872
5873// SetFabric sets the Fabric field's value.
5874func (s *MemberLogPublishingConfiguration) SetFabric(v *MemberFabricLogPublishingConfiguration) *MemberLogPublishingConfiguration {
5875	s.Fabric = v
5876	return s
5877}
5878
5879// A summary of configuration properties for a member.
5880//
5881// Applies only to Hyperledger Fabric.
5882type MemberSummary struct {
5883	_ struct{} `type:"structure"`
5884
5885	// The Amazon Resource Name (ARN) of the member. For more information about
5886	// ARNs and their format, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
5887	// in the AWS General Reference.
5888	Arn *string `min:"1" type:"string"`
5889
5890	// The date and time that the member was created.
5891	CreationDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
5892
5893	// An optional description of the member.
5894	Description *string `type:"string"`
5895
5896	// The unique identifier of the member.
5897	Id *string `min:"1" type:"string"`
5898
5899	// An indicator of whether the member is owned by your AWS account or a different
5900	// AWS account.
5901	IsOwned *bool `type:"boolean"`
5902
5903	// The name of the member.
5904	Name *string `min:"1" type:"string"`
5905
5906	// The status of the member.
5907	//
5908	//    * CREATING - The AWS account is in the process of creating a member.
5909	//
5910	//    * AVAILABLE - The member has been created and can participate in the network.
5911	//
5912	//    * CREATE_FAILED - The AWS account attempted to create a member and creation
5913	//    failed.
5914	//
5915	//    * UPDATING - The member is in the process of being updated.
5916	//
5917	//    * DELETING - The member and all associated resources are in the process
5918	//    of being deleted. Either the AWS account that owns the member deleted
5919	//    it, or the member is being deleted as the result of an APPROVED PROPOSAL
5920	//    to remove the member.
5921	//
5922	//    * DELETED - The member can no longer participate on the network and all
5923	//    associated resources are deleted. Either the AWS account that owns the
5924	//    member deleted it, or the member is being deleted as the result of an
5925	//    APPROVED PROPOSAL to remove the member.
5926	//
5927	//    * INACCESSIBLE_ENCRYPTION_KEY - The member is impaired and might not function
5928	//    as expected because it cannot access the specified customer managed key
5929	//    in AWS Key Management Service (AWS KMS) for encryption at rest. Either
5930	//    the KMS key was disabled or deleted, or the grants on the key were revoked.
5931	//    The effect of disabling or deleting a key, or revoking a grant is not
5932	//    immediate. The member resource might take some time to find that the key
5933	//    is inaccessible. When a resource is in this state, we recommend deleting
5934	//    and recreating the resource.
5935	Status *string `type:"string" enum:"MemberStatus"`
5936}
5937
5938// String returns the string representation.
5939//
5940// API parameter values that are decorated as "sensitive" in the API will not
5941// be included in the string output. The member name will be present, but the
5942// value will be replaced with "sensitive".
5943func (s MemberSummary) String() string {
5944	return awsutil.Prettify(s)
5945}
5946
5947// GoString returns the string representation.
5948//
5949// API parameter values that are decorated as "sensitive" in the API will not
5950// be included in the string output. The member name will be present, but the
5951// value will be replaced with "sensitive".
5952func (s MemberSummary) GoString() string {
5953	return s.String()
5954}
5955
5956// SetArn sets the Arn field's value.
5957func (s *MemberSummary) SetArn(v string) *MemberSummary {
5958	s.Arn = &v
5959	return s
5960}
5961
5962// SetCreationDate sets the CreationDate field's value.
5963func (s *MemberSummary) SetCreationDate(v time.Time) *MemberSummary {
5964	s.CreationDate = &v
5965	return s
5966}
5967
5968// SetDescription sets the Description field's value.
5969func (s *MemberSummary) SetDescription(v string) *MemberSummary {
5970	s.Description = &v
5971	return s
5972}
5973
5974// SetId sets the Id field's value.
5975func (s *MemberSummary) SetId(v string) *MemberSummary {
5976	s.Id = &v
5977	return s
5978}
5979
5980// SetIsOwned sets the IsOwned field's value.
5981func (s *MemberSummary) SetIsOwned(v bool) *MemberSummary {
5982	s.IsOwned = &v
5983	return s
5984}
5985
5986// SetName sets the Name field's value.
5987func (s *MemberSummary) SetName(v string) *MemberSummary {
5988	s.Name = &v
5989	return s
5990}
5991
5992// SetStatus sets the Status field's value.
5993func (s *MemberSummary) SetStatus(v string) *MemberSummary {
5994	s.Status = &v
5995	return s
5996}
5997
5998// Network configuration properties.
5999type Network struct {
6000	_ struct{} `type:"structure"`
6001
6002	// The Amazon Resource Name (ARN) of the network. For more information about
6003	// ARNs and their format, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
6004	// in the AWS General Reference.
6005	Arn *string `min:"1" type:"string"`
6006
6007	// The date and time that the network was created.
6008	CreationDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
6009
6010	// Attributes of the blockchain framework for the network.
6011	Description *string `type:"string"`
6012
6013	// The blockchain framework that the network uses.
6014	Framework *string `type:"string" enum:"Framework"`
6015
6016	// Attributes of the blockchain framework that the network uses.
6017	FrameworkAttributes *NetworkFrameworkAttributes `type:"structure"`
6018
6019	// The version of the blockchain framework that the network uses.
6020	FrameworkVersion *string `min:"1" type:"string"`
6021
6022	// The unique identifier of the network.
6023	Id *string `min:"1" type:"string"`
6024
6025	// The name of the network.
6026	Name *string `min:"1" type:"string"`
6027
6028	// The current status of the network.
6029	Status *string `type:"string" enum:"NetworkStatus"`
6030
6031	// Tags assigned to the network. Each tag consists of a key and optional value.
6032	//
6033	// For more information about tags, see Tagging Resources (https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html)
6034	// in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources
6035	// (https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html)
6036	// in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.
6037	Tags map[string]*string `type:"map"`
6038
6039	// The voting rules for the network to decide if a proposal is accepted.
6040	VotingPolicy *VotingPolicy `type:"structure"`
6041
6042	// The VPC endpoint service name of the VPC endpoint service of the network.
6043	// Members use the VPC endpoint service name to create a VPC endpoint to access
6044	// network resources.
6045	VpcEndpointServiceName *string `type:"string"`
6046}
6047
6048// String returns the string representation.
6049//
6050// API parameter values that are decorated as "sensitive" in the API will not
6051// be included in the string output. The member name will be present, but the
6052// value will be replaced with "sensitive".
6053func (s Network) String() string {
6054	return awsutil.Prettify(s)
6055}
6056
6057// GoString returns the string representation.
6058//
6059// API parameter values that are decorated as "sensitive" in the API will not
6060// be included in the string output. The member name will be present, but the
6061// value will be replaced with "sensitive".
6062func (s Network) GoString() string {
6063	return s.String()
6064}
6065
6066// SetArn sets the Arn field's value.
6067func (s *Network) SetArn(v string) *Network {
6068	s.Arn = &v
6069	return s
6070}
6071
6072// SetCreationDate sets the CreationDate field's value.
6073func (s *Network) SetCreationDate(v time.Time) *Network {
6074	s.CreationDate = &v
6075	return s
6076}
6077
6078// SetDescription sets the Description field's value.
6079func (s *Network) SetDescription(v string) *Network {
6080	s.Description = &v
6081	return s
6082}
6083
6084// SetFramework sets the Framework field's value.
6085func (s *Network) SetFramework(v string) *Network {
6086	s.Framework = &v
6087	return s
6088}
6089
6090// SetFrameworkAttributes sets the FrameworkAttributes field's value.
6091func (s *Network) SetFrameworkAttributes(v *NetworkFrameworkAttributes) *Network {
6092	s.FrameworkAttributes = v
6093	return s
6094}
6095
6096// SetFrameworkVersion sets the FrameworkVersion field's value.
6097func (s *Network) SetFrameworkVersion(v string) *Network {
6098	s.FrameworkVersion = &v
6099	return s
6100}
6101
6102// SetId sets the Id field's value.
6103func (s *Network) SetId(v string) *Network {
6104	s.Id = &v
6105	return s
6106}
6107
6108// SetName sets the Name field's value.
6109func (s *Network) SetName(v string) *Network {
6110	s.Name = &v
6111	return s
6112}
6113
6114// SetStatus sets the Status field's value.
6115func (s *Network) SetStatus(v string) *Network {
6116	s.Status = &v
6117	return s
6118}
6119
6120// SetTags sets the Tags field's value.
6121func (s *Network) SetTags(v map[string]*string) *Network {
6122	s.Tags = v
6123	return s
6124}
6125
6126// SetVotingPolicy sets the VotingPolicy field's value.
6127func (s *Network) SetVotingPolicy(v *VotingPolicy) *Network {
6128	s.VotingPolicy = v
6129	return s
6130}
6131
6132// SetVpcEndpointServiceName sets the VpcEndpointServiceName field's value.
6133func (s *Network) SetVpcEndpointServiceName(v string) *Network {
6134	s.VpcEndpointServiceName = &v
6135	return s
6136}
6137
6138// Attributes of Ethereum for a network.
6139type NetworkEthereumAttributes struct {
6140	_ struct{} `type:"structure"`
6141
6142	// The Ethereum CHAIN_ID associated with the Ethereum network. Chain IDs are
6143	// as follows:
6144	//
6145	//    * mainnet = 1
6146	//
6147	//    * rinkeby = 4
6148	//
6149	//    * ropsten = 3
6150	ChainId *string `type:"string"`
6151}
6152
6153// String returns the string representation.
6154//
6155// API parameter values that are decorated as "sensitive" in the API will not
6156// be included in the string output. The member name will be present, but the
6157// value will be replaced with "sensitive".
6158func (s NetworkEthereumAttributes) String() string {
6159	return awsutil.Prettify(s)
6160}
6161
6162// GoString returns the string representation.
6163//
6164// API parameter values that are decorated as "sensitive" in the API will not
6165// be included in the string output. The member name will be present, but the
6166// value will be replaced with "sensitive".
6167func (s NetworkEthereumAttributes) GoString() string {
6168	return s.String()
6169}
6170
6171// SetChainId sets the ChainId field's value.
6172func (s *NetworkEthereumAttributes) SetChainId(v string) *NetworkEthereumAttributes {
6173	s.ChainId = &v
6174	return s
6175}
6176
6177// Attributes of Hyperledger Fabric for a network.
6178type NetworkFabricAttributes struct {
6179	_ struct{} `type:"structure"`
6180
6181	// The edition of Amazon Managed Blockchain that Hyperledger Fabric uses. For
6182	// more information, see Amazon Managed Blockchain Pricing (http://aws.amazon.com/managed-blockchain/pricing/).
6183	Edition *string `type:"string" enum:"Edition"`
6184
6185	// The endpoint of the ordering service for the network.
6186	OrderingServiceEndpoint *string `type:"string"`
6187}
6188
6189// String returns the string representation.
6190//
6191// API parameter values that are decorated as "sensitive" in the API will not
6192// be included in the string output. The member name will be present, but the
6193// value will be replaced with "sensitive".
6194func (s NetworkFabricAttributes) String() string {
6195	return awsutil.Prettify(s)
6196}
6197
6198// GoString returns the string representation.
6199//
6200// API parameter values that are decorated as "sensitive" in the API will not
6201// be included in the string output. The member name will be present, but the
6202// value will be replaced with "sensitive".
6203func (s NetworkFabricAttributes) GoString() string {
6204	return s.String()
6205}
6206
6207// SetEdition sets the Edition field's value.
6208func (s *NetworkFabricAttributes) SetEdition(v string) *NetworkFabricAttributes {
6209	s.Edition = &v
6210	return s
6211}
6212
6213// SetOrderingServiceEndpoint sets the OrderingServiceEndpoint field's value.
6214func (s *NetworkFabricAttributes) SetOrderingServiceEndpoint(v string) *NetworkFabricAttributes {
6215	s.OrderingServiceEndpoint = &v
6216	return s
6217}
6218
6219// Hyperledger Fabric configuration properties for the network.
6220type NetworkFabricConfiguration struct {
6221	_ struct{} `type:"structure"`
6222
6223	// The edition of Amazon Managed Blockchain that the network uses. For more
6224	// information, see Amazon Managed Blockchain Pricing (http://aws.amazon.com/managed-blockchain/pricing/).
6225	//
6226	// Edition is a required field
6227	Edition *string `type:"string" required:"true" enum:"Edition"`
6228}
6229
6230// String returns the string representation.
6231//
6232// API parameter values that are decorated as "sensitive" in the API will not
6233// be included in the string output. The member name will be present, but the
6234// value will be replaced with "sensitive".
6235func (s NetworkFabricConfiguration) String() string {
6236	return awsutil.Prettify(s)
6237}
6238
6239// GoString returns the string representation.
6240//
6241// API parameter values that are decorated as "sensitive" in the API will not
6242// be included in the string output. The member name will be present, but the
6243// value will be replaced with "sensitive".
6244func (s NetworkFabricConfiguration) GoString() string {
6245	return s.String()
6246}
6247
6248// Validate inspects the fields of the type to determine if they are valid.
6249func (s *NetworkFabricConfiguration) Validate() error {
6250	invalidParams := request.ErrInvalidParams{Context: "NetworkFabricConfiguration"}
6251	if s.Edition == nil {
6252		invalidParams.Add(request.NewErrParamRequired("Edition"))
6253	}
6254
6255	if invalidParams.Len() > 0 {
6256		return invalidParams
6257	}
6258	return nil
6259}
6260
6261// SetEdition sets the Edition field's value.
6262func (s *NetworkFabricConfiguration) SetEdition(v string) *NetworkFabricConfiguration {
6263	s.Edition = &v
6264	return s
6265}
6266
6267// Attributes relevant to the network for the blockchain framework that the
6268// network uses.
6269type NetworkFrameworkAttributes struct {
6270	_ struct{} `type:"structure"`
6271
6272	// Attributes of an Ethereum network for Managed Blockchain resources participating
6273	// in an Ethereum network.
6274	Ethereum *NetworkEthereumAttributes `type:"structure"`
6275
6276	// Attributes of Hyperledger Fabric for a Managed Blockchain network that uses
6277	// Hyperledger Fabric.
6278	Fabric *NetworkFabricAttributes `type:"structure"`
6279}
6280
6281// String returns the string representation.
6282//
6283// API parameter values that are decorated as "sensitive" in the API will not
6284// be included in the string output. The member name will be present, but the
6285// value will be replaced with "sensitive".
6286func (s NetworkFrameworkAttributes) String() string {
6287	return awsutil.Prettify(s)
6288}
6289
6290// GoString returns the string representation.
6291//
6292// API parameter values that are decorated as "sensitive" in the API will not
6293// be included in the string output. The member name will be present, but the
6294// value will be replaced with "sensitive".
6295func (s NetworkFrameworkAttributes) GoString() string {
6296	return s.String()
6297}
6298
6299// SetEthereum sets the Ethereum field's value.
6300func (s *NetworkFrameworkAttributes) SetEthereum(v *NetworkEthereumAttributes) *NetworkFrameworkAttributes {
6301	s.Ethereum = v
6302	return s
6303}
6304
6305// SetFabric sets the Fabric field's value.
6306func (s *NetworkFrameworkAttributes) SetFabric(v *NetworkFabricAttributes) *NetworkFrameworkAttributes {
6307	s.Fabric = v
6308	return s
6309}
6310
6311// Configuration properties relevant to the network for the blockchain framework
6312// that the network uses.
6313type NetworkFrameworkConfiguration struct {
6314	_ struct{} `type:"structure"`
6315
6316	// Hyperledger Fabric configuration properties for a Managed Blockchain network
6317	// that uses Hyperledger Fabric.
6318	Fabric *NetworkFabricConfiguration `type:"structure"`
6319}
6320
6321// String returns the string representation.
6322//
6323// API parameter values that are decorated as "sensitive" in the API will not
6324// be included in the string output. The member name will be present, but the
6325// value will be replaced with "sensitive".
6326func (s NetworkFrameworkConfiguration) String() string {
6327	return awsutil.Prettify(s)
6328}
6329
6330// GoString returns the string representation.
6331//
6332// API parameter values that are decorated as "sensitive" in the API will not
6333// be included in the string output. The member name will be present, but the
6334// value will be replaced with "sensitive".
6335func (s NetworkFrameworkConfiguration) GoString() string {
6336	return s.String()
6337}
6338
6339// Validate inspects the fields of the type to determine if they are valid.
6340func (s *NetworkFrameworkConfiguration) Validate() error {
6341	invalidParams := request.ErrInvalidParams{Context: "NetworkFrameworkConfiguration"}
6342	if s.Fabric != nil {
6343		if err := s.Fabric.Validate(); err != nil {
6344			invalidParams.AddNested("Fabric", err.(request.ErrInvalidParams))
6345		}
6346	}
6347
6348	if invalidParams.Len() > 0 {
6349		return invalidParams
6350	}
6351	return nil
6352}
6353
6354// SetFabric sets the Fabric field's value.
6355func (s *NetworkFrameworkConfiguration) SetFabric(v *NetworkFabricConfiguration) *NetworkFrameworkConfiguration {
6356	s.Fabric = v
6357	return s
6358}
6359
6360// A summary of network configuration properties.
6361type NetworkSummary struct {
6362	_ struct{} `type:"structure"`
6363
6364	// The Amazon Resource Name (ARN) of the network. For more information about
6365	// ARNs and their format, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
6366	// in the AWS General Reference.
6367	Arn *string `min:"1" type:"string"`
6368
6369	// The date and time that the network was created.
6370	CreationDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
6371
6372	// An optional description of the network.
6373	Description *string `type:"string"`
6374
6375	// The blockchain framework that the network uses.
6376	Framework *string `type:"string" enum:"Framework"`
6377
6378	// The version of the blockchain framework that the network uses.
6379	FrameworkVersion *string `min:"1" type:"string"`
6380
6381	// The unique identifier of the network.
6382	Id *string `min:"1" type:"string"`
6383
6384	// The name of the network.
6385	Name *string `min:"1" type:"string"`
6386
6387	// The current status of the network.
6388	Status *string `type:"string" enum:"NetworkStatus"`
6389}
6390
6391// String returns the string representation.
6392//
6393// API parameter values that are decorated as "sensitive" in the API will not
6394// be included in the string output. The member name will be present, but the
6395// value will be replaced with "sensitive".
6396func (s NetworkSummary) String() string {
6397	return awsutil.Prettify(s)
6398}
6399
6400// GoString returns the string representation.
6401//
6402// API parameter values that are decorated as "sensitive" in the API will not
6403// be included in the string output. The member name will be present, but the
6404// value will be replaced with "sensitive".
6405func (s NetworkSummary) GoString() string {
6406	return s.String()
6407}
6408
6409// SetArn sets the Arn field's value.
6410func (s *NetworkSummary) SetArn(v string) *NetworkSummary {
6411	s.Arn = &v
6412	return s
6413}
6414
6415// SetCreationDate sets the CreationDate field's value.
6416func (s *NetworkSummary) SetCreationDate(v time.Time) *NetworkSummary {
6417	s.CreationDate = &v
6418	return s
6419}
6420
6421// SetDescription sets the Description field's value.
6422func (s *NetworkSummary) SetDescription(v string) *NetworkSummary {
6423	s.Description = &v
6424	return s
6425}
6426
6427// SetFramework sets the Framework field's value.
6428func (s *NetworkSummary) SetFramework(v string) *NetworkSummary {
6429	s.Framework = &v
6430	return s
6431}
6432
6433// SetFrameworkVersion sets the FrameworkVersion field's value.
6434func (s *NetworkSummary) SetFrameworkVersion(v string) *NetworkSummary {
6435	s.FrameworkVersion = &v
6436	return s
6437}
6438
6439// SetId sets the Id field's value.
6440func (s *NetworkSummary) SetId(v string) *NetworkSummary {
6441	s.Id = &v
6442	return s
6443}
6444
6445// SetName sets the Name field's value.
6446func (s *NetworkSummary) SetName(v string) *NetworkSummary {
6447	s.Name = &v
6448	return s
6449}
6450
6451// SetStatus sets the Status field's value.
6452func (s *NetworkSummary) SetStatus(v string) *NetworkSummary {
6453	s.Status = &v
6454	return s
6455}
6456
6457// Configuration properties of a node.
6458type Node struct {
6459	_ struct{} `type:"structure"`
6460
6461	// The Amazon Resource Name (ARN) of the node. For more information about ARNs
6462	// and their format, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
6463	// in the AWS General Reference.
6464	Arn *string `min:"1" type:"string"`
6465
6466	// The Availability Zone in which the node exists. Required for Ethereum nodes.
6467	AvailabilityZone *string `type:"string"`
6468
6469	// The date and time that the node was created.
6470	CreationDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
6471
6472	// Attributes of the blockchain framework being used.
6473	FrameworkAttributes *NodeFrameworkAttributes `type:"structure"`
6474
6475	// The unique identifier of the node.
6476	Id *string `min:"1" type:"string"`
6477
6478	// The instance type of the node.
6479	InstanceType *string `type:"string"`
6480
6481	// The Amazon Resource Name (ARN) of the customer managed key in AWS Key Management
6482	// Service (AWS KMS) that the node uses for encryption at rest. If the value
6483	// of this parameter is "AWS Owned KMS Key", the node uses an AWS owned KMS
6484	// key for encryption. The node inherits this parameter from the member that
6485	// it belongs to.
6486	//
6487	// Applies only to Hyperledger Fabric.
6488	KmsKeyArn *string `type:"string"`
6489
6490	// Configuration properties for logging events associated with a peer node on
6491	// a Hyperledger Fabric network on Managed Blockchain.
6492	LogPublishingConfiguration *NodeLogPublishingConfiguration `type:"structure"`
6493
6494	// The unique identifier of the member to which the node belongs.
6495	//
6496	// Applies only to Hyperledger Fabric.
6497	MemberId *string `min:"1" type:"string"`
6498
6499	// The unique identifier of the network that the node is on.
6500	NetworkId *string `min:"1" type:"string"`
6501
6502	// The state database that the node uses. Values are LevelDB or CouchDB.
6503	//
6504	// Applies only to Hyperledger Fabric.
6505	StateDB *string `type:"string" enum:"StateDBType"`
6506
6507	// The status of the node.
6508	//
6509	//    * CREATING - The AWS account is in the process of creating a node.
6510	//
6511	//    * AVAILABLE - The node has been created and can participate in the network.
6512	//
6513	//    * UNHEALTHY - The node is impaired and might not function as expected.
6514	//    Amazon Managed Blockchain automatically finds nodes in this state and
6515	//    tries to recover them. If a node is recoverable, it returns to AVAILABLE.
6516	//    Otherwise, it moves to FAILED status.
6517	//
6518	//    * CREATE_FAILED - The AWS account attempted to create a node and creation
6519	//    failed.
6520	//
6521	//    * UPDATING - The node is in the process of being updated.
6522	//
6523	//    * DELETING - The node is in the process of being deleted.
6524	//
6525	//    * DELETED - The node can no longer participate on the network.
6526	//
6527	//    * FAILED - The node is no longer functional, cannot be recovered, and
6528	//    must be deleted.
6529	//
6530	//    * INACCESSIBLE_ENCRYPTION_KEY - The node is impaired and might not function
6531	//    as expected because it cannot access the specified customer managed key
6532	//    in AWS KMS for encryption at rest. Either the KMS key was disabled or
6533	//    deleted, or the grants on the key were revoked. The effect of disabling
6534	//    or deleting a key, or revoking a grant is not immediate. The node resource
6535	//    might take some time to find that the key is inaccessible. When a resource
6536	//    is in this state, we recommend deleting and recreating the resource.
6537	Status *string `type:"string" enum:"NodeStatus"`
6538
6539	// Tags assigned to the node. Each tag consists of a key and optional value.
6540	//
6541	// For more information about tags, see Tagging Resources (https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html)
6542	// in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources
6543	// (https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html)
6544	// in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.
6545	Tags map[string]*string `type:"map"`
6546}
6547
6548// String returns the string representation.
6549//
6550// API parameter values that are decorated as "sensitive" in the API will not
6551// be included in the string output. The member name will be present, but the
6552// value will be replaced with "sensitive".
6553func (s Node) String() string {
6554	return awsutil.Prettify(s)
6555}
6556
6557// GoString returns the string representation.
6558//
6559// API parameter values that are decorated as "sensitive" in the API will not
6560// be included in the string output. The member name will be present, but the
6561// value will be replaced with "sensitive".
6562func (s Node) GoString() string {
6563	return s.String()
6564}
6565
6566// SetArn sets the Arn field's value.
6567func (s *Node) SetArn(v string) *Node {
6568	s.Arn = &v
6569	return s
6570}
6571
6572// SetAvailabilityZone sets the AvailabilityZone field's value.
6573func (s *Node) SetAvailabilityZone(v string) *Node {
6574	s.AvailabilityZone = &v
6575	return s
6576}
6577
6578// SetCreationDate sets the CreationDate field's value.
6579func (s *Node) SetCreationDate(v time.Time) *Node {
6580	s.CreationDate = &v
6581	return s
6582}
6583
6584// SetFrameworkAttributes sets the FrameworkAttributes field's value.
6585func (s *Node) SetFrameworkAttributes(v *NodeFrameworkAttributes) *Node {
6586	s.FrameworkAttributes = v
6587	return s
6588}
6589
6590// SetId sets the Id field's value.
6591func (s *Node) SetId(v string) *Node {
6592	s.Id = &v
6593	return s
6594}
6595
6596// SetInstanceType sets the InstanceType field's value.
6597func (s *Node) SetInstanceType(v string) *Node {
6598	s.InstanceType = &v
6599	return s
6600}
6601
6602// SetKmsKeyArn sets the KmsKeyArn field's value.
6603func (s *Node) SetKmsKeyArn(v string) *Node {
6604	s.KmsKeyArn = &v
6605	return s
6606}
6607
6608// SetLogPublishingConfiguration sets the LogPublishingConfiguration field's value.
6609func (s *Node) SetLogPublishingConfiguration(v *NodeLogPublishingConfiguration) *Node {
6610	s.LogPublishingConfiguration = v
6611	return s
6612}
6613
6614// SetMemberId sets the MemberId field's value.
6615func (s *Node) SetMemberId(v string) *Node {
6616	s.MemberId = &v
6617	return s
6618}
6619
6620// SetNetworkId sets the NetworkId field's value.
6621func (s *Node) SetNetworkId(v string) *Node {
6622	s.NetworkId = &v
6623	return s
6624}
6625
6626// SetStateDB sets the StateDB field's value.
6627func (s *Node) SetStateDB(v string) *Node {
6628	s.StateDB = &v
6629	return s
6630}
6631
6632// SetStatus sets the Status field's value.
6633func (s *Node) SetStatus(v string) *Node {
6634	s.Status = &v
6635	return s
6636}
6637
6638// SetTags sets the Tags field's value.
6639func (s *Node) SetTags(v map[string]*string) *Node {
6640	s.Tags = v
6641	return s
6642}
6643
6644// Configuration properties of a node.
6645type NodeConfiguration struct {
6646	_ struct{} `type:"structure"`
6647
6648	// The Availability Zone in which the node exists. Required for Ethereum nodes.
6649	AvailabilityZone *string `type:"string"`
6650
6651	// The Amazon Managed Blockchain instance type for the node.
6652	//
6653	// InstanceType is a required field
6654	InstanceType *string `type:"string" required:"true"`
6655
6656	// Configuration properties for logging events associated with a peer node on
6657	// a Hyperledger Fabric network on Managed Blockchain.
6658	LogPublishingConfiguration *NodeLogPublishingConfiguration `type:"structure"`
6659
6660	// The state database that the node uses. Values are LevelDB or CouchDB. When
6661	// using an Amazon Managed Blockchain network with Hyperledger Fabric version
6662	// 1.4 or later, the default is CouchDB.
6663	//
6664	// Applies only to Hyperledger Fabric.
6665	StateDB *string `type:"string" enum:"StateDBType"`
6666}
6667
6668// String returns the string representation.
6669//
6670// API parameter values that are decorated as "sensitive" in the API will not
6671// be included in the string output. The member name will be present, but the
6672// value will be replaced with "sensitive".
6673func (s NodeConfiguration) String() string {
6674	return awsutil.Prettify(s)
6675}
6676
6677// GoString returns the string representation.
6678//
6679// API parameter values that are decorated as "sensitive" in the API will not
6680// be included in the string output. The member name will be present, but the
6681// value will be replaced with "sensitive".
6682func (s NodeConfiguration) GoString() string {
6683	return s.String()
6684}
6685
6686// Validate inspects the fields of the type to determine if they are valid.
6687func (s *NodeConfiguration) Validate() error {
6688	invalidParams := request.ErrInvalidParams{Context: "NodeConfiguration"}
6689	if s.InstanceType == nil {
6690		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
6691	}
6692
6693	if invalidParams.Len() > 0 {
6694		return invalidParams
6695	}
6696	return nil
6697}
6698
6699// SetAvailabilityZone sets the AvailabilityZone field's value.
6700func (s *NodeConfiguration) SetAvailabilityZone(v string) *NodeConfiguration {
6701	s.AvailabilityZone = &v
6702	return s
6703}
6704
6705// SetInstanceType sets the InstanceType field's value.
6706func (s *NodeConfiguration) SetInstanceType(v string) *NodeConfiguration {
6707	s.InstanceType = &v
6708	return s
6709}
6710
6711// SetLogPublishingConfiguration sets the LogPublishingConfiguration field's value.
6712func (s *NodeConfiguration) SetLogPublishingConfiguration(v *NodeLogPublishingConfiguration) *NodeConfiguration {
6713	s.LogPublishingConfiguration = v
6714	return s
6715}
6716
6717// SetStateDB sets the StateDB field's value.
6718func (s *NodeConfiguration) SetStateDB(v string) *NodeConfiguration {
6719	s.StateDB = &v
6720	return s
6721}
6722
6723// Attributes of an Ethereum node.
6724type NodeEthereumAttributes struct {
6725	_ struct{} `type:"structure"`
6726
6727	// The endpoint on which the Ethereum node listens to run Ethereum JSON-RPC
6728	// methods over HTTP connections from a client. Use this endpoint in client
6729	// code for smart contracts when using an HTTP connection. Connections to this
6730	// endpoint are authenticated using Signature Version 4 (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
6731	HttpEndpoint *string `type:"string"`
6732
6733	// The endpoint on which the Ethereum node listens to run Ethereum JSON-RPC
6734	// methods over WebSockets connections from a client. Use this endpoint in client
6735	// code for smart contracts when using a WebSockets connection. Connections
6736	// to this endpoint are authenticated using Signature Version 4 (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
6737	WebSocketEndpoint *string `type:"string"`
6738}
6739
6740// String returns the string representation.
6741//
6742// API parameter values that are decorated as "sensitive" in the API will not
6743// be included in the string output. The member name will be present, but the
6744// value will be replaced with "sensitive".
6745func (s NodeEthereumAttributes) String() string {
6746	return awsutil.Prettify(s)
6747}
6748
6749// GoString returns the string representation.
6750//
6751// API parameter values that are decorated as "sensitive" in the API will not
6752// be included in the string output. The member name will be present, but the
6753// value will be replaced with "sensitive".
6754func (s NodeEthereumAttributes) GoString() string {
6755	return s.String()
6756}
6757
6758// SetHttpEndpoint sets the HttpEndpoint field's value.
6759func (s *NodeEthereumAttributes) SetHttpEndpoint(v string) *NodeEthereumAttributes {
6760	s.HttpEndpoint = &v
6761	return s
6762}
6763
6764// SetWebSocketEndpoint sets the WebSocketEndpoint field's value.
6765func (s *NodeEthereumAttributes) SetWebSocketEndpoint(v string) *NodeEthereumAttributes {
6766	s.WebSocketEndpoint = &v
6767	return s
6768}
6769
6770// Attributes of Hyperledger Fabric for a peer node on a Hyperledger Fabric
6771// network on Managed Blockchain.
6772type NodeFabricAttributes struct {
6773	_ struct{} `type:"structure"`
6774
6775	// The endpoint that identifies the peer node for all services except peer channel-based
6776	// event services.
6777	PeerEndpoint *string `type:"string"`
6778
6779	// The endpoint that identifies the peer node for peer channel-based event services.
6780	PeerEventEndpoint *string `type:"string"`
6781}
6782
6783// String returns the string representation.
6784//
6785// API parameter values that are decorated as "sensitive" in the API will not
6786// be included in the string output. The member name will be present, but the
6787// value will be replaced with "sensitive".
6788func (s NodeFabricAttributes) String() string {
6789	return awsutil.Prettify(s)
6790}
6791
6792// GoString returns the string representation.
6793//
6794// API parameter values that are decorated as "sensitive" in the API will not
6795// be included in the string output. The member name will be present, but the
6796// value will be replaced with "sensitive".
6797func (s NodeFabricAttributes) GoString() string {
6798	return s.String()
6799}
6800
6801// SetPeerEndpoint sets the PeerEndpoint field's value.
6802func (s *NodeFabricAttributes) SetPeerEndpoint(v string) *NodeFabricAttributes {
6803	s.PeerEndpoint = &v
6804	return s
6805}
6806
6807// SetPeerEventEndpoint sets the PeerEventEndpoint field's value.
6808func (s *NodeFabricAttributes) SetPeerEventEndpoint(v string) *NodeFabricAttributes {
6809	s.PeerEventEndpoint = &v
6810	return s
6811}
6812
6813// Configuration properties for logging events associated with a peer node owned
6814// by a member in a Managed Blockchain network.
6815type NodeFabricLogPublishingConfiguration struct {
6816	_ struct{} `type:"structure"`
6817
6818	// Configuration properties for logging events associated with chaincode execution
6819	// on a peer node. Chaincode logs contain the results of instantiating, invoking,
6820	// and querying the chaincode. A peer can run multiple instances of chaincode.
6821	// When enabled, a log stream is created for all chaincodes, with an individual
6822	// log stream for each chaincode.
6823	ChaincodeLogs *LogConfigurations `type:"structure"`
6824
6825	// Configuration properties for a peer node log. Peer node logs contain messages
6826	// generated when your client submits transaction proposals to peer nodes, requests
6827	// to join channels, enrolls an admin peer, and lists the chaincode instances
6828	// on a peer node.
6829	PeerLogs *LogConfigurations `type:"structure"`
6830}
6831
6832// String returns the string representation.
6833//
6834// API parameter values that are decorated as "sensitive" in the API will not
6835// be included in the string output. The member name will be present, but the
6836// value will be replaced with "sensitive".
6837func (s NodeFabricLogPublishingConfiguration) String() string {
6838	return awsutil.Prettify(s)
6839}
6840
6841// GoString returns the string representation.
6842//
6843// API parameter values that are decorated as "sensitive" in the API will not
6844// be included in the string output. The member name will be present, but the
6845// value will be replaced with "sensitive".
6846func (s NodeFabricLogPublishingConfiguration) GoString() string {
6847	return s.String()
6848}
6849
6850// SetChaincodeLogs sets the ChaincodeLogs field's value.
6851func (s *NodeFabricLogPublishingConfiguration) SetChaincodeLogs(v *LogConfigurations) *NodeFabricLogPublishingConfiguration {
6852	s.ChaincodeLogs = v
6853	return s
6854}
6855
6856// SetPeerLogs sets the PeerLogs field's value.
6857func (s *NodeFabricLogPublishingConfiguration) SetPeerLogs(v *LogConfigurations) *NodeFabricLogPublishingConfiguration {
6858	s.PeerLogs = v
6859	return s
6860}
6861
6862// Attributes relevant to a node on a Managed Blockchain network for the blockchain
6863// framework that the network uses.
6864type NodeFrameworkAttributes struct {
6865	_ struct{} `type:"structure"`
6866
6867	// Attributes of Ethereum for a node on a Managed Blockchain network that uses
6868	// Ethereum.
6869	Ethereum *NodeEthereumAttributes `type:"structure"`
6870
6871	// Attributes of Hyperledger Fabric for a peer node on a Managed Blockchain
6872	// network that uses Hyperledger Fabric.
6873	Fabric *NodeFabricAttributes `type:"structure"`
6874}
6875
6876// String returns the string representation.
6877//
6878// API parameter values that are decorated as "sensitive" in the API will not
6879// be included in the string output. The member name will be present, but the
6880// value will be replaced with "sensitive".
6881func (s NodeFrameworkAttributes) String() string {
6882	return awsutil.Prettify(s)
6883}
6884
6885// GoString returns the string representation.
6886//
6887// API parameter values that are decorated as "sensitive" in the API will not
6888// be included in the string output. The member name will be present, but the
6889// value will be replaced with "sensitive".
6890func (s NodeFrameworkAttributes) GoString() string {
6891	return s.String()
6892}
6893
6894// SetEthereum sets the Ethereum field's value.
6895func (s *NodeFrameworkAttributes) SetEthereum(v *NodeEthereumAttributes) *NodeFrameworkAttributes {
6896	s.Ethereum = v
6897	return s
6898}
6899
6900// SetFabric sets the Fabric field's value.
6901func (s *NodeFrameworkAttributes) SetFabric(v *NodeFabricAttributes) *NodeFrameworkAttributes {
6902	s.Fabric = v
6903	return s
6904}
6905
6906// Configuration properties for logging events associated with a peer node on
6907// a Hyperledger Fabric network on Managed Blockchain.
6908type NodeLogPublishingConfiguration struct {
6909	_ struct{} `type:"structure"`
6910
6911	// Configuration properties for logging events associated with a node that is
6912	// owned by a member of a Managed Blockchain network using the Hyperledger Fabric
6913	// framework.
6914	Fabric *NodeFabricLogPublishingConfiguration `type:"structure"`
6915}
6916
6917// String returns the string representation.
6918//
6919// API parameter values that are decorated as "sensitive" in the API will not
6920// be included in the string output. The member name will be present, but the
6921// value will be replaced with "sensitive".
6922func (s NodeLogPublishingConfiguration) String() string {
6923	return awsutil.Prettify(s)
6924}
6925
6926// GoString returns the string representation.
6927//
6928// API parameter values that are decorated as "sensitive" in the API will not
6929// be included in the string output. The member name will be present, but the
6930// value will be replaced with "sensitive".
6931func (s NodeLogPublishingConfiguration) GoString() string {
6932	return s.String()
6933}
6934
6935// SetFabric sets the Fabric field's value.
6936func (s *NodeLogPublishingConfiguration) SetFabric(v *NodeFabricLogPublishingConfiguration) *NodeLogPublishingConfiguration {
6937	s.Fabric = v
6938	return s
6939}
6940
6941// A summary of configuration properties for a node.
6942type NodeSummary struct {
6943	_ struct{} `type:"structure"`
6944
6945	// The Amazon Resource Name (ARN) of the node. For more information about ARNs
6946	// and their format, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
6947	// in the AWS General Reference.
6948	Arn *string `min:"1" type:"string"`
6949
6950	// The Availability Zone in which the node exists.
6951	AvailabilityZone *string `type:"string"`
6952
6953	// The date and time that the node was created.
6954	CreationDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
6955
6956	// The unique identifier of the node.
6957	Id *string `min:"1" type:"string"`
6958
6959	// The EC2 instance type for the node.
6960	InstanceType *string `type:"string"`
6961
6962	// The status of the node.
6963	Status *string `type:"string" enum:"NodeStatus"`
6964}
6965
6966// String returns the string representation.
6967//
6968// API parameter values that are decorated as "sensitive" in the API will not
6969// be included in the string output. The member name will be present, but the
6970// value will be replaced with "sensitive".
6971func (s NodeSummary) String() string {
6972	return awsutil.Prettify(s)
6973}
6974
6975// GoString returns the string representation.
6976//
6977// API parameter values that are decorated as "sensitive" in the API will not
6978// be included in the string output. The member name will be present, but the
6979// value will be replaced with "sensitive".
6980func (s NodeSummary) GoString() string {
6981	return s.String()
6982}
6983
6984// SetArn sets the Arn field's value.
6985func (s *NodeSummary) SetArn(v string) *NodeSummary {
6986	s.Arn = &v
6987	return s
6988}
6989
6990// SetAvailabilityZone sets the AvailabilityZone field's value.
6991func (s *NodeSummary) SetAvailabilityZone(v string) *NodeSummary {
6992	s.AvailabilityZone = &v
6993	return s
6994}
6995
6996// SetCreationDate sets the CreationDate field's value.
6997func (s *NodeSummary) SetCreationDate(v time.Time) *NodeSummary {
6998	s.CreationDate = &v
6999	return s
7000}
7001
7002// SetId sets the Id field's value.
7003func (s *NodeSummary) SetId(v string) *NodeSummary {
7004	s.Id = &v
7005	return s
7006}
7007
7008// SetInstanceType sets the InstanceType field's value.
7009func (s *NodeSummary) SetInstanceType(v string) *NodeSummary {
7010	s.InstanceType = &v
7011	return s
7012}
7013
7014// SetStatus sets the Status field's value.
7015func (s *NodeSummary) SetStatus(v string) *NodeSummary {
7016	s.Status = &v
7017	return s
7018}
7019
7020// Properties of a proposal on a Managed Blockchain network.
7021//
7022// Applies only to Hyperledger Fabric.
7023type Proposal struct {
7024	_ struct{} `type:"structure"`
7025
7026	// The actions to perform on the network if the proposal is APPROVED.
7027	Actions *ProposalActions `type:"structure"`
7028
7029	// The Amazon Resource Name (ARN) of the proposal. For more information about
7030	// ARNs and their format, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
7031	// in the AWS General Reference.
7032	Arn *string `min:"1" type:"string"`
7033
7034	// The date and time that the proposal was created.
7035	CreationDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
7036
7037	// The description of the proposal.
7038	Description *string `type:"string"`
7039
7040	// The date and time that the proposal expires. This is the CreationDate plus
7041	// the ProposalDurationInHours that is specified in the ProposalThresholdPolicy.
7042	// After this date and time, if members have not cast enough votes to determine
7043	// the outcome according to the voting policy, the proposal is EXPIRED and Actions
7044	// are not carried out.
7045	ExpirationDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
7046
7047	// The unique identifier of the network for which the proposal is made.
7048	NetworkId *string `min:"1" type:"string"`
7049
7050	// The current total of NO votes cast on the proposal by members.
7051	NoVoteCount *int64 `type:"integer"`
7052
7053	// The number of votes remaining to be cast on the proposal by members. In other
7054	// words, the number of members minus the sum of YES votes and NO votes.
7055	OutstandingVoteCount *int64 `type:"integer"`
7056
7057	// The unique identifier of the proposal.
7058	ProposalId *string `min:"1" type:"string"`
7059
7060	// The unique identifier of the member that created the proposal.
7061	ProposedByMemberId *string `min:"1" type:"string"`
7062
7063	// The name of the member that created the proposal.
7064	ProposedByMemberName *string `min:"1" type:"string"`
7065
7066	// The status of the proposal. Values are as follows:
7067	//
7068	//    * IN_PROGRESS - The proposal is active and open for member voting.
7069	//
7070	//    * APPROVED - The proposal was approved with sufficient YES votes among
7071	//    members according to the VotingPolicy specified for the Network. The specified
7072	//    proposal actions are carried out.
7073	//
7074	//    * REJECTED - The proposal was rejected with insufficient YES votes among
7075	//    members according to the VotingPolicy specified for the Network. The specified
7076	//    ProposalActions are not carried out.
7077	//
7078	//    * EXPIRED - Members did not cast the number of votes required to determine
7079	//    the proposal outcome before the proposal expired. The specified ProposalActions
7080	//    are not carried out.
7081	//
7082	//    * ACTION_FAILED - One or more of the specified ProposalActions in a proposal
7083	//    that was approved could not be completed because of an error. The ACTION_FAILED
7084	//    status occurs even if only one ProposalAction fails and other actions
7085	//    are successful.
7086	Status *string `type:"string" enum:"ProposalStatus"`
7087
7088	// Tags assigned to the proposal. Each tag consists of a key and optional value.
7089	//
7090	// For more information about tags, see Tagging Resources (https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html)
7091	// in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources
7092	// (https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html)
7093	// in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.
7094	Tags map[string]*string `type:"map"`
7095
7096	// The current total of YES votes cast on the proposal by members.
7097	YesVoteCount *int64 `type:"integer"`
7098}
7099
7100// String returns the string representation.
7101//
7102// API parameter values that are decorated as "sensitive" in the API will not
7103// be included in the string output. The member name will be present, but the
7104// value will be replaced with "sensitive".
7105func (s Proposal) String() string {
7106	return awsutil.Prettify(s)
7107}
7108
7109// GoString returns the string representation.
7110//
7111// API parameter values that are decorated as "sensitive" in the API will not
7112// be included in the string output. The member name will be present, but the
7113// value will be replaced with "sensitive".
7114func (s Proposal) GoString() string {
7115	return s.String()
7116}
7117
7118// SetActions sets the Actions field's value.
7119func (s *Proposal) SetActions(v *ProposalActions) *Proposal {
7120	s.Actions = v
7121	return s
7122}
7123
7124// SetArn sets the Arn field's value.
7125func (s *Proposal) SetArn(v string) *Proposal {
7126	s.Arn = &v
7127	return s
7128}
7129
7130// SetCreationDate sets the CreationDate field's value.
7131func (s *Proposal) SetCreationDate(v time.Time) *Proposal {
7132	s.CreationDate = &v
7133	return s
7134}
7135
7136// SetDescription sets the Description field's value.
7137func (s *Proposal) SetDescription(v string) *Proposal {
7138	s.Description = &v
7139	return s
7140}
7141
7142// SetExpirationDate sets the ExpirationDate field's value.
7143func (s *Proposal) SetExpirationDate(v time.Time) *Proposal {
7144	s.ExpirationDate = &v
7145	return s
7146}
7147
7148// SetNetworkId sets the NetworkId field's value.
7149func (s *Proposal) SetNetworkId(v string) *Proposal {
7150	s.NetworkId = &v
7151	return s
7152}
7153
7154// SetNoVoteCount sets the NoVoteCount field's value.
7155func (s *Proposal) SetNoVoteCount(v int64) *Proposal {
7156	s.NoVoteCount = &v
7157	return s
7158}
7159
7160// SetOutstandingVoteCount sets the OutstandingVoteCount field's value.
7161func (s *Proposal) SetOutstandingVoteCount(v int64) *Proposal {
7162	s.OutstandingVoteCount = &v
7163	return s
7164}
7165
7166// SetProposalId sets the ProposalId field's value.
7167func (s *Proposal) SetProposalId(v string) *Proposal {
7168	s.ProposalId = &v
7169	return s
7170}
7171
7172// SetProposedByMemberId sets the ProposedByMemberId field's value.
7173func (s *Proposal) SetProposedByMemberId(v string) *Proposal {
7174	s.ProposedByMemberId = &v
7175	return s
7176}
7177
7178// SetProposedByMemberName sets the ProposedByMemberName field's value.
7179func (s *Proposal) SetProposedByMemberName(v string) *Proposal {
7180	s.ProposedByMemberName = &v
7181	return s
7182}
7183
7184// SetStatus sets the Status field's value.
7185func (s *Proposal) SetStatus(v string) *Proposal {
7186	s.Status = &v
7187	return s
7188}
7189
7190// SetTags sets the Tags field's value.
7191func (s *Proposal) SetTags(v map[string]*string) *Proposal {
7192	s.Tags = v
7193	return s
7194}
7195
7196// SetYesVoteCount sets the YesVoteCount field's value.
7197func (s *Proposal) SetYesVoteCount(v int64) *Proposal {
7198	s.YesVoteCount = &v
7199	return s
7200}
7201
7202// The actions to carry out if a proposal is APPROVED.
7203//
7204// Applies only to Hyperledger Fabric.
7205type ProposalActions struct {
7206	_ struct{} `type:"structure"`
7207
7208	// The actions to perform for an APPROVED proposal to invite an AWS account
7209	// to create a member and join the network.
7210	Invitations []*InviteAction `type:"list"`
7211
7212	// The actions to perform for an APPROVED proposal to remove a member from the
7213	// network, which deletes the member and all associated member resources from
7214	// the network.
7215	Removals []*RemoveAction `type:"list"`
7216}
7217
7218// String returns the string representation.
7219//
7220// API parameter values that are decorated as "sensitive" in the API will not
7221// be included in the string output. The member name will be present, but the
7222// value will be replaced with "sensitive".
7223func (s ProposalActions) String() string {
7224	return awsutil.Prettify(s)
7225}
7226
7227// GoString returns the string representation.
7228//
7229// API parameter values that are decorated as "sensitive" in the API will not
7230// be included in the string output. The member name will be present, but the
7231// value will be replaced with "sensitive".
7232func (s ProposalActions) GoString() string {
7233	return s.String()
7234}
7235
7236// Validate inspects the fields of the type to determine if they are valid.
7237func (s *ProposalActions) Validate() error {
7238	invalidParams := request.ErrInvalidParams{Context: "ProposalActions"}
7239	if s.Invitations != nil {
7240		for i, v := range s.Invitations {
7241			if v == nil {
7242				continue
7243			}
7244			if err := v.Validate(); err != nil {
7245				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Invitations", i), err.(request.ErrInvalidParams))
7246			}
7247		}
7248	}
7249	if s.Removals != nil {
7250		for i, v := range s.Removals {
7251			if v == nil {
7252				continue
7253			}
7254			if err := v.Validate(); err != nil {
7255				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Removals", i), err.(request.ErrInvalidParams))
7256			}
7257		}
7258	}
7259
7260	if invalidParams.Len() > 0 {
7261		return invalidParams
7262	}
7263	return nil
7264}
7265
7266// SetInvitations sets the Invitations field's value.
7267func (s *ProposalActions) SetInvitations(v []*InviteAction) *ProposalActions {
7268	s.Invitations = v
7269	return s
7270}
7271
7272// SetRemovals sets the Removals field's value.
7273func (s *ProposalActions) SetRemovals(v []*RemoveAction) *ProposalActions {
7274	s.Removals = v
7275	return s
7276}
7277
7278// Properties of a proposal.
7279//
7280// Applies only to Hyperledger Fabric.
7281type ProposalSummary struct {
7282	_ struct{} `type:"structure"`
7283
7284	// The Amazon Resource Name (ARN) of the proposal. For more information about
7285	// ARNs and their format, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
7286	// in the AWS General Reference.
7287	Arn *string `min:"1" type:"string"`
7288
7289	// The date and time that the proposal was created.
7290	CreationDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
7291
7292	// The description of the proposal.
7293	Description *string `type:"string"`
7294
7295	// The date and time that the proposal expires. This is the CreationDate plus
7296	// the ProposalDurationInHours that is specified in the ProposalThresholdPolicy.
7297	// After this date and time, if members have not cast enough votes to determine
7298	// the outcome according to the voting policy, the proposal is EXPIRED and Actions
7299	// are not carried out.
7300	ExpirationDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
7301
7302	// The unique identifier of the proposal.
7303	ProposalId *string `min:"1" type:"string"`
7304
7305	// The unique identifier of the member that created the proposal.
7306	ProposedByMemberId *string `min:"1" type:"string"`
7307
7308	// The name of the member that created the proposal.
7309	ProposedByMemberName *string `min:"1" type:"string"`
7310
7311	// The status of the proposal. Values are as follows:
7312	//
7313	//    * IN_PROGRESS - The proposal is active and open for member voting.
7314	//
7315	//    * APPROVED - The proposal was approved with sufficient YES votes among
7316	//    members according to the VotingPolicy specified for the Network. The specified
7317	//    proposal actions are carried out.
7318	//
7319	//    * REJECTED - The proposal was rejected with insufficient YES votes among
7320	//    members according to the VotingPolicy specified for the Network. The specified
7321	//    ProposalActions are not carried out.
7322	//
7323	//    * EXPIRED - Members did not cast the number of votes required to determine
7324	//    the proposal outcome before the proposal expired. The specified ProposalActions
7325	//    are not carried out.
7326	//
7327	//    * ACTION_FAILED - One or more of the specified ProposalActions in a proposal
7328	//    that was approved could not be completed because of an error.
7329	Status *string `type:"string" enum:"ProposalStatus"`
7330}
7331
7332// String returns the string representation.
7333//
7334// API parameter values that are decorated as "sensitive" in the API will not
7335// be included in the string output. The member name will be present, but the
7336// value will be replaced with "sensitive".
7337func (s ProposalSummary) String() string {
7338	return awsutil.Prettify(s)
7339}
7340
7341// GoString returns the string representation.
7342//
7343// API parameter values that are decorated as "sensitive" in the API will not
7344// be included in the string output. The member name will be present, but the
7345// value will be replaced with "sensitive".
7346func (s ProposalSummary) GoString() string {
7347	return s.String()
7348}
7349
7350// SetArn sets the Arn field's value.
7351func (s *ProposalSummary) SetArn(v string) *ProposalSummary {
7352	s.Arn = &v
7353	return s
7354}
7355
7356// SetCreationDate sets the CreationDate field's value.
7357func (s *ProposalSummary) SetCreationDate(v time.Time) *ProposalSummary {
7358	s.CreationDate = &v
7359	return s
7360}
7361
7362// SetDescription sets the Description field's value.
7363func (s *ProposalSummary) SetDescription(v string) *ProposalSummary {
7364	s.Description = &v
7365	return s
7366}
7367
7368// SetExpirationDate sets the ExpirationDate field's value.
7369func (s *ProposalSummary) SetExpirationDate(v time.Time) *ProposalSummary {
7370	s.ExpirationDate = &v
7371	return s
7372}
7373
7374// SetProposalId sets the ProposalId field's value.
7375func (s *ProposalSummary) SetProposalId(v string) *ProposalSummary {
7376	s.ProposalId = &v
7377	return s
7378}
7379
7380// SetProposedByMemberId sets the ProposedByMemberId field's value.
7381func (s *ProposalSummary) SetProposedByMemberId(v string) *ProposalSummary {
7382	s.ProposedByMemberId = &v
7383	return s
7384}
7385
7386// SetProposedByMemberName sets the ProposedByMemberName field's value.
7387func (s *ProposalSummary) SetProposedByMemberName(v string) *ProposalSummary {
7388	s.ProposedByMemberName = &v
7389	return s
7390}
7391
7392// SetStatus sets the Status field's value.
7393func (s *ProposalSummary) SetStatus(v string) *ProposalSummary {
7394	s.Status = &v
7395	return s
7396}
7397
7398type RejectInvitationInput struct {
7399	_ struct{} `type:"structure" nopayload:"true"`
7400
7401	// The unique identifier of the invitation to reject.
7402	//
7403	// InvitationId is a required field
7404	InvitationId *string `location:"uri" locationName:"invitationId" min:"1" type:"string" required:"true"`
7405}
7406
7407// String returns the string representation.
7408//
7409// API parameter values that are decorated as "sensitive" in the API will not
7410// be included in the string output. The member name will be present, but the
7411// value will be replaced with "sensitive".
7412func (s RejectInvitationInput) String() string {
7413	return awsutil.Prettify(s)
7414}
7415
7416// GoString returns the string representation.
7417//
7418// API parameter values that are decorated as "sensitive" in the API will not
7419// be included in the string output. The member name will be present, but the
7420// value will be replaced with "sensitive".
7421func (s RejectInvitationInput) GoString() string {
7422	return s.String()
7423}
7424
7425// Validate inspects the fields of the type to determine if they are valid.
7426func (s *RejectInvitationInput) Validate() error {
7427	invalidParams := request.ErrInvalidParams{Context: "RejectInvitationInput"}
7428	if s.InvitationId == nil {
7429		invalidParams.Add(request.NewErrParamRequired("InvitationId"))
7430	}
7431	if s.InvitationId != nil && len(*s.InvitationId) < 1 {
7432		invalidParams.Add(request.NewErrParamMinLen("InvitationId", 1))
7433	}
7434
7435	if invalidParams.Len() > 0 {
7436		return invalidParams
7437	}
7438	return nil
7439}
7440
7441// SetInvitationId sets the InvitationId field's value.
7442func (s *RejectInvitationInput) SetInvitationId(v string) *RejectInvitationInput {
7443	s.InvitationId = &v
7444	return s
7445}
7446
7447type RejectInvitationOutput struct {
7448	_ struct{} `type:"structure"`
7449}
7450
7451// String returns the string representation.
7452//
7453// API parameter values that are decorated as "sensitive" in the API will not
7454// be included in the string output. The member name will be present, but the
7455// value will be replaced with "sensitive".
7456func (s RejectInvitationOutput) String() string {
7457	return awsutil.Prettify(s)
7458}
7459
7460// GoString returns the string representation.
7461//
7462// API parameter values that are decorated as "sensitive" in the API will not
7463// be included in the string output. The member name will be present, but the
7464// value will be replaced with "sensitive".
7465func (s RejectInvitationOutput) GoString() string {
7466	return s.String()
7467}
7468
7469// An action to remove a member from a Managed Blockchain network as the result
7470// of a removal proposal that is APPROVED. The member and all associated resources
7471// are deleted from the network.
7472//
7473// Applies only to Hyperledger Fabric.
7474type RemoveAction struct {
7475	_ struct{} `type:"structure"`
7476
7477	// The unique identifier of the member to remove.
7478	//
7479	// MemberId is a required field
7480	MemberId *string `min:"1" type:"string" required:"true"`
7481}
7482
7483// String returns the string representation.
7484//
7485// API parameter values that are decorated as "sensitive" in the API will not
7486// be included in the string output. The member name will be present, but the
7487// value will be replaced with "sensitive".
7488func (s RemoveAction) String() string {
7489	return awsutil.Prettify(s)
7490}
7491
7492// GoString returns the string representation.
7493//
7494// API parameter values that are decorated as "sensitive" in the API will not
7495// be included in the string output. The member name will be present, but the
7496// value will be replaced with "sensitive".
7497func (s RemoveAction) GoString() string {
7498	return s.String()
7499}
7500
7501// Validate inspects the fields of the type to determine if they are valid.
7502func (s *RemoveAction) Validate() error {
7503	invalidParams := request.ErrInvalidParams{Context: "RemoveAction"}
7504	if s.MemberId == nil {
7505		invalidParams.Add(request.NewErrParamRequired("MemberId"))
7506	}
7507	if s.MemberId != nil && len(*s.MemberId) < 1 {
7508		invalidParams.Add(request.NewErrParamMinLen("MemberId", 1))
7509	}
7510
7511	if invalidParams.Len() > 0 {
7512		return invalidParams
7513	}
7514	return nil
7515}
7516
7517// SetMemberId sets the MemberId field's value.
7518func (s *RemoveAction) SetMemberId(v string) *RemoveAction {
7519	s.MemberId = &v
7520	return s
7521}
7522
7523// A resource request is issued for a resource that already exists.
7524type ResourceAlreadyExistsException struct {
7525	_            struct{}                  `type:"structure"`
7526	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7527
7528	Message_ *string `locationName:"Message" type:"string"`
7529}
7530
7531// String returns the string representation.
7532//
7533// API parameter values that are decorated as "sensitive" in the API will not
7534// be included in the string output. The member name will be present, but the
7535// value will be replaced with "sensitive".
7536func (s ResourceAlreadyExistsException) String() string {
7537	return awsutil.Prettify(s)
7538}
7539
7540// GoString returns the string representation.
7541//
7542// API parameter values that are decorated as "sensitive" in the API will not
7543// be included in the string output. The member name will be present, but the
7544// value will be replaced with "sensitive".
7545func (s ResourceAlreadyExistsException) GoString() string {
7546	return s.String()
7547}
7548
7549func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
7550	return &ResourceAlreadyExistsException{
7551		RespMetadata: v,
7552	}
7553}
7554
7555// Code returns the exception type name.
7556func (s *ResourceAlreadyExistsException) Code() string {
7557	return "ResourceAlreadyExistsException"
7558}
7559
7560// Message returns the exception's message.
7561func (s *ResourceAlreadyExistsException) Message() string {
7562	if s.Message_ != nil {
7563		return *s.Message_
7564	}
7565	return ""
7566}
7567
7568// OrigErr always returns nil, satisfies awserr.Error interface.
7569func (s *ResourceAlreadyExistsException) OrigErr() error {
7570	return nil
7571}
7572
7573func (s *ResourceAlreadyExistsException) Error() string {
7574	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7575}
7576
7577// Status code returns the HTTP status code for the request's response error.
7578func (s *ResourceAlreadyExistsException) StatusCode() int {
7579	return s.RespMetadata.StatusCode
7580}
7581
7582// RequestID returns the service's response RequestID for request.
7583func (s *ResourceAlreadyExistsException) RequestID() string {
7584	return s.RespMetadata.RequestID
7585}
7586
7587// The maximum number of resources of that type already exist. Ensure the resources
7588// requested are within the boundaries of the service edition and your account
7589// limits.
7590type ResourceLimitExceededException struct {
7591	_            struct{}                  `type:"structure"`
7592	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7593
7594	Message_ *string `locationName:"Message" type:"string"`
7595}
7596
7597// String returns the string representation.
7598//
7599// API parameter values that are decorated as "sensitive" in the API will not
7600// be included in the string output. The member name will be present, but the
7601// value will be replaced with "sensitive".
7602func (s ResourceLimitExceededException) String() string {
7603	return awsutil.Prettify(s)
7604}
7605
7606// GoString returns the string representation.
7607//
7608// API parameter values that are decorated as "sensitive" in the API will not
7609// be included in the string output. The member name will be present, but the
7610// value will be replaced with "sensitive".
7611func (s ResourceLimitExceededException) GoString() string {
7612	return s.String()
7613}
7614
7615func newErrorResourceLimitExceededException(v protocol.ResponseMetadata) error {
7616	return &ResourceLimitExceededException{
7617		RespMetadata: v,
7618	}
7619}
7620
7621// Code returns the exception type name.
7622func (s *ResourceLimitExceededException) Code() string {
7623	return "ResourceLimitExceededException"
7624}
7625
7626// Message returns the exception's message.
7627func (s *ResourceLimitExceededException) Message() string {
7628	if s.Message_ != nil {
7629		return *s.Message_
7630	}
7631	return ""
7632}
7633
7634// OrigErr always returns nil, satisfies awserr.Error interface.
7635func (s *ResourceLimitExceededException) OrigErr() error {
7636	return nil
7637}
7638
7639func (s *ResourceLimitExceededException) Error() string {
7640	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7641}
7642
7643// Status code returns the HTTP status code for the request's response error.
7644func (s *ResourceLimitExceededException) StatusCode() int {
7645	return s.RespMetadata.StatusCode
7646}
7647
7648// RequestID returns the service's response RequestID for request.
7649func (s *ResourceLimitExceededException) RequestID() string {
7650	return s.RespMetadata.RequestID
7651}
7652
7653// A requested resource does not exist. It may have been deleted or referenced
7654// inaccurately.
7655type ResourceNotFoundException struct {
7656	_            struct{}                  `type:"structure"`
7657	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7658
7659	Message_ *string `locationName:"Message" type:"string"`
7660
7661	// A requested resource does not exist. It may have been deleted or referenced
7662	// inaccurately.
7663	ResourceName *string `min:"1" type:"string"`
7664}
7665
7666// String returns the string representation.
7667//
7668// API parameter values that are decorated as "sensitive" in the API will not
7669// be included in the string output. The member name will be present, but the
7670// value will be replaced with "sensitive".
7671func (s ResourceNotFoundException) String() string {
7672	return awsutil.Prettify(s)
7673}
7674
7675// GoString returns the string representation.
7676//
7677// API parameter values that are decorated as "sensitive" in the API will not
7678// be included in the string output. The member name will be present, but the
7679// value will be replaced with "sensitive".
7680func (s ResourceNotFoundException) GoString() string {
7681	return s.String()
7682}
7683
7684func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
7685	return &ResourceNotFoundException{
7686		RespMetadata: v,
7687	}
7688}
7689
7690// Code returns the exception type name.
7691func (s *ResourceNotFoundException) Code() string {
7692	return "ResourceNotFoundException"
7693}
7694
7695// Message returns the exception's message.
7696func (s *ResourceNotFoundException) Message() string {
7697	if s.Message_ != nil {
7698		return *s.Message_
7699	}
7700	return ""
7701}
7702
7703// OrigErr always returns nil, satisfies awserr.Error interface.
7704func (s *ResourceNotFoundException) OrigErr() error {
7705	return nil
7706}
7707
7708func (s *ResourceNotFoundException) Error() string {
7709	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7710}
7711
7712// Status code returns the HTTP status code for the request's response error.
7713func (s *ResourceNotFoundException) StatusCode() int {
7714	return s.RespMetadata.StatusCode
7715}
7716
7717// RequestID returns the service's response RequestID for request.
7718func (s *ResourceNotFoundException) RequestID() string {
7719	return s.RespMetadata.RequestID
7720}
7721
7722// The requested resource exists but is not in a status that can complete the
7723// operation.
7724type ResourceNotReadyException struct {
7725	_            struct{}                  `type:"structure"`
7726	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7727
7728	Message_ *string `locationName:"Message" type:"string"`
7729}
7730
7731// String returns the string representation.
7732//
7733// API parameter values that are decorated as "sensitive" in the API will not
7734// be included in the string output. The member name will be present, but the
7735// value will be replaced with "sensitive".
7736func (s ResourceNotReadyException) String() string {
7737	return awsutil.Prettify(s)
7738}
7739
7740// GoString returns the string representation.
7741//
7742// API parameter values that are decorated as "sensitive" in the API will not
7743// be included in the string output. The member name will be present, but the
7744// value will be replaced with "sensitive".
7745func (s ResourceNotReadyException) GoString() string {
7746	return s.String()
7747}
7748
7749func newErrorResourceNotReadyException(v protocol.ResponseMetadata) error {
7750	return &ResourceNotReadyException{
7751		RespMetadata: v,
7752	}
7753}
7754
7755// Code returns the exception type name.
7756func (s *ResourceNotReadyException) Code() string {
7757	return "ResourceNotReadyException"
7758}
7759
7760// Message returns the exception's message.
7761func (s *ResourceNotReadyException) Message() string {
7762	if s.Message_ != nil {
7763		return *s.Message_
7764	}
7765	return ""
7766}
7767
7768// OrigErr always returns nil, satisfies awserr.Error interface.
7769func (s *ResourceNotReadyException) OrigErr() error {
7770	return nil
7771}
7772
7773func (s *ResourceNotReadyException) Error() string {
7774	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7775}
7776
7777// Status code returns the HTTP status code for the request's response error.
7778func (s *ResourceNotReadyException) StatusCode() int {
7779	return s.RespMetadata.StatusCode
7780}
7781
7782// RequestID returns the service's response RequestID for request.
7783func (s *ResourceNotReadyException) RequestID() string {
7784	return s.RespMetadata.RequestID
7785}
7786
7787type TagResourceInput struct {
7788	_ struct{} `type:"structure"`
7789
7790	// The Amazon Resource Name (ARN) of the resource. For more information about
7791	// ARNs and their format, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
7792	// in the AWS General Reference.
7793	//
7794	// ResourceArn is a required field
7795	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
7796
7797	// The tags to assign to the specified resource. Tag values can be empty, for
7798	// example, "MyTagKey" : "". You can specify multiple key-value pairs in a single
7799	// request, with an overall maximum of 50 tags added to each resource.
7800	//
7801	// Tags is a required field
7802	Tags map[string]*string `type:"map" required:"true"`
7803}
7804
7805// String returns the string representation.
7806//
7807// API parameter values that are decorated as "sensitive" in the API will not
7808// be included in the string output. The member name will be present, but the
7809// value will be replaced with "sensitive".
7810func (s TagResourceInput) String() string {
7811	return awsutil.Prettify(s)
7812}
7813
7814// GoString returns the string representation.
7815//
7816// API parameter values that are decorated as "sensitive" in the API will not
7817// be included in the string output. The member name will be present, but the
7818// value will be replaced with "sensitive".
7819func (s TagResourceInput) GoString() string {
7820	return s.String()
7821}
7822
7823// Validate inspects the fields of the type to determine if they are valid.
7824func (s *TagResourceInput) Validate() error {
7825	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
7826	if s.ResourceArn == nil {
7827		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
7828	}
7829	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
7830		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
7831	}
7832	if s.Tags == nil {
7833		invalidParams.Add(request.NewErrParamRequired("Tags"))
7834	}
7835
7836	if invalidParams.Len() > 0 {
7837		return invalidParams
7838	}
7839	return nil
7840}
7841
7842// SetResourceArn sets the ResourceArn field's value.
7843func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
7844	s.ResourceArn = &v
7845	return s
7846}
7847
7848// SetTags sets the Tags field's value.
7849func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
7850	s.Tags = v
7851	return s
7852}
7853
7854type TagResourceOutput struct {
7855	_ struct{} `type:"structure"`
7856}
7857
7858// String returns the string representation.
7859//
7860// API parameter values that are decorated as "sensitive" in the API will not
7861// be included in the string output. The member name will be present, but the
7862// value will be replaced with "sensitive".
7863func (s TagResourceOutput) String() string {
7864	return awsutil.Prettify(s)
7865}
7866
7867// GoString returns the string representation.
7868//
7869// API parameter values that are decorated as "sensitive" in the API will not
7870// be included in the string output. The member name will be present, but the
7871// value will be replaced with "sensitive".
7872func (s TagResourceOutput) GoString() string {
7873	return s.String()
7874}
7875
7876// The request or operation could not be performed because a service is throttling
7877// requests. The most common source of throttling errors is launching EC2 instances
7878// such that your service limit for EC2 instances is exceeded. Request a limit
7879// increase or delete unused resources if possible.
7880type ThrottlingException struct {
7881	_            struct{}                  `type:"structure"`
7882	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7883
7884	Message_ *string `locationName:"message" type:"string"`
7885}
7886
7887// String returns the string representation.
7888//
7889// API parameter values that are decorated as "sensitive" in the API will not
7890// be included in the string output. The member name will be present, but the
7891// value will be replaced with "sensitive".
7892func (s ThrottlingException) String() string {
7893	return awsutil.Prettify(s)
7894}
7895
7896// GoString returns the string representation.
7897//
7898// API parameter values that are decorated as "sensitive" in the API will not
7899// be included in the string output. The member name will be present, but the
7900// value will be replaced with "sensitive".
7901func (s ThrottlingException) GoString() string {
7902	return s.String()
7903}
7904
7905func newErrorThrottlingException(v protocol.ResponseMetadata) error {
7906	return &ThrottlingException{
7907		RespMetadata: v,
7908	}
7909}
7910
7911// Code returns the exception type name.
7912func (s *ThrottlingException) Code() string {
7913	return "ThrottlingException"
7914}
7915
7916// Message returns the exception's message.
7917func (s *ThrottlingException) Message() string {
7918	if s.Message_ != nil {
7919		return *s.Message_
7920	}
7921	return ""
7922}
7923
7924// OrigErr always returns nil, satisfies awserr.Error interface.
7925func (s *ThrottlingException) OrigErr() error {
7926	return nil
7927}
7928
7929func (s *ThrottlingException) Error() string {
7930	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7931}
7932
7933// Status code returns the HTTP status code for the request's response error.
7934func (s *ThrottlingException) StatusCode() int {
7935	return s.RespMetadata.StatusCode
7936}
7937
7938// RequestID returns the service's response RequestID for request.
7939func (s *ThrottlingException) RequestID() string {
7940	return s.RespMetadata.RequestID
7941}
7942
7943type TooManyTagsException struct {
7944	_            struct{}                  `type:"structure"`
7945	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7946
7947	Message_ *string `locationName:"Message" type:"string"`
7948
7949	ResourceName *string `min:"1" type:"string"`
7950}
7951
7952// String returns the string representation.
7953//
7954// API parameter values that are decorated as "sensitive" in the API will not
7955// be included in the string output. The member name will be present, but the
7956// value will be replaced with "sensitive".
7957func (s TooManyTagsException) String() string {
7958	return awsutil.Prettify(s)
7959}
7960
7961// GoString returns the string representation.
7962//
7963// API parameter values that are decorated as "sensitive" in the API will not
7964// be included in the string output. The member name will be present, but the
7965// value will be replaced with "sensitive".
7966func (s TooManyTagsException) GoString() string {
7967	return s.String()
7968}
7969
7970func newErrorTooManyTagsException(v protocol.ResponseMetadata) error {
7971	return &TooManyTagsException{
7972		RespMetadata: v,
7973	}
7974}
7975
7976// Code returns the exception type name.
7977func (s *TooManyTagsException) Code() string {
7978	return "TooManyTagsException"
7979}
7980
7981// Message returns the exception's message.
7982func (s *TooManyTagsException) Message() string {
7983	if s.Message_ != nil {
7984		return *s.Message_
7985	}
7986	return ""
7987}
7988
7989// OrigErr always returns nil, satisfies awserr.Error interface.
7990func (s *TooManyTagsException) OrigErr() error {
7991	return nil
7992}
7993
7994func (s *TooManyTagsException) Error() string {
7995	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7996}
7997
7998// Status code returns the HTTP status code for the request's response error.
7999func (s *TooManyTagsException) StatusCode() int {
8000	return s.RespMetadata.StatusCode
8001}
8002
8003// RequestID returns the service's response RequestID for request.
8004func (s *TooManyTagsException) RequestID() string {
8005	return s.RespMetadata.RequestID
8006}
8007
8008type UntagResourceInput struct {
8009	_ struct{} `type:"structure" nopayload:"true"`
8010
8011	// The Amazon Resource Name (ARN) of the resource. For more information about
8012	// ARNs and their format, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
8013	// in the AWS General Reference.
8014	//
8015	// ResourceArn is a required field
8016	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
8017
8018	// The tag keys.
8019	//
8020	// TagKeys is a required field
8021	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
8022}
8023
8024// String returns the string representation.
8025//
8026// API parameter values that are decorated as "sensitive" in the API will not
8027// be included in the string output. The member name will be present, but the
8028// value will be replaced with "sensitive".
8029func (s UntagResourceInput) String() string {
8030	return awsutil.Prettify(s)
8031}
8032
8033// GoString returns the string representation.
8034//
8035// API parameter values that are decorated as "sensitive" in the API will not
8036// be included in the string output. The member name will be present, but the
8037// value will be replaced with "sensitive".
8038func (s UntagResourceInput) GoString() string {
8039	return s.String()
8040}
8041
8042// Validate inspects the fields of the type to determine if they are valid.
8043func (s *UntagResourceInput) Validate() error {
8044	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
8045	if s.ResourceArn == nil {
8046		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
8047	}
8048	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
8049		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
8050	}
8051	if s.TagKeys == nil {
8052		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
8053	}
8054
8055	if invalidParams.Len() > 0 {
8056		return invalidParams
8057	}
8058	return nil
8059}
8060
8061// SetResourceArn sets the ResourceArn field's value.
8062func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
8063	s.ResourceArn = &v
8064	return s
8065}
8066
8067// SetTagKeys sets the TagKeys field's value.
8068func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
8069	s.TagKeys = v
8070	return s
8071}
8072
8073type UntagResourceOutput struct {
8074	_ struct{} `type:"structure"`
8075}
8076
8077// String returns the string representation.
8078//
8079// API parameter values that are decorated as "sensitive" in the API will not
8080// be included in the string output. The member name will be present, but the
8081// value will be replaced with "sensitive".
8082func (s UntagResourceOutput) String() string {
8083	return awsutil.Prettify(s)
8084}
8085
8086// GoString returns the string representation.
8087//
8088// API parameter values that are decorated as "sensitive" in the API will not
8089// be included in the string output. The member name will be present, but the
8090// value will be replaced with "sensitive".
8091func (s UntagResourceOutput) GoString() string {
8092	return s.String()
8093}
8094
8095type UpdateMemberInput struct {
8096	_ struct{} `type:"structure"`
8097
8098	// Configuration properties for publishing to Amazon CloudWatch Logs.
8099	LogPublishingConfiguration *MemberLogPublishingConfiguration `type:"structure"`
8100
8101	// The unique identifier of the member.
8102	//
8103	// MemberId is a required field
8104	MemberId *string `location:"uri" locationName:"memberId" min:"1" type:"string" required:"true"`
8105
8106	// The unique identifier of the Managed Blockchain network to which the member
8107	// belongs.
8108	//
8109	// NetworkId is a required field
8110	NetworkId *string `location:"uri" locationName:"networkId" min:"1" type:"string" required:"true"`
8111}
8112
8113// String returns the string representation.
8114//
8115// API parameter values that are decorated as "sensitive" in the API will not
8116// be included in the string output. The member name will be present, but the
8117// value will be replaced with "sensitive".
8118func (s UpdateMemberInput) String() string {
8119	return awsutil.Prettify(s)
8120}
8121
8122// GoString returns the string representation.
8123//
8124// API parameter values that are decorated as "sensitive" in the API will not
8125// be included in the string output. The member name will be present, but the
8126// value will be replaced with "sensitive".
8127func (s UpdateMemberInput) GoString() string {
8128	return s.String()
8129}
8130
8131// Validate inspects the fields of the type to determine if they are valid.
8132func (s *UpdateMemberInput) Validate() error {
8133	invalidParams := request.ErrInvalidParams{Context: "UpdateMemberInput"}
8134	if s.MemberId == nil {
8135		invalidParams.Add(request.NewErrParamRequired("MemberId"))
8136	}
8137	if s.MemberId != nil && len(*s.MemberId) < 1 {
8138		invalidParams.Add(request.NewErrParamMinLen("MemberId", 1))
8139	}
8140	if s.NetworkId == nil {
8141		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
8142	}
8143	if s.NetworkId != nil && len(*s.NetworkId) < 1 {
8144		invalidParams.Add(request.NewErrParamMinLen("NetworkId", 1))
8145	}
8146
8147	if invalidParams.Len() > 0 {
8148		return invalidParams
8149	}
8150	return nil
8151}
8152
8153// SetLogPublishingConfiguration sets the LogPublishingConfiguration field's value.
8154func (s *UpdateMemberInput) SetLogPublishingConfiguration(v *MemberLogPublishingConfiguration) *UpdateMemberInput {
8155	s.LogPublishingConfiguration = v
8156	return s
8157}
8158
8159// SetMemberId sets the MemberId field's value.
8160func (s *UpdateMemberInput) SetMemberId(v string) *UpdateMemberInput {
8161	s.MemberId = &v
8162	return s
8163}
8164
8165// SetNetworkId sets the NetworkId field's value.
8166func (s *UpdateMemberInput) SetNetworkId(v string) *UpdateMemberInput {
8167	s.NetworkId = &v
8168	return s
8169}
8170
8171type UpdateMemberOutput struct {
8172	_ struct{} `type:"structure"`
8173}
8174
8175// String returns the string representation.
8176//
8177// API parameter values that are decorated as "sensitive" in the API will not
8178// be included in the string output. The member name will be present, but the
8179// value will be replaced with "sensitive".
8180func (s UpdateMemberOutput) String() string {
8181	return awsutil.Prettify(s)
8182}
8183
8184// GoString returns the string representation.
8185//
8186// API parameter values that are decorated as "sensitive" in the API will not
8187// be included in the string output. The member name will be present, but the
8188// value will be replaced with "sensitive".
8189func (s UpdateMemberOutput) GoString() string {
8190	return s.String()
8191}
8192
8193type UpdateNodeInput struct {
8194	_ struct{} `type:"structure"`
8195
8196	// Configuration properties for publishing to Amazon CloudWatch Logs.
8197	LogPublishingConfiguration *NodeLogPublishingConfiguration `type:"structure"`
8198
8199	// The unique identifier of the member that owns the node.
8200	//
8201	// Applies only to Hyperledger Fabric.
8202	MemberId *string `min:"1" type:"string"`
8203
8204	// The unique identifier of the network that the node is on.
8205	//
8206	// NetworkId is a required field
8207	NetworkId *string `location:"uri" locationName:"networkId" min:"1" type:"string" required:"true"`
8208
8209	// The unique identifier of the node.
8210	//
8211	// NodeId is a required field
8212	NodeId *string `location:"uri" locationName:"nodeId" min:"1" type:"string" required:"true"`
8213}
8214
8215// String returns the string representation.
8216//
8217// API parameter values that are decorated as "sensitive" in the API will not
8218// be included in the string output. The member name will be present, but the
8219// value will be replaced with "sensitive".
8220func (s UpdateNodeInput) String() string {
8221	return awsutil.Prettify(s)
8222}
8223
8224// GoString returns the string representation.
8225//
8226// API parameter values that are decorated as "sensitive" in the API will not
8227// be included in the string output. The member name will be present, but the
8228// value will be replaced with "sensitive".
8229func (s UpdateNodeInput) GoString() string {
8230	return s.String()
8231}
8232
8233// Validate inspects the fields of the type to determine if they are valid.
8234func (s *UpdateNodeInput) Validate() error {
8235	invalidParams := request.ErrInvalidParams{Context: "UpdateNodeInput"}
8236	if s.MemberId != nil && len(*s.MemberId) < 1 {
8237		invalidParams.Add(request.NewErrParamMinLen("MemberId", 1))
8238	}
8239	if s.NetworkId == nil {
8240		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
8241	}
8242	if s.NetworkId != nil && len(*s.NetworkId) < 1 {
8243		invalidParams.Add(request.NewErrParamMinLen("NetworkId", 1))
8244	}
8245	if s.NodeId == nil {
8246		invalidParams.Add(request.NewErrParamRequired("NodeId"))
8247	}
8248	if s.NodeId != nil && len(*s.NodeId) < 1 {
8249		invalidParams.Add(request.NewErrParamMinLen("NodeId", 1))
8250	}
8251
8252	if invalidParams.Len() > 0 {
8253		return invalidParams
8254	}
8255	return nil
8256}
8257
8258// SetLogPublishingConfiguration sets the LogPublishingConfiguration field's value.
8259func (s *UpdateNodeInput) SetLogPublishingConfiguration(v *NodeLogPublishingConfiguration) *UpdateNodeInput {
8260	s.LogPublishingConfiguration = v
8261	return s
8262}
8263
8264// SetMemberId sets the MemberId field's value.
8265func (s *UpdateNodeInput) SetMemberId(v string) *UpdateNodeInput {
8266	s.MemberId = &v
8267	return s
8268}
8269
8270// SetNetworkId sets the NetworkId field's value.
8271func (s *UpdateNodeInput) SetNetworkId(v string) *UpdateNodeInput {
8272	s.NetworkId = &v
8273	return s
8274}
8275
8276// SetNodeId sets the NodeId field's value.
8277func (s *UpdateNodeInput) SetNodeId(v string) *UpdateNodeInput {
8278	s.NodeId = &v
8279	return s
8280}
8281
8282type UpdateNodeOutput struct {
8283	_ struct{} `type:"structure"`
8284}
8285
8286// String returns the string representation.
8287//
8288// API parameter values that are decorated as "sensitive" in the API will not
8289// be included in the string output. The member name will be present, but the
8290// value will be replaced with "sensitive".
8291func (s UpdateNodeOutput) String() string {
8292	return awsutil.Prettify(s)
8293}
8294
8295// GoString returns the string representation.
8296//
8297// API parameter values that are decorated as "sensitive" in the API will not
8298// be included in the string output. The member name will be present, but the
8299// value will be replaced with "sensitive".
8300func (s UpdateNodeOutput) GoString() string {
8301	return s.String()
8302}
8303
8304type VoteOnProposalInput struct {
8305	_ struct{} `type:"structure"`
8306
8307	// The unique identifier of the network.
8308	//
8309	// NetworkId is a required field
8310	NetworkId *string `location:"uri" locationName:"networkId" min:"1" type:"string" required:"true"`
8311
8312	// The unique identifier of the proposal.
8313	//
8314	// ProposalId is a required field
8315	ProposalId *string `location:"uri" locationName:"proposalId" min:"1" type:"string" required:"true"`
8316
8317	// The value of the vote.
8318	//
8319	// Vote is a required field
8320	Vote *string `type:"string" required:"true" enum:"VoteValue"`
8321
8322	// The unique identifier of the member casting the vote.
8323	//
8324	// VoterMemberId is a required field
8325	VoterMemberId *string `min:"1" type:"string" required:"true"`
8326}
8327
8328// String returns the string representation.
8329//
8330// API parameter values that are decorated as "sensitive" in the API will not
8331// be included in the string output. The member name will be present, but the
8332// value will be replaced with "sensitive".
8333func (s VoteOnProposalInput) String() string {
8334	return awsutil.Prettify(s)
8335}
8336
8337// GoString returns the string representation.
8338//
8339// API parameter values that are decorated as "sensitive" in the API will not
8340// be included in the string output. The member name will be present, but the
8341// value will be replaced with "sensitive".
8342func (s VoteOnProposalInput) GoString() string {
8343	return s.String()
8344}
8345
8346// Validate inspects the fields of the type to determine if they are valid.
8347func (s *VoteOnProposalInput) Validate() error {
8348	invalidParams := request.ErrInvalidParams{Context: "VoteOnProposalInput"}
8349	if s.NetworkId == nil {
8350		invalidParams.Add(request.NewErrParamRequired("NetworkId"))
8351	}
8352	if s.NetworkId != nil && len(*s.NetworkId) < 1 {
8353		invalidParams.Add(request.NewErrParamMinLen("NetworkId", 1))
8354	}
8355	if s.ProposalId == nil {
8356		invalidParams.Add(request.NewErrParamRequired("ProposalId"))
8357	}
8358	if s.ProposalId != nil && len(*s.ProposalId) < 1 {
8359		invalidParams.Add(request.NewErrParamMinLen("ProposalId", 1))
8360	}
8361	if s.Vote == nil {
8362		invalidParams.Add(request.NewErrParamRequired("Vote"))
8363	}
8364	if s.VoterMemberId == nil {
8365		invalidParams.Add(request.NewErrParamRequired("VoterMemberId"))
8366	}
8367	if s.VoterMemberId != nil && len(*s.VoterMemberId) < 1 {
8368		invalidParams.Add(request.NewErrParamMinLen("VoterMemberId", 1))
8369	}
8370
8371	if invalidParams.Len() > 0 {
8372		return invalidParams
8373	}
8374	return nil
8375}
8376
8377// SetNetworkId sets the NetworkId field's value.
8378func (s *VoteOnProposalInput) SetNetworkId(v string) *VoteOnProposalInput {
8379	s.NetworkId = &v
8380	return s
8381}
8382
8383// SetProposalId sets the ProposalId field's value.
8384func (s *VoteOnProposalInput) SetProposalId(v string) *VoteOnProposalInput {
8385	s.ProposalId = &v
8386	return s
8387}
8388
8389// SetVote sets the Vote field's value.
8390func (s *VoteOnProposalInput) SetVote(v string) *VoteOnProposalInput {
8391	s.Vote = &v
8392	return s
8393}
8394
8395// SetVoterMemberId sets the VoterMemberId field's value.
8396func (s *VoteOnProposalInput) SetVoterMemberId(v string) *VoteOnProposalInput {
8397	s.VoterMemberId = &v
8398	return s
8399}
8400
8401type VoteOnProposalOutput struct {
8402	_ struct{} `type:"structure"`
8403}
8404
8405// String returns the string representation.
8406//
8407// API parameter values that are decorated as "sensitive" in the API will not
8408// be included in the string output. The member name will be present, but the
8409// value will be replaced with "sensitive".
8410func (s VoteOnProposalOutput) String() string {
8411	return awsutil.Prettify(s)
8412}
8413
8414// GoString returns the string representation.
8415//
8416// API parameter values that are decorated as "sensitive" in the API will not
8417// be included in the string output. The member name will be present, but the
8418// value will be replaced with "sensitive".
8419func (s VoteOnProposalOutput) GoString() string {
8420	return s.String()
8421}
8422
8423// Properties of an individual vote that a member cast for a proposal.
8424//
8425// Applies only to Hyperledger Fabric.
8426type VoteSummary struct {
8427	_ struct{} `type:"structure"`
8428
8429	// The unique identifier of the member that cast the vote.
8430	MemberId *string `min:"1" type:"string"`
8431
8432	// The name of the member that cast the vote.
8433	MemberName *string `min:"1" type:"string"`
8434
8435	// The vote value, either YES or NO.
8436	Vote *string `type:"string" enum:"VoteValue"`
8437}
8438
8439// String returns the string representation.
8440//
8441// API parameter values that are decorated as "sensitive" in the API will not
8442// be included in the string output. The member name will be present, but the
8443// value will be replaced with "sensitive".
8444func (s VoteSummary) String() string {
8445	return awsutil.Prettify(s)
8446}
8447
8448// GoString returns the string representation.
8449//
8450// API parameter values that are decorated as "sensitive" in the API will not
8451// be included in the string output. The member name will be present, but the
8452// value will be replaced with "sensitive".
8453func (s VoteSummary) GoString() string {
8454	return s.String()
8455}
8456
8457// SetMemberId sets the MemberId field's value.
8458func (s *VoteSummary) SetMemberId(v string) *VoteSummary {
8459	s.MemberId = &v
8460	return s
8461}
8462
8463// SetMemberName sets the MemberName field's value.
8464func (s *VoteSummary) SetMemberName(v string) *VoteSummary {
8465	s.MemberName = &v
8466	return s
8467}
8468
8469// SetVote sets the Vote field's value.
8470func (s *VoteSummary) SetVote(v string) *VoteSummary {
8471	s.Vote = &v
8472	return s
8473}
8474
8475// The voting rules for the network to decide if a proposal is accepted
8476//
8477// Applies only to Hyperledger Fabric.
8478type VotingPolicy struct {
8479	_ struct{} `type:"structure"`
8480
8481	// Defines the rules for the network for voting on proposals, such as the percentage
8482	// of YES votes required for the proposal to be approved and the duration of
8483	// the proposal. The policy applies to all proposals and is specified when the
8484	// network is created.
8485	ApprovalThresholdPolicy *ApprovalThresholdPolicy `type:"structure"`
8486}
8487
8488// String returns the string representation.
8489//
8490// API parameter values that are decorated as "sensitive" in the API will not
8491// be included in the string output. The member name will be present, but the
8492// value will be replaced with "sensitive".
8493func (s VotingPolicy) String() string {
8494	return awsutil.Prettify(s)
8495}
8496
8497// GoString returns the string representation.
8498//
8499// API parameter values that are decorated as "sensitive" in the API will not
8500// be included in the string output. The member name will be present, but the
8501// value will be replaced with "sensitive".
8502func (s VotingPolicy) GoString() string {
8503	return s.String()
8504}
8505
8506// Validate inspects the fields of the type to determine if they are valid.
8507func (s *VotingPolicy) Validate() error {
8508	invalidParams := request.ErrInvalidParams{Context: "VotingPolicy"}
8509	if s.ApprovalThresholdPolicy != nil {
8510		if err := s.ApprovalThresholdPolicy.Validate(); err != nil {
8511			invalidParams.AddNested("ApprovalThresholdPolicy", err.(request.ErrInvalidParams))
8512		}
8513	}
8514
8515	if invalidParams.Len() > 0 {
8516		return invalidParams
8517	}
8518	return nil
8519}
8520
8521// SetApprovalThresholdPolicy sets the ApprovalThresholdPolicy field's value.
8522func (s *VotingPolicy) SetApprovalThresholdPolicy(v *ApprovalThresholdPolicy) *VotingPolicy {
8523	s.ApprovalThresholdPolicy = v
8524	return s
8525}
8526
8527const (
8528	// EditionStarter is a Edition enum value
8529	EditionStarter = "STARTER"
8530
8531	// EditionStandard is a Edition enum value
8532	EditionStandard = "STANDARD"
8533)
8534
8535// Edition_Values returns all elements of the Edition enum
8536func Edition_Values() []string {
8537	return []string{
8538		EditionStarter,
8539		EditionStandard,
8540	}
8541}
8542
8543const (
8544	// FrameworkHyperledgerFabric is a Framework enum value
8545	FrameworkHyperledgerFabric = "HYPERLEDGER_FABRIC"
8546
8547	// FrameworkEthereum is a Framework enum value
8548	FrameworkEthereum = "ETHEREUM"
8549)
8550
8551// Framework_Values returns all elements of the Framework enum
8552func Framework_Values() []string {
8553	return []string{
8554		FrameworkHyperledgerFabric,
8555		FrameworkEthereum,
8556	}
8557}
8558
8559const (
8560	// InvitationStatusPending is a InvitationStatus enum value
8561	InvitationStatusPending = "PENDING"
8562
8563	// InvitationStatusAccepted is a InvitationStatus enum value
8564	InvitationStatusAccepted = "ACCEPTED"
8565
8566	// InvitationStatusAccepting is a InvitationStatus enum value
8567	InvitationStatusAccepting = "ACCEPTING"
8568
8569	// InvitationStatusRejected is a InvitationStatus enum value
8570	InvitationStatusRejected = "REJECTED"
8571
8572	// InvitationStatusExpired is a InvitationStatus enum value
8573	InvitationStatusExpired = "EXPIRED"
8574)
8575
8576// InvitationStatus_Values returns all elements of the InvitationStatus enum
8577func InvitationStatus_Values() []string {
8578	return []string{
8579		InvitationStatusPending,
8580		InvitationStatusAccepted,
8581		InvitationStatusAccepting,
8582		InvitationStatusRejected,
8583		InvitationStatusExpired,
8584	}
8585}
8586
8587const (
8588	// MemberStatusCreating is a MemberStatus enum value
8589	MemberStatusCreating = "CREATING"
8590
8591	// MemberStatusAvailable is a MemberStatus enum value
8592	MemberStatusAvailable = "AVAILABLE"
8593
8594	// MemberStatusCreateFailed is a MemberStatus enum value
8595	MemberStatusCreateFailed = "CREATE_FAILED"
8596
8597	// MemberStatusUpdating is a MemberStatus enum value
8598	MemberStatusUpdating = "UPDATING"
8599
8600	// MemberStatusDeleting is a MemberStatus enum value
8601	MemberStatusDeleting = "DELETING"
8602
8603	// MemberStatusDeleted is a MemberStatus enum value
8604	MemberStatusDeleted = "DELETED"
8605
8606	// MemberStatusInaccessibleEncryptionKey is a MemberStatus enum value
8607	MemberStatusInaccessibleEncryptionKey = "INACCESSIBLE_ENCRYPTION_KEY"
8608)
8609
8610// MemberStatus_Values returns all elements of the MemberStatus enum
8611func MemberStatus_Values() []string {
8612	return []string{
8613		MemberStatusCreating,
8614		MemberStatusAvailable,
8615		MemberStatusCreateFailed,
8616		MemberStatusUpdating,
8617		MemberStatusDeleting,
8618		MemberStatusDeleted,
8619		MemberStatusInaccessibleEncryptionKey,
8620	}
8621}
8622
8623const (
8624	// NetworkStatusCreating is a NetworkStatus enum value
8625	NetworkStatusCreating = "CREATING"
8626
8627	// NetworkStatusAvailable is a NetworkStatus enum value
8628	NetworkStatusAvailable = "AVAILABLE"
8629
8630	// NetworkStatusCreateFailed is a NetworkStatus enum value
8631	NetworkStatusCreateFailed = "CREATE_FAILED"
8632
8633	// NetworkStatusDeleting is a NetworkStatus enum value
8634	NetworkStatusDeleting = "DELETING"
8635
8636	// NetworkStatusDeleted is a NetworkStatus enum value
8637	NetworkStatusDeleted = "DELETED"
8638)
8639
8640// NetworkStatus_Values returns all elements of the NetworkStatus enum
8641func NetworkStatus_Values() []string {
8642	return []string{
8643		NetworkStatusCreating,
8644		NetworkStatusAvailable,
8645		NetworkStatusCreateFailed,
8646		NetworkStatusDeleting,
8647		NetworkStatusDeleted,
8648	}
8649}
8650
8651const (
8652	// NodeStatusCreating is a NodeStatus enum value
8653	NodeStatusCreating = "CREATING"
8654
8655	// NodeStatusAvailable is a NodeStatus enum value
8656	NodeStatusAvailable = "AVAILABLE"
8657
8658	// NodeStatusUnhealthy is a NodeStatus enum value
8659	NodeStatusUnhealthy = "UNHEALTHY"
8660
8661	// NodeStatusCreateFailed is a NodeStatus enum value
8662	NodeStatusCreateFailed = "CREATE_FAILED"
8663
8664	// NodeStatusUpdating is a NodeStatus enum value
8665	NodeStatusUpdating = "UPDATING"
8666
8667	// NodeStatusDeleting is a NodeStatus enum value
8668	NodeStatusDeleting = "DELETING"
8669
8670	// NodeStatusDeleted is a NodeStatus enum value
8671	NodeStatusDeleted = "DELETED"
8672
8673	// NodeStatusFailed is a NodeStatus enum value
8674	NodeStatusFailed = "FAILED"
8675
8676	// NodeStatusInaccessibleEncryptionKey is a NodeStatus enum value
8677	NodeStatusInaccessibleEncryptionKey = "INACCESSIBLE_ENCRYPTION_KEY"
8678)
8679
8680// NodeStatus_Values returns all elements of the NodeStatus enum
8681func NodeStatus_Values() []string {
8682	return []string{
8683		NodeStatusCreating,
8684		NodeStatusAvailable,
8685		NodeStatusUnhealthy,
8686		NodeStatusCreateFailed,
8687		NodeStatusUpdating,
8688		NodeStatusDeleting,
8689		NodeStatusDeleted,
8690		NodeStatusFailed,
8691		NodeStatusInaccessibleEncryptionKey,
8692	}
8693}
8694
8695const (
8696	// ProposalStatusInProgress is a ProposalStatus enum value
8697	ProposalStatusInProgress = "IN_PROGRESS"
8698
8699	// ProposalStatusApproved is a ProposalStatus enum value
8700	ProposalStatusApproved = "APPROVED"
8701
8702	// ProposalStatusRejected is a ProposalStatus enum value
8703	ProposalStatusRejected = "REJECTED"
8704
8705	// ProposalStatusExpired is a ProposalStatus enum value
8706	ProposalStatusExpired = "EXPIRED"
8707
8708	// ProposalStatusActionFailed is a ProposalStatus enum value
8709	ProposalStatusActionFailed = "ACTION_FAILED"
8710)
8711
8712// ProposalStatus_Values returns all elements of the ProposalStatus enum
8713func ProposalStatus_Values() []string {
8714	return []string{
8715		ProposalStatusInProgress,
8716		ProposalStatusApproved,
8717		ProposalStatusRejected,
8718		ProposalStatusExpired,
8719		ProposalStatusActionFailed,
8720	}
8721}
8722
8723const (
8724	// StateDBTypeLevelDb is a StateDBType enum value
8725	StateDBTypeLevelDb = "LevelDB"
8726
8727	// StateDBTypeCouchDb is a StateDBType enum value
8728	StateDBTypeCouchDb = "CouchDB"
8729)
8730
8731// StateDBType_Values returns all elements of the StateDBType enum
8732func StateDBType_Values() []string {
8733	return []string{
8734		StateDBTypeLevelDb,
8735		StateDBTypeCouchDb,
8736	}
8737}
8738
8739const (
8740	// ThresholdComparatorGreaterThan is a ThresholdComparator enum value
8741	ThresholdComparatorGreaterThan = "GREATER_THAN"
8742
8743	// ThresholdComparatorGreaterThanOrEqualTo is a ThresholdComparator enum value
8744	ThresholdComparatorGreaterThanOrEqualTo = "GREATER_THAN_OR_EQUAL_TO"
8745)
8746
8747// ThresholdComparator_Values returns all elements of the ThresholdComparator enum
8748func ThresholdComparator_Values() []string {
8749	return []string{
8750		ThresholdComparatorGreaterThan,
8751		ThresholdComparatorGreaterThanOrEqualTo,
8752	}
8753}
8754
8755const (
8756	// VoteValueYes is a VoteValue enum value
8757	VoteValueYes = "YES"
8758
8759	// VoteValueNo is a VoteValue enum value
8760	VoteValueNo = "NO"
8761)
8762
8763// VoteValue_Values returns all elements of the VoteValue enum
8764func VoteValue_Values() []string {
8765	return []string{
8766		VoteValueYes,
8767		VoteValueNo,
8768	}
8769}
8770