github.com/aavshr/aws-sdk-go@v1.41.3/service/managedblockchain/api.go (about)

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package managedblockchain
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/restjson"
    14  )
    15  
    16  const 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
    42  func (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
   108  func (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.
   122  func (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  
   129  const 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
   155  func (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
   213  func (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.
   227  func (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  
   234  const 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
   260  func (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
   326  func (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.
   340  func (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  
   347  const 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
   373  func (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
   433  func (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.
   447  func (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  
   454  const 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
   480  func (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
   543  func (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.
   557  func (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  
   564  const 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
   590  func (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
   648  func (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.
   662  func (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  
   669  const 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
   695  func (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
   747  func (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.
   761  func (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  
   768  const 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
   794  func (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
   846  func (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.
   860  func (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  
   867  const 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
   893  func (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
   945  func (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.
   959  func (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  
   966  const 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
   992  func (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
  1044  func (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.
  1058  func (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  
  1065  const 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
  1091  func (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
  1154  func (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.
  1168  func (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  //
  1192  func (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.
  1203  func (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  
  1227  const 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
  1253  func (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
  1307  func (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.
  1321  func (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  //
  1345  func (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.
  1356  func (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  
  1380  const 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
  1406  func (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
  1460  func (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.
  1474  func (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  //
  1498  func (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.
  1509  func (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  
  1533  const 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
  1559  func (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
  1613  func (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.
  1627  func (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  //
  1651  func (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.
  1662  func (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  
  1686  const 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
  1712  func (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
  1767  func (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.
  1781  func (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  //
  1805  func (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.
  1816  func (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  
  1840  const 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
  1866  func (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
  1924  func (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.
  1938  func (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  //
  1962  func (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.
  1973  func (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  
  1997  const 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
  2023  func (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
  2074  func (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.
  2088  func (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  
  2095  const 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
  2121  func (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
  2178  func (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.
  2192  func (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  
  2199  const 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
  2225  func (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
  2285  func (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.
  2299  func (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  
  2306  const 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
  2332  func (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
  2383  func (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.
  2397  func (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  
  2404  const 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
  2430  func (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
  2483  func (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.
  2497  func (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  
  2504  const 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
  2530  func (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
  2583  func (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.
  2597  func (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  
  2604  const 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
  2630  func (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
  2687  func (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.
  2701  func (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.
  2709  type 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".
  2721  func (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".
  2730  func (s AccessDeniedException) GoString() string {
  2731  	return s.String()
  2732  }
  2733  
  2734  func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
  2735  	return &AccessDeniedException{
  2736  		RespMetadata: v,
  2737  	}
  2738  }
  2739  
  2740  // Code returns the exception type name.
  2741  func (s *AccessDeniedException) Code() string {
  2742  	return "AccessDeniedException"
  2743  }
  2744  
  2745  // Message returns the exception's message.
  2746  func (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.
  2754  func (s *AccessDeniedException) OrigErr() error {
  2755  	return nil
  2756  }
  2757  
  2758  func (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.
  2763  func (s *AccessDeniedException) StatusCode() int {
  2764  	return s.RespMetadata.StatusCode
  2765  }
  2766  
  2767  // RequestID returns the service's response RequestID for request.
  2768  func (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.
  2778  type 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".
  2805  func (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".
  2814  func (s ApprovalThresholdPolicy) GoString() string {
  2815  	return s.String()
  2816  }
  2817  
  2818  // Validate inspects the fields of the type to determine if they are valid.
  2819  func (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.
  2832  func (s *ApprovalThresholdPolicy) SetProposalDurationInHours(v int64) *ApprovalThresholdPolicy {
  2833  	s.ProposalDurationInHours = &v
  2834  	return s
  2835  }
  2836  
  2837  // SetThresholdComparator sets the ThresholdComparator field's value.
  2838  func (s *ApprovalThresholdPolicy) SetThresholdComparator(v string) *ApprovalThresholdPolicy {
  2839  	s.ThresholdComparator = &v
  2840  	return s
  2841  }
  2842  
  2843  // SetThresholdPercentage sets the ThresholdPercentage field's value.
  2844  func (s *ApprovalThresholdPolicy) SetThresholdPercentage(v int64) *ApprovalThresholdPolicy {
  2845  	s.ThresholdPercentage = &v
  2846  	return s
  2847  }
  2848  
  2849  type 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".
  2881  func (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".
  2890  func (s CreateMemberInput) GoString() string {
  2891  	return s.String()
  2892  }
  2893  
  2894  // Validate inspects the fields of the type to determine if they are valid.
  2895  func (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.
  2928  func (s *CreateMemberInput) SetClientRequestToken(v string) *CreateMemberInput {
  2929  	s.ClientRequestToken = &v
  2930  	return s
  2931  }
  2932  
  2933  // SetInvitationId sets the InvitationId field's value.
  2934  func (s *CreateMemberInput) SetInvitationId(v string) *CreateMemberInput {
  2935  	s.InvitationId = &v
  2936  	return s
  2937  }
  2938  
  2939  // SetMemberConfiguration sets the MemberConfiguration field's value.
  2940  func (s *CreateMemberInput) SetMemberConfiguration(v *MemberConfiguration) *CreateMemberInput {
  2941  	s.MemberConfiguration = v
  2942  	return s
  2943  }
  2944  
  2945  // SetNetworkId sets the NetworkId field's value.
  2946  func (s *CreateMemberInput) SetNetworkId(v string) *CreateMemberInput {
  2947  	s.NetworkId = &v
  2948  	return s
  2949  }
  2950  
  2951  type 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".
  2963  func (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".
  2972  func (s CreateMemberOutput) GoString() string {
  2973  	return s.String()
  2974  }
  2975  
  2976  // SetMemberId sets the MemberId field's value.
  2977  func (s *CreateMemberOutput) SetMemberId(v string) *CreateMemberOutput {
  2978  	s.MemberId = &v
  2979  	return s
  2980  }
  2981  
  2982  type 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".
  3042  func (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".
  3051  func (s CreateNetworkInput) GoString() string {
  3052  	return s.String()
  3053  }
  3054  
  3055  // Validate inspects the fields of the type to determine if they are valid.
  3056  func (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.
  3105  func (s *CreateNetworkInput) SetClientRequestToken(v string) *CreateNetworkInput {
  3106  	s.ClientRequestToken = &v
  3107  	return s
  3108  }
  3109  
  3110  // SetDescription sets the Description field's value.
  3111  func (s *CreateNetworkInput) SetDescription(v string) *CreateNetworkInput {
  3112  	s.Description = &v
  3113  	return s
  3114  }
  3115  
  3116  // SetFramework sets the Framework field's value.
  3117  func (s *CreateNetworkInput) SetFramework(v string) *CreateNetworkInput {
  3118  	s.Framework = &v
  3119  	return s
  3120  }
  3121  
  3122  // SetFrameworkConfiguration sets the FrameworkConfiguration field's value.
  3123  func (s *CreateNetworkInput) SetFrameworkConfiguration(v *NetworkFrameworkConfiguration) *CreateNetworkInput {
  3124  	s.FrameworkConfiguration = v
  3125  	return s
  3126  }
  3127  
  3128  // SetFrameworkVersion sets the FrameworkVersion field's value.
  3129  func (s *CreateNetworkInput) SetFrameworkVersion(v string) *CreateNetworkInput {
  3130  	s.FrameworkVersion = &v
  3131  	return s
  3132  }
  3133  
  3134  // SetMemberConfiguration sets the MemberConfiguration field's value.
  3135  func (s *CreateNetworkInput) SetMemberConfiguration(v *MemberConfiguration) *CreateNetworkInput {
  3136  	s.MemberConfiguration = v
  3137  	return s
  3138  }
  3139  
  3140  // SetName sets the Name field's value.
  3141  func (s *CreateNetworkInput) SetName(v string) *CreateNetworkInput {
  3142  	s.Name = &v
  3143  	return s
  3144  }
  3145  
  3146  // SetTags sets the Tags field's value.
  3147  func (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.
  3153  func (s *CreateNetworkInput) SetVotingPolicy(v *VotingPolicy) *CreateNetworkInput {
  3154  	s.VotingPolicy = v
  3155  	return s
  3156  }
  3157  
  3158  type 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".
  3173  func (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".
  3182  func (s CreateNetworkOutput) GoString() string {
  3183  	return s.String()
  3184  }
  3185  
  3186  // SetMemberId sets the MemberId field's value.
  3187  func (s *CreateNetworkOutput) SetMemberId(v string) *CreateNetworkOutput {
  3188  	s.MemberId = &v
  3189  	return s
  3190  }
  3191  
  3192  // SetNetworkId sets the NetworkId field's value.
  3193  func (s *CreateNetworkOutput) SetNetworkId(v string) *CreateNetworkOutput {
  3194  	s.NetworkId = &v
  3195  	return s
  3196  }
  3197  
  3198  type 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".
  3249  func (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".
  3258  func (s CreateNodeInput) GoString() string {
  3259  	return s.String()
  3260  }
  3261  
  3262  // Validate inspects the fields of the type to determine if they are valid.
  3263  func (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.
  3293  func (s *CreateNodeInput) SetClientRequestToken(v string) *CreateNodeInput {
  3294  	s.ClientRequestToken = &v
  3295  	return s
  3296  }
  3297  
  3298  // SetMemberId sets the MemberId field's value.
  3299  func (s *CreateNodeInput) SetMemberId(v string) *CreateNodeInput {
  3300  	s.MemberId = &v
  3301  	return s
  3302  }
  3303  
  3304  // SetNetworkId sets the NetworkId field's value.
  3305  func (s *CreateNodeInput) SetNetworkId(v string) *CreateNodeInput {
  3306  	s.NetworkId = &v
  3307  	return s
  3308  }
  3309  
  3310  // SetNodeConfiguration sets the NodeConfiguration field's value.
  3311  func (s *CreateNodeInput) SetNodeConfiguration(v *NodeConfiguration) *CreateNodeInput {
  3312  	s.NodeConfiguration = v
  3313  	return s
  3314  }
  3315  
  3316  // SetTags sets the Tags field's value.
  3317  func (s *CreateNodeInput) SetTags(v map[string]*string) *CreateNodeInput {
  3318  	s.Tags = v
  3319  	return s
  3320  }
  3321  
  3322  type 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".
  3334  func (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".
  3343  func (s CreateNodeOutput) GoString() string {
  3344  	return s.String()
  3345  }
  3346  
  3347  // SetNodeId sets the NodeId field's value.
  3348  func (s *CreateNodeOutput) SetNodeId(v string) *CreateNodeOutput {
  3349  	s.NodeId = &v
  3350  	return s
  3351  }
  3352  
  3353  type 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".
  3405  func (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".
  3414  func (s CreateProposalInput) GoString() string {
  3415  	return s.String()
  3416  }
  3417  
  3418  // Validate inspects the fields of the type to determine if they are valid.
  3419  func (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.
  3452  func (s *CreateProposalInput) SetActions(v *ProposalActions) *CreateProposalInput {
  3453  	s.Actions = v
  3454  	return s
  3455  }
  3456  
  3457  // SetClientRequestToken sets the ClientRequestToken field's value.
  3458  func (s *CreateProposalInput) SetClientRequestToken(v string) *CreateProposalInput {
  3459  	s.ClientRequestToken = &v
  3460  	return s
  3461  }
  3462  
  3463  // SetDescription sets the Description field's value.
  3464  func (s *CreateProposalInput) SetDescription(v string) *CreateProposalInput {
  3465  	s.Description = &v
  3466  	return s
  3467  }
  3468  
  3469  // SetMemberId sets the MemberId field's value.
  3470  func (s *CreateProposalInput) SetMemberId(v string) *CreateProposalInput {
  3471  	s.MemberId = &v
  3472  	return s
  3473  }
  3474  
  3475  // SetNetworkId sets the NetworkId field's value.
  3476  func (s *CreateProposalInput) SetNetworkId(v string) *CreateProposalInput {
  3477  	s.NetworkId = &v
  3478  	return s
  3479  }
  3480  
  3481  // SetTags sets the Tags field's value.
  3482  func (s *CreateProposalInput) SetTags(v map[string]*string) *CreateProposalInput {
  3483  	s.Tags = v
  3484  	return s
  3485  }
  3486  
  3487  type 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".
  3499  func (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".
  3508  func (s CreateProposalOutput) GoString() string {
  3509  	return s.String()
  3510  }
  3511  
  3512  // SetProposalId sets the ProposalId field's value.
  3513  func (s *CreateProposalOutput) SetProposalId(v string) *CreateProposalOutput {
  3514  	s.ProposalId = &v
  3515  	return s
  3516  }
  3517  
  3518  type 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".
  3537  func (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".
  3546  func (s DeleteMemberInput) GoString() string {
  3547  	return s.String()
  3548  }
  3549  
  3550  // Validate inspects the fields of the type to determine if they are valid.
  3551  func (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.
  3573  func (s *DeleteMemberInput) SetMemberId(v string) *DeleteMemberInput {
  3574  	s.MemberId = &v
  3575  	return s
  3576  }
  3577  
  3578  // SetNetworkId sets the NetworkId field's value.
  3579  func (s *DeleteMemberInput) SetNetworkId(v string) *DeleteMemberInput {
  3580  	s.NetworkId = &v
  3581  	return s
  3582  }
  3583  
  3584  type DeleteMemberOutput struct {
  3585  	_ struct{} `type:"structure" nopayload:"true"`
  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".
  3593  func (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".
  3602  func (s DeleteMemberOutput) GoString() string {
  3603  	return s.String()
  3604  }
  3605  
  3606  type 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".
  3638  func (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".
  3647  func (s DeleteNodeInput) GoString() string {
  3648  	return s.String()
  3649  }
  3650  
  3651  // Validate inspects the fields of the type to determine if they are valid.
  3652  func (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.
  3677  func (s *DeleteNodeInput) SetMemberId(v string) *DeleteNodeInput {
  3678  	s.MemberId = &v
  3679  	return s
  3680  }
  3681  
  3682  // SetNetworkId sets the NetworkId field's value.
  3683  func (s *DeleteNodeInput) SetNetworkId(v string) *DeleteNodeInput {
  3684  	s.NetworkId = &v
  3685  	return s
  3686  }
  3687  
  3688  // SetNodeId sets the NodeId field's value.
  3689  func (s *DeleteNodeInput) SetNodeId(v string) *DeleteNodeInput {
  3690  	s.NodeId = &v
  3691  	return s
  3692  }
  3693  
  3694  type DeleteNodeOutput struct {
  3695  	_ struct{} `type:"structure" nopayload:"true"`
  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".
  3703  func (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".
  3712  func (s DeleteNodeOutput) GoString() string {
  3713  	return s.String()
  3714  }
  3715  
  3716  type 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".
  3735  func (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".
  3744  func (s GetMemberInput) GoString() string {
  3745  	return s.String()
  3746  }
  3747  
  3748  // Validate inspects the fields of the type to determine if they are valid.
  3749  func (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.
  3771  func (s *GetMemberInput) SetMemberId(v string) *GetMemberInput {
  3772  	s.MemberId = &v
  3773  	return s
  3774  }
  3775  
  3776  // SetNetworkId sets the NetworkId field's value.
  3777  func (s *GetMemberInput) SetNetworkId(v string) *GetMemberInput {
  3778  	s.NetworkId = &v
  3779  	return s
  3780  }
  3781  
  3782  type 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".
  3794  func (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".
  3803  func (s GetMemberOutput) GoString() string {
  3804  	return s.String()
  3805  }
  3806  
  3807  // SetMember sets the Member field's value.
  3808  func (s *GetMemberOutput) SetMember(v *Member) *GetMemberOutput {
  3809  	s.Member = v
  3810  	return s
  3811  }
  3812  
  3813  type 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".
  3827  func (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".
  3836  func (s GetNetworkInput) GoString() string {
  3837  	return s.String()
  3838  }
  3839  
  3840  // Validate inspects the fields of the type to determine if they are valid.
  3841  func (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.
  3857  func (s *GetNetworkInput) SetNetworkId(v string) *GetNetworkInput {
  3858  	s.NetworkId = &v
  3859  	return s
  3860  }
  3861  
  3862  type 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".
  3874  func (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".
  3883  func (s GetNetworkOutput) GoString() string {
  3884  	return s.String()
  3885  }
  3886  
  3887  // SetNetwork sets the Network field's value.
  3888  func (s *GetNetworkOutput) SetNetwork(v *Network) *GetNetworkOutput {
  3889  	s.Network = v
  3890  	return s
  3891  }
  3892  
  3893  type 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".
  3917  func (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".
  3926  func (s GetNodeInput) GoString() string {
  3927  	return s.String()
  3928  }
  3929  
  3930  // Validate inspects the fields of the type to determine if they are valid.
  3931  func (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.
  3956  func (s *GetNodeInput) SetMemberId(v string) *GetNodeInput {
  3957  	s.MemberId = &v
  3958  	return s
  3959  }
  3960  
  3961  // SetNetworkId sets the NetworkId field's value.
  3962  func (s *GetNodeInput) SetNetworkId(v string) *GetNodeInput {
  3963  	s.NetworkId = &v
  3964  	return s
  3965  }
  3966  
  3967  // SetNodeId sets the NodeId field's value.
  3968  func (s *GetNodeInput) SetNodeId(v string) *GetNodeInput {
  3969  	s.NodeId = &v
  3970  	return s
  3971  }
  3972  
  3973  type 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".
  3985  func (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".
  3994  func (s GetNodeOutput) GoString() string {
  3995  	return s.String()
  3996  }
  3997  
  3998  // SetNode sets the Node field's value.
  3999  func (s *GetNodeOutput) SetNode(v *Node) *GetNodeOutput {
  4000  	s.Node = v
  4001  	return s
  4002  }
  4003  
  4004  type 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".
  4023  func (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".
  4032  func (s GetProposalInput) GoString() string {
  4033  	return s.String()
  4034  }
  4035  
  4036  // Validate inspects the fields of the type to determine if they are valid.
  4037  func (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.
  4059  func (s *GetProposalInput) SetNetworkId(v string) *GetProposalInput {
  4060  	s.NetworkId = &v
  4061  	return s
  4062  }
  4063  
  4064  // SetProposalId sets the ProposalId field's value.
  4065  func (s *GetProposalInput) SetProposalId(v string) *GetProposalInput {
  4066  	s.ProposalId = &v
  4067  	return s
  4068  }
  4069  
  4070  type 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".
  4082  func (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".
  4091  func (s GetProposalOutput) GoString() string {
  4092  	return s.String()
  4093  }
  4094  
  4095  // SetProposal sets the Proposal field's value.
  4096  func (s *GetProposalOutput) SetProposal(v *Proposal) *GetProposalOutput {
  4097  	s.Proposal = v
  4098  	return s
  4099  }
  4100  
  4101  type 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".
  4113  func (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".
  4122  func (s IllegalActionException) GoString() string {
  4123  	return s.String()
  4124  }
  4125  
  4126  func newErrorIllegalActionException(v protocol.ResponseMetadata) error {
  4127  	return &IllegalActionException{
  4128  		RespMetadata: v,
  4129  	}
  4130  }
  4131  
  4132  // Code returns the exception type name.
  4133  func (s *IllegalActionException) Code() string {
  4134  	return "IllegalActionException"
  4135  }
  4136  
  4137  // Message returns the exception's message.
  4138  func (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.
  4146  func (s *IllegalActionException) OrigErr() error {
  4147  	return nil
  4148  }
  4149  
  4150  func (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.
  4155  func (s *IllegalActionException) StatusCode() int {
  4156  	return s.RespMetadata.StatusCode
  4157  }
  4158  
  4159  // RequestID returns the service's response RequestID for request.
  4160  func (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.
  4166  type 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".
  4178  func (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".
  4187  func (s InternalServiceErrorException) GoString() string {
  4188  	return s.String()
  4189  }
  4190  
  4191  func newErrorInternalServiceErrorException(v protocol.ResponseMetadata) error {
  4192  	return &InternalServiceErrorException{
  4193  		RespMetadata: v,
  4194  	}
  4195  }
  4196  
  4197  // Code returns the exception type name.
  4198  func (s *InternalServiceErrorException) Code() string {
  4199  	return "InternalServiceErrorException"
  4200  }
  4201  
  4202  // Message returns the exception's message.
  4203  func (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.
  4211  func (s *InternalServiceErrorException) OrigErr() error {
  4212  	return nil
  4213  }
  4214  
  4215  func (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.
  4220  func (s *InternalServiceErrorException) StatusCode() int {
  4221  	return s.RespMetadata.StatusCode
  4222  }
  4223  
  4224  // RequestID returns the service's response RequestID for request.
  4225  func (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.
  4231  type 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".
  4243  func (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".
  4252  func (s InvalidRequestException) GoString() string {
  4253  	return s.String()
  4254  }
  4255  
  4256  func newErrorInvalidRequestException(v protocol.ResponseMetadata) error {
  4257  	return &InvalidRequestException{
  4258  		RespMetadata: v,
  4259  	}
  4260  }
  4261  
  4262  // Code returns the exception type name.
  4263  func (s *InvalidRequestException) Code() string {
  4264  	return "InvalidRequestException"
  4265  }
  4266  
  4267  // Message returns the exception's message.
  4268  func (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.
  4276  func (s *InvalidRequestException) OrigErr() error {
  4277  	return nil
  4278  }
  4279  
  4280  func (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.
  4285  func (s *InvalidRequestException) StatusCode() int {
  4286  	return s.RespMetadata.StatusCode
  4287  }
  4288  
  4289  // RequestID returns the service's response RequestID for request.
  4290  func (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.
  4297  type 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".
  4343  func (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".
  4352  func (s Invitation) GoString() string {
  4353  	return s.String()
  4354  }
  4355  
  4356  // SetArn sets the Arn field's value.
  4357  func (s *Invitation) SetArn(v string) *Invitation {
  4358  	s.Arn = &v
  4359  	return s
  4360  }
  4361  
  4362  // SetCreationDate sets the CreationDate field's value.
  4363  func (s *Invitation) SetCreationDate(v time.Time) *Invitation {
  4364  	s.CreationDate = &v
  4365  	return s
  4366  }
  4367  
  4368  // SetExpirationDate sets the ExpirationDate field's value.
  4369  func (s *Invitation) SetExpirationDate(v time.Time) *Invitation {
  4370  	s.ExpirationDate = &v
  4371  	return s
  4372  }
  4373  
  4374  // SetInvitationId sets the InvitationId field's value.
  4375  func (s *Invitation) SetInvitationId(v string) *Invitation {
  4376  	s.InvitationId = &v
  4377  	return s
  4378  }
  4379  
  4380  // SetNetworkSummary sets the NetworkSummary field's value.
  4381  func (s *Invitation) SetNetworkSummary(v *NetworkSummary) *Invitation {
  4382  	s.NetworkSummary = v
  4383  	return s
  4384  }
  4385  
  4386  // SetStatus sets the Status field's value.
  4387  func (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.
  4396  type 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".
  4410  func (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".
  4419  func (s InviteAction) GoString() string {
  4420  	return s.String()
  4421  }
  4422  
  4423  // Validate inspects the fields of the type to determine if they are valid.
  4424  func (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.
  4437  func (s *InviteAction) SetPrincipal(v string) *InviteAction {
  4438  	s.Principal = &v
  4439  	return s
  4440  }
  4441  
  4442  type 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".
  4457  func (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".
  4466  func (s ListInvitationsInput) GoString() string {
  4467  	return s.String()
  4468  }
  4469  
  4470  // Validate inspects the fields of the type to determine if they are valid.
  4471  func (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.
  4484  func (s *ListInvitationsInput) SetMaxResults(v int64) *ListInvitationsInput {
  4485  	s.MaxResults = &v
  4486  	return s
  4487  }
  4488  
  4489  // SetNextToken sets the NextToken field's value.
  4490  func (s *ListInvitationsInput) SetNextToken(v string) *ListInvitationsInput {
  4491  	s.NextToken = &v
  4492  	return s
  4493  }
  4494  
  4495  type 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".
  4510  func (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".
  4519  func (s ListInvitationsOutput) GoString() string {
  4520  	return s.String()
  4521  }
  4522  
  4523  // SetInvitations sets the Invitations field's value.
  4524  func (s *ListInvitationsOutput) SetInvitations(v []*Invitation) *ListInvitationsOutput {
  4525  	s.Invitations = v
  4526  	return s
  4527  }
  4528  
  4529  // SetNextToken sets the NextToken field's value.
  4530  func (s *ListInvitationsOutput) SetNextToken(v string) *ListInvitationsOutput {
  4531  	s.NextToken = &v
  4532  	return s
  4533  }
  4534  
  4535  type 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".
  4567  func (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".
  4576  func (s ListMembersInput) GoString() string {
  4577  	return s.String()
  4578  }
  4579  
  4580  // Validate inspects the fields of the type to determine if they are valid.
  4581  func (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.
  4600  func (s *ListMembersInput) SetIsOwned(v bool) *ListMembersInput {
  4601  	s.IsOwned = &v
  4602  	return s
  4603  }
  4604  
  4605  // SetMaxResults sets the MaxResults field's value.
  4606  func (s *ListMembersInput) SetMaxResults(v int64) *ListMembersInput {
  4607  	s.MaxResults = &v
  4608  	return s
  4609  }
  4610  
  4611  // SetName sets the Name field's value.
  4612  func (s *ListMembersInput) SetName(v string) *ListMembersInput {
  4613  	s.Name = &v
  4614  	return s
  4615  }
  4616  
  4617  // SetNetworkId sets the NetworkId field's value.
  4618  func (s *ListMembersInput) SetNetworkId(v string) *ListMembersInput {
  4619  	s.NetworkId = &v
  4620  	return s
  4621  }
  4622  
  4623  // SetNextToken sets the NextToken field's value.
  4624  func (s *ListMembersInput) SetNextToken(v string) *ListMembersInput {
  4625  	s.NextToken = &v
  4626  	return s
  4627  }
  4628  
  4629  // SetStatus sets the Status field's value.
  4630  func (s *ListMembersInput) SetStatus(v string) *ListMembersInput {
  4631  	s.Status = &v
  4632  	return s
  4633  }
  4634  
  4635  type 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".
  4651  func (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".
  4660  func (s ListMembersOutput) GoString() string {
  4661  	return s.String()
  4662  }
  4663  
  4664  // SetMembers sets the Members field's value.
  4665  func (s *ListMembersOutput) SetMembers(v []*MemberSummary) *ListMembersOutput {
  4666  	s.Members = v
  4667  	return s
  4668  }
  4669  
  4670  // SetNextToken sets the NextToken field's value.
  4671  func (s *ListMembersOutput) SetNextToken(v string) *ListMembersOutput {
  4672  	s.NextToken = &v
  4673  	return s
  4674  }
  4675  
  4676  type 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".
  4704  func (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".
  4713  func (s ListNetworksInput) GoString() string {
  4714  	return s.String()
  4715  }
  4716  
  4717  // Validate inspects the fields of the type to determine if they are valid.
  4718  func (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.
  4731  func (s *ListNetworksInput) SetFramework(v string) *ListNetworksInput {
  4732  	s.Framework = &v
  4733  	return s
  4734  }
  4735  
  4736  // SetMaxResults sets the MaxResults field's value.
  4737  func (s *ListNetworksInput) SetMaxResults(v int64) *ListNetworksInput {
  4738  	s.MaxResults = &v
  4739  	return s
  4740  }
  4741  
  4742  // SetName sets the Name field's value.
  4743  func (s *ListNetworksInput) SetName(v string) *ListNetworksInput {
  4744  	s.Name = &v
  4745  	return s
  4746  }
  4747  
  4748  // SetNextToken sets the NextToken field's value.
  4749  func (s *ListNetworksInput) SetNextToken(v string) *ListNetworksInput {
  4750  	s.NextToken = &v
  4751  	return s
  4752  }
  4753  
  4754  // SetStatus sets the Status field's value.
  4755  func (s *ListNetworksInput) SetStatus(v string) *ListNetworksInput {
  4756  	s.Status = &v
  4757  	return s
  4758  }
  4759  
  4760  type 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".
  4776  func (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".
  4785  func (s ListNetworksOutput) GoString() string {
  4786  	return s.String()
  4787  }
  4788  
  4789  // SetNetworks sets the Networks field's value.
  4790  func (s *ListNetworksOutput) SetNetworks(v []*NetworkSummary) *ListNetworksOutput {
  4791  	s.Networks = v
  4792  	return s
  4793  }
  4794  
  4795  // SetNextToken sets the NextToken field's value.
  4796  func (s *ListNetworksOutput) SetNextToken(v string) *ListNetworksOutput {
  4797  	s.NextToken = &v
  4798  	return s
  4799  }
  4800  
  4801  type 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".
  4830  func (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".
  4839  func (s ListNodesInput) GoString() string {
  4840  	return s.String()
  4841  }
  4842  
  4843  // Validate inspects the fields of the type to determine if they are valid.
  4844  func (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.
  4866  func (s *ListNodesInput) SetMaxResults(v int64) *ListNodesInput {
  4867  	s.MaxResults = &v
  4868  	return s
  4869  }
  4870  
  4871  // SetMemberId sets the MemberId field's value.
  4872  func (s *ListNodesInput) SetMemberId(v string) *ListNodesInput {
  4873  	s.MemberId = &v
  4874  	return s
  4875  }
  4876  
  4877  // SetNetworkId sets the NetworkId field's value.
  4878  func (s *ListNodesInput) SetNetworkId(v string) *ListNodesInput {
  4879  	s.NetworkId = &v
  4880  	return s
  4881  }
  4882  
  4883  // SetNextToken sets the NextToken field's value.
  4884  func (s *ListNodesInput) SetNextToken(v string) *ListNodesInput {
  4885  	s.NextToken = &v
  4886  	return s
  4887  }
  4888  
  4889  // SetStatus sets the Status field's value.
  4890  func (s *ListNodesInput) SetStatus(v string) *ListNodesInput {
  4891  	s.Status = &v
  4892  	return s
  4893  }
  4894  
  4895  type 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".
  4911  func (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".
  4920  func (s ListNodesOutput) GoString() string {
  4921  	return s.String()
  4922  }
  4923  
  4924  // SetNextToken sets the NextToken field's value.
  4925  func (s *ListNodesOutput) SetNextToken(v string) *ListNodesOutput {
  4926  	s.NextToken = &v
  4927  	return s
  4928  }
  4929  
  4930  // SetNodes sets the Nodes field's value.
  4931  func (s *ListNodesOutput) SetNodes(v []*NodeSummary) *ListNodesOutput {
  4932  	s.Nodes = v
  4933  	return s
  4934  }
  4935  
  4936  type 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".
  4961  func (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".
  4970  func (s ListProposalVotesInput) GoString() string {
  4971  	return s.String()
  4972  }
  4973  
  4974  // Validate inspects the fields of the type to determine if they are valid.
  4975  func (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.
  5000  func (s *ListProposalVotesInput) SetMaxResults(v int64) *ListProposalVotesInput {
  5001  	s.MaxResults = &v
  5002  	return s
  5003  }
  5004  
  5005  // SetNetworkId sets the NetworkId field's value.
  5006  func (s *ListProposalVotesInput) SetNetworkId(v string) *ListProposalVotesInput {
  5007  	s.NetworkId = &v
  5008  	return s
  5009  }
  5010  
  5011  // SetNextToken sets the NextToken field's value.
  5012  func (s *ListProposalVotesInput) SetNextToken(v string) *ListProposalVotesInput {
  5013  	s.NextToken = &v
  5014  	return s
  5015  }
  5016  
  5017  // SetProposalId sets the ProposalId field's value.
  5018  func (s *ListProposalVotesInput) SetProposalId(v string) *ListProposalVotesInput {
  5019  	s.ProposalId = &v
  5020  	return s
  5021  }
  5022  
  5023  type 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".
  5038  func (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".
  5047  func (s ListProposalVotesOutput) GoString() string {
  5048  	return s.String()
  5049  }
  5050  
  5051  // SetNextToken sets the NextToken field's value.
  5052  func (s *ListProposalVotesOutput) SetNextToken(v string) *ListProposalVotesOutput {
  5053  	s.NextToken = &v
  5054  	return s
  5055  }
  5056  
  5057  // SetProposalVotes sets the ProposalVotes field's value.
  5058  func (s *ListProposalVotesOutput) SetProposalVotes(v []*VoteSummary) *ListProposalVotesOutput {
  5059  	s.ProposalVotes = v
  5060  	return s
  5061  }
  5062  
  5063  type 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".
  5083  func (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".
  5092  func (s ListProposalsInput) GoString() string {
  5093  	return s.String()
  5094  }
  5095  
  5096  // Validate inspects the fields of the type to determine if they are valid.
  5097  func (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.
  5116  func (s *ListProposalsInput) SetMaxResults(v int64) *ListProposalsInput {
  5117  	s.MaxResults = &v
  5118  	return s
  5119  }
  5120  
  5121  // SetNetworkId sets the NetworkId field's value.
  5122  func (s *ListProposalsInput) SetNetworkId(v string) *ListProposalsInput {
  5123  	s.NetworkId = &v
  5124  	return s
  5125  }
  5126  
  5127  // SetNextToken sets the NextToken field's value.
  5128  func (s *ListProposalsInput) SetNextToken(v string) *ListProposalsInput {
  5129  	s.NextToken = &v
  5130  	return s
  5131  }
  5132  
  5133  type 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".
  5148  func (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".
  5157  func (s ListProposalsOutput) GoString() string {
  5158  	return s.String()
  5159  }
  5160  
  5161  // SetNextToken sets the NextToken field's value.
  5162  func (s *ListProposalsOutput) SetNextToken(v string) *ListProposalsOutput {
  5163  	s.NextToken = &v
  5164  	return s
  5165  }
  5166  
  5167  // SetProposals sets the Proposals field's value.
  5168  func (s *ListProposalsOutput) SetProposals(v []*ProposalSummary) *ListProposalsOutput {
  5169  	s.Proposals = v
  5170  	return s
  5171  }
  5172  
  5173  type 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".
  5189  func (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".
  5198  func (s ListTagsForResourceInput) GoString() string {
  5199  	return s.String()
  5200  }
  5201  
  5202  // Validate inspects the fields of the type to determine if they are valid.
  5203  func (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.
  5219  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
  5220  	s.ResourceArn = &v
  5221  	return s
  5222  }
  5223  
  5224  type 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".
  5236  func (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".
  5245  func (s ListTagsForResourceOutput) GoString() string {
  5246  	return s.String()
  5247  }
  5248  
  5249  // SetTags sets the Tags field's value.
  5250  func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
  5251  	s.Tags = v
  5252  	return s
  5253  }
  5254  
  5255  // A configuration for logging events.
  5256  type 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".
  5268  func (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".
  5277  func (s LogConfiguration) GoString() string {
  5278  	return s.String()
  5279  }
  5280  
  5281  // SetEnabled sets the Enabled field's value.
  5282  func (s *LogConfiguration) SetEnabled(v bool) *LogConfiguration {
  5283  	s.Enabled = &v
  5284  	return s
  5285  }
  5286  
  5287  // A collection of log configurations.
  5288  type 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".
  5300  func (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".
  5309  func (s LogConfigurations) GoString() string {
  5310  	return s.String()
  5311  }
  5312  
  5313  // SetCloudwatch sets the Cloudwatch field's value.
  5314  func (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.
  5322  type 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".
  5400  func (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".
  5409  func (s Member) GoString() string {
  5410  	return s.String()
  5411  }
  5412  
  5413  // SetArn sets the Arn field's value.
  5414  func (s *Member) SetArn(v string) *Member {
  5415  	s.Arn = &v
  5416  	return s
  5417  }
  5418  
  5419  // SetCreationDate sets the CreationDate field's value.
  5420  func (s *Member) SetCreationDate(v time.Time) *Member {
  5421  	s.CreationDate = &v
  5422  	return s
  5423  }
  5424  
  5425  // SetDescription sets the Description field's value.
  5426  func (s *Member) SetDescription(v string) *Member {
  5427  	s.Description = &v
  5428  	return s
  5429  }
  5430  
  5431  // SetFrameworkAttributes sets the FrameworkAttributes field's value.
  5432  func (s *Member) SetFrameworkAttributes(v *MemberFrameworkAttributes) *Member {
  5433  	s.FrameworkAttributes = v
  5434  	return s
  5435  }
  5436  
  5437  // SetId sets the Id field's value.
  5438  func (s *Member) SetId(v string) *Member {
  5439  	s.Id = &v
  5440  	return s
  5441  }
  5442  
  5443  // SetKmsKeyArn sets the KmsKeyArn field's value.
  5444  func (s *Member) SetKmsKeyArn(v string) *Member {
  5445  	s.KmsKeyArn = &v
  5446  	return s
  5447  }
  5448  
  5449  // SetLogPublishingConfiguration sets the LogPublishingConfiguration field's value.
  5450  func (s *Member) SetLogPublishingConfiguration(v *MemberLogPublishingConfiguration) *Member {
  5451  	s.LogPublishingConfiguration = v
  5452  	return s
  5453  }
  5454  
  5455  // SetName sets the Name field's value.
  5456  func (s *Member) SetName(v string) *Member {
  5457  	s.Name = &v
  5458  	return s
  5459  }
  5460  
  5461  // SetNetworkId sets the NetworkId field's value.
  5462  func (s *Member) SetNetworkId(v string) *Member {
  5463  	s.NetworkId = &v
  5464  	return s
  5465  }
  5466  
  5467  // SetStatus sets the Status field's value.
  5468  func (s *Member) SetStatus(v string) *Member {
  5469  	s.Status = &v
  5470  	return s
  5471  }
  5472  
  5473  // SetTags sets the Tags field's value.
  5474  func (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.
  5482  type 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".
  5533  func (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".
  5542  func (s MemberConfiguration) GoString() string {
  5543  	return s.String()
  5544  }
  5545  
  5546  // Validate inspects the fields of the type to determine if they are valid.
  5547  func (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.
  5574  func (s *MemberConfiguration) SetDescription(v string) *MemberConfiguration {
  5575  	s.Description = &v
  5576  	return s
  5577  }
  5578  
  5579  // SetFrameworkConfiguration sets the FrameworkConfiguration field's value.
  5580  func (s *MemberConfiguration) SetFrameworkConfiguration(v *MemberFrameworkConfiguration) *MemberConfiguration {
  5581  	s.FrameworkConfiguration = v
  5582  	return s
  5583  }
  5584  
  5585  // SetKmsKeyArn sets the KmsKeyArn field's value.
  5586  func (s *MemberConfiguration) SetKmsKeyArn(v string) *MemberConfiguration {
  5587  	s.KmsKeyArn = &v
  5588  	return s
  5589  }
  5590  
  5591  // SetLogPublishingConfiguration sets the LogPublishingConfiguration field's value.
  5592  func (s *MemberConfiguration) SetLogPublishingConfiguration(v *MemberLogPublishingConfiguration) *MemberConfiguration {
  5593  	s.LogPublishingConfiguration = v
  5594  	return s
  5595  }
  5596  
  5597  // SetName sets the Name field's value.
  5598  func (s *MemberConfiguration) SetName(v string) *MemberConfiguration {
  5599  	s.Name = &v
  5600  	return s
  5601  }
  5602  
  5603  // SetTags sets the Tags field's value.
  5604  func (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.
  5611  type 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".
  5626  func (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".
  5635  func (s MemberFabricAttributes) GoString() string {
  5636  	return s.String()
  5637  }
  5638  
  5639  // SetAdminUsername sets the AdminUsername field's value.
  5640  func (s *MemberFabricAttributes) SetAdminUsername(v string) *MemberFabricAttributes {
  5641  	s.AdminUsername = &v
  5642  	return s
  5643  }
  5644  
  5645  // SetCaEndpoint sets the CaEndpoint field's value.
  5646  func (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.
  5653  type 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".
  5680  func (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".
  5689  func (s MemberFabricConfiguration) GoString() string {
  5690  	return s.String()
  5691  }
  5692  
  5693  // Validate inspects the fields of the type to determine if they are valid.
  5694  func (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.
  5716  func (s *MemberFabricConfiguration) SetAdminPassword(v string) *MemberFabricConfiguration {
  5717  	s.AdminPassword = &v
  5718  	return s
  5719  }
  5720  
  5721  // SetAdminUsername sets the AdminUsername field's value.
  5722  func (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.
  5729  type 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".
  5743  func (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".
  5752  func (s MemberFabricLogPublishingConfiguration) GoString() string {
  5753  	return s.String()
  5754  }
  5755  
  5756  // SetCaLogs sets the CaLogs field's value.
  5757  func (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.
  5764  type 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".
  5777  func (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".
  5786  func (s MemberFrameworkAttributes) GoString() string {
  5787  	return s.String()
  5788  }
  5789  
  5790  // SetFabric sets the Fabric field's value.
  5791  func (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.
  5798  type 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".
  5811  func (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".
  5820  func (s MemberFrameworkConfiguration) GoString() string {
  5821  	return s.String()
  5822  }
  5823  
  5824  // Validate inspects the fields of the type to determine if they are valid.
  5825  func (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.
  5840  func (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.
  5847  type 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".
  5860  func (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".
  5869  func (s MemberLogPublishingConfiguration) GoString() string {
  5870  	return s.String()
  5871  }
  5872  
  5873  // SetFabric sets the Fabric field's value.
  5874  func (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.
  5882  type 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".
  5943  func (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".
  5952  func (s MemberSummary) GoString() string {
  5953  	return s.String()
  5954  }
  5955  
  5956  // SetArn sets the Arn field's value.
  5957  func (s *MemberSummary) SetArn(v string) *MemberSummary {
  5958  	s.Arn = &v
  5959  	return s
  5960  }
  5961  
  5962  // SetCreationDate sets the CreationDate field's value.
  5963  func (s *MemberSummary) SetCreationDate(v time.Time) *MemberSummary {
  5964  	s.CreationDate = &v
  5965  	return s
  5966  }
  5967  
  5968  // SetDescription sets the Description field's value.
  5969  func (s *MemberSummary) SetDescription(v string) *MemberSummary {
  5970  	s.Description = &v
  5971  	return s
  5972  }
  5973  
  5974  // SetId sets the Id field's value.
  5975  func (s *MemberSummary) SetId(v string) *MemberSummary {
  5976  	s.Id = &v
  5977  	return s
  5978  }
  5979  
  5980  // SetIsOwned sets the IsOwned field's value.
  5981  func (s *MemberSummary) SetIsOwned(v bool) *MemberSummary {
  5982  	s.IsOwned = &v
  5983  	return s
  5984  }
  5985  
  5986  // SetName sets the Name field's value.
  5987  func (s *MemberSummary) SetName(v string) *MemberSummary {
  5988  	s.Name = &v
  5989  	return s
  5990  }
  5991  
  5992  // SetStatus sets the Status field's value.
  5993  func (s *MemberSummary) SetStatus(v string) *MemberSummary {
  5994  	s.Status = &v
  5995  	return s
  5996  }
  5997  
  5998  // Network configuration properties.
  5999  type 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".
  6053  func (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".
  6062  func (s Network) GoString() string {
  6063  	return s.String()
  6064  }
  6065  
  6066  // SetArn sets the Arn field's value.
  6067  func (s *Network) SetArn(v string) *Network {
  6068  	s.Arn = &v
  6069  	return s
  6070  }
  6071  
  6072  // SetCreationDate sets the CreationDate field's value.
  6073  func (s *Network) SetCreationDate(v time.Time) *Network {
  6074  	s.CreationDate = &v
  6075  	return s
  6076  }
  6077  
  6078  // SetDescription sets the Description field's value.
  6079  func (s *Network) SetDescription(v string) *Network {
  6080  	s.Description = &v
  6081  	return s
  6082  }
  6083  
  6084  // SetFramework sets the Framework field's value.
  6085  func (s *Network) SetFramework(v string) *Network {
  6086  	s.Framework = &v
  6087  	return s
  6088  }
  6089  
  6090  // SetFrameworkAttributes sets the FrameworkAttributes field's value.
  6091  func (s *Network) SetFrameworkAttributes(v *NetworkFrameworkAttributes) *Network {
  6092  	s.FrameworkAttributes = v
  6093  	return s
  6094  }
  6095  
  6096  // SetFrameworkVersion sets the FrameworkVersion field's value.
  6097  func (s *Network) SetFrameworkVersion(v string) *Network {
  6098  	s.FrameworkVersion = &v
  6099  	return s
  6100  }
  6101  
  6102  // SetId sets the Id field's value.
  6103  func (s *Network) SetId(v string) *Network {
  6104  	s.Id = &v
  6105  	return s
  6106  }
  6107  
  6108  // SetName sets the Name field's value.
  6109  func (s *Network) SetName(v string) *Network {
  6110  	s.Name = &v
  6111  	return s
  6112  }
  6113  
  6114  // SetStatus sets the Status field's value.
  6115  func (s *Network) SetStatus(v string) *Network {
  6116  	s.Status = &v
  6117  	return s
  6118  }
  6119  
  6120  // SetTags sets the Tags field's value.
  6121  func (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.
  6127  func (s *Network) SetVotingPolicy(v *VotingPolicy) *Network {
  6128  	s.VotingPolicy = v
  6129  	return s
  6130  }
  6131  
  6132  // SetVpcEndpointServiceName sets the VpcEndpointServiceName field's value.
  6133  func (s *Network) SetVpcEndpointServiceName(v string) *Network {
  6134  	s.VpcEndpointServiceName = &v
  6135  	return s
  6136  }
  6137  
  6138  // Attributes of Ethereum for a network.
  6139  type 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".
  6158  func (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".
  6167  func (s NetworkEthereumAttributes) GoString() string {
  6168  	return s.String()
  6169  }
  6170  
  6171  // SetChainId sets the ChainId field's value.
  6172  func (s *NetworkEthereumAttributes) SetChainId(v string) *NetworkEthereumAttributes {
  6173  	s.ChainId = &v
  6174  	return s
  6175  }
  6176  
  6177  // Attributes of Hyperledger Fabric for a network.
  6178  type 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".
  6194  func (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".
  6203  func (s NetworkFabricAttributes) GoString() string {
  6204  	return s.String()
  6205  }
  6206  
  6207  // SetEdition sets the Edition field's value.
  6208  func (s *NetworkFabricAttributes) SetEdition(v string) *NetworkFabricAttributes {
  6209  	s.Edition = &v
  6210  	return s
  6211  }
  6212  
  6213  // SetOrderingServiceEndpoint sets the OrderingServiceEndpoint field's value.
  6214  func (s *NetworkFabricAttributes) SetOrderingServiceEndpoint(v string) *NetworkFabricAttributes {
  6215  	s.OrderingServiceEndpoint = &v
  6216  	return s
  6217  }
  6218  
  6219  // Hyperledger Fabric configuration properties for the network.
  6220  type 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".
  6235  func (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".
  6244  func (s NetworkFabricConfiguration) GoString() string {
  6245  	return s.String()
  6246  }
  6247  
  6248  // Validate inspects the fields of the type to determine if they are valid.
  6249  func (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.
  6262  func (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.
  6269  type 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".
  6286  func (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".
  6295  func (s NetworkFrameworkAttributes) GoString() string {
  6296  	return s.String()
  6297  }
  6298  
  6299  // SetEthereum sets the Ethereum field's value.
  6300  func (s *NetworkFrameworkAttributes) SetEthereum(v *NetworkEthereumAttributes) *NetworkFrameworkAttributes {
  6301  	s.Ethereum = v
  6302  	return s
  6303  }
  6304  
  6305  // SetFabric sets the Fabric field's value.
  6306  func (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.
  6313  type 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".
  6326  func (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".
  6335  func (s NetworkFrameworkConfiguration) GoString() string {
  6336  	return s.String()
  6337  }
  6338  
  6339  // Validate inspects the fields of the type to determine if they are valid.
  6340  func (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.
  6355  func (s *NetworkFrameworkConfiguration) SetFabric(v *NetworkFabricConfiguration) *NetworkFrameworkConfiguration {
  6356  	s.Fabric = v
  6357  	return s
  6358  }
  6359  
  6360  // A summary of network configuration properties.
  6361  type 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".
  6396  func (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".
  6405  func (s NetworkSummary) GoString() string {
  6406  	return s.String()
  6407  }
  6408  
  6409  // SetArn sets the Arn field's value.
  6410  func (s *NetworkSummary) SetArn(v string) *NetworkSummary {
  6411  	s.Arn = &v
  6412  	return s
  6413  }
  6414  
  6415  // SetCreationDate sets the CreationDate field's value.
  6416  func (s *NetworkSummary) SetCreationDate(v time.Time) *NetworkSummary {
  6417  	s.CreationDate = &v
  6418  	return s
  6419  }
  6420  
  6421  // SetDescription sets the Description field's value.
  6422  func (s *NetworkSummary) SetDescription(v string) *NetworkSummary {
  6423  	s.Description = &v
  6424  	return s
  6425  }
  6426  
  6427  // SetFramework sets the Framework field's value.
  6428  func (s *NetworkSummary) SetFramework(v string) *NetworkSummary {
  6429  	s.Framework = &v
  6430  	return s
  6431  }
  6432  
  6433  // SetFrameworkVersion sets the FrameworkVersion field's value.
  6434  func (s *NetworkSummary) SetFrameworkVersion(v string) *NetworkSummary {
  6435  	s.FrameworkVersion = &v
  6436  	return s
  6437  }
  6438  
  6439  // SetId sets the Id field's value.
  6440  func (s *NetworkSummary) SetId(v string) *NetworkSummary {
  6441  	s.Id = &v
  6442  	return s
  6443  }
  6444  
  6445  // SetName sets the Name field's value.
  6446  func (s *NetworkSummary) SetName(v string) *NetworkSummary {
  6447  	s.Name = &v
  6448  	return s
  6449  }
  6450  
  6451  // SetStatus sets the Status field's value.
  6452  func (s *NetworkSummary) SetStatus(v string) *NetworkSummary {
  6453  	s.Status = &v
  6454  	return s
  6455  }
  6456  
  6457  // Configuration properties of a node.
  6458  type 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".
  6553  func (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".
  6562  func (s Node) GoString() string {
  6563  	return s.String()
  6564  }
  6565  
  6566  // SetArn sets the Arn field's value.
  6567  func (s *Node) SetArn(v string) *Node {
  6568  	s.Arn = &v
  6569  	return s
  6570  }
  6571  
  6572  // SetAvailabilityZone sets the AvailabilityZone field's value.
  6573  func (s *Node) SetAvailabilityZone(v string) *Node {
  6574  	s.AvailabilityZone = &v
  6575  	return s
  6576  }
  6577  
  6578  // SetCreationDate sets the CreationDate field's value.
  6579  func (s *Node) SetCreationDate(v time.Time) *Node {
  6580  	s.CreationDate = &v
  6581  	return s
  6582  }
  6583  
  6584  // SetFrameworkAttributes sets the FrameworkAttributes field's value.
  6585  func (s *Node) SetFrameworkAttributes(v *NodeFrameworkAttributes) *Node {
  6586  	s.FrameworkAttributes = v
  6587  	return s
  6588  }
  6589  
  6590  // SetId sets the Id field's value.
  6591  func (s *Node) SetId(v string) *Node {
  6592  	s.Id = &v
  6593  	return s
  6594  }
  6595  
  6596  // SetInstanceType sets the InstanceType field's value.
  6597  func (s *Node) SetInstanceType(v string) *Node {
  6598  	s.InstanceType = &v
  6599  	return s
  6600  }
  6601  
  6602  // SetKmsKeyArn sets the KmsKeyArn field's value.
  6603  func (s *Node) SetKmsKeyArn(v string) *Node {
  6604  	s.KmsKeyArn = &v
  6605  	return s
  6606  }
  6607  
  6608  // SetLogPublishingConfiguration sets the LogPublishingConfiguration field's value.
  6609  func (s *Node) SetLogPublishingConfiguration(v *NodeLogPublishingConfiguration) *Node {
  6610  	s.LogPublishingConfiguration = v
  6611  	return s
  6612  }
  6613  
  6614  // SetMemberId sets the MemberId field's value.
  6615  func (s *Node) SetMemberId(v string) *Node {
  6616  	s.MemberId = &v
  6617  	return s
  6618  }
  6619  
  6620  // SetNetworkId sets the NetworkId field's value.
  6621  func (s *Node) SetNetworkId(v string) *Node {
  6622  	s.NetworkId = &v
  6623  	return s
  6624  }
  6625  
  6626  // SetStateDB sets the StateDB field's value.
  6627  func (s *Node) SetStateDB(v string) *Node {
  6628  	s.StateDB = &v
  6629  	return s
  6630  }
  6631  
  6632  // SetStatus sets the Status field's value.
  6633  func (s *Node) SetStatus(v string) *Node {
  6634  	s.Status = &v
  6635  	return s
  6636  }
  6637  
  6638  // SetTags sets the Tags field's value.
  6639  func (s *Node) SetTags(v map[string]*string) *Node {
  6640  	s.Tags = v
  6641  	return s
  6642  }
  6643  
  6644  // Configuration properties of a node.
  6645  type 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".
  6673  func (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".
  6682  func (s NodeConfiguration) GoString() string {
  6683  	return s.String()
  6684  }
  6685  
  6686  // Validate inspects the fields of the type to determine if they are valid.
  6687  func (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.
  6700  func (s *NodeConfiguration) SetAvailabilityZone(v string) *NodeConfiguration {
  6701  	s.AvailabilityZone = &v
  6702  	return s
  6703  }
  6704  
  6705  // SetInstanceType sets the InstanceType field's value.
  6706  func (s *NodeConfiguration) SetInstanceType(v string) *NodeConfiguration {
  6707  	s.InstanceType = &v
  6708  	return s
  6709  }
  6710  
  6711  // SetLogPublishingConfiguration sets the LogPublishingConfiguration field's value.
  6712  func (s *NodeConfiguration) SetLogPublishingConfiguration(v *NodeLogPublishingConfiguration) *NodeConfiguration {
  6713  	s.LogPublishingConfiguration = v
  6714  	return s
  6715  }
  6716  
  6717  // SetStateDB sets the StateDB field's value.
  6718  func (s *NodeConfiguration) SetStateDB(v string) *NodeConfiguration {
  6719  	s.StateDB = &v
  6720  	return s
  6721  }
  6722  
  6723  // Attributes of an Ethereum node.
  6724  type 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".
  6745  func (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".
  6754  func (s NodeEthereumAttributes) GoString() string {
  6755  	return s.String()
  6756  }
  6757  
  6758  // SetHttpEndpoint sets the HttpEndpoint field's value.
  6759  func (s *NodeEthereumAttributes) SetHttpEndpoint(v string) *NodeEthereumAttributes {
  6760  	s.HttpEndpoint = &v
  6761  	return s
  6762  }
  6763  
  6764  // SetWebSocketEndpoint sets the WebSocketEndpoint field's value.
  6765  func (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.
  6772  type 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".
  6788  func (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".
  6797  func (s NodeFabricAttributes) GoString() string {
  6798  	return s.String()
  6799  }
  6800  
  6801  // SetPeerEndpoint sets the PeerEndpoint field's value.
  6802  func (s *NodeFabricAttributes) SetPeerEndpoint(v string) *NodeFabricAttributes {
  6803  	s.PeerEndpoint = &v
  6804  	return s
  6805  }
  6806  
  6807  // SetPeerEventEndpoint sets the PeerEventEndpoint field's value.
  6808  func (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.
  6815  type 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".
  6837  func (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".
  6846  func (s NodeFabricLogPublishingConfiguration) GoString() string {
  6847  	return s.String()
  6848  }
  6849  
  6850  // SetChaincodeLogs sets the ChaincodeLogs field's value.
  6851  func (s *NodeFabricLogPublishingConfiguration) SetChaincodeLogs(v *LogConfigurations) *NodeFabricLogPublishingConfiguration {
  6852  	s.ChaincodeLogs = v
  6853  	return s
  6854  }
  6855  
  6856  // SetPeerLogs sets the PeerLogs field's value.
  6857  func (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.
  6864  type 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".
  6881  func (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".
  6890  func (s NodeFrameworkAttributes) GoString() string {
  6891  	return s.String()
  6892  }
  6893  
  6894  // SetEthereum sets the Ethereum field's value.
  6895  func (s *NodeFrameworkAttributes) SetEthereum(v *NodeEthereumAttributes) *NodeFrameworkAttributes {
  6896  	s.Ethereum = v
  6897  	return s
  6898  }
  6899  
  6900  // SetFabric sets the Fabric field's value.
  6901  func (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.
  6908  type 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".
  6922  func (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".
  6931  func (s NodeLogPublishingConfiguration) GoString() string {
  6932  	return s.String()
  6933  }
  6934  
  6935  // SetFabric sets the Fabric field's value.
  6936  func (s *NodeLogPublishingConfiguration) SetFabric(v *NodeFabricLogPublishingConfiguration) *NodeLogPublishingConfiguration {
  6937  	s.Fabric = v
  6938  	return s
  6939  }
  6940  
  6941  // A summary of configuration properties for a node.
  6942  type 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".
  6971  func (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".
  6980  func (s NodeSummary) GoString() string {
  6981  	return s.String()
  6982  }
  6983  
  6984  // SetArn sets the Arn field's value.
  6985  func (s *NodeSummary) SetArn(v string) *NodeSummary {
  6986  	s.Arn = &v
  6987  	return s
  6988  }
  6989  
  6990  // SetAvailabilityZone sets the AvailabilityZone field's value.
  6991  func (s *NodeSummary) SetAvailabilityZone(v string) *NodeSummary {
  6992  	s.AvailabilityZone = &v
  6993  	return s
  6994  }
  6995  
  6996  // SetCreationDate sets the CreationDate field's value.
  6997  func (s *NodeSummary) SetCreationDate(v time.Time) *NodeSummary {
  6998  	s.CreationDate = &v
  6999  	return s
  7000  }
  7001  
  7002  // SetId sets the Id field's value.
  7003  func (s *NodeSummary) SetId(v string) *NodeSummary {
  7004  	s.Id = &v
  7005  	return s
  7006  }
  7007  
  7008  // SetInstanceType sets the InstanceType field's value.
  7009  func (s *NodeSummary) SetInstanceType(v string) *NodeSummary {
  7010  	s.InstanceType = &v
  7011  	return s
  7012  }
  7013  
  7014  // SetStatus sets the Status field's value.
  7015  func (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.
  7023  type 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".
  7105  func (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".
  7114  func (s Proposal) GoString() string {
  7115  	return s.String()
  7116  }
  7117  
  7118  // SetActions sets the Actions field's value.
  7119  func (s *Proposal) SetActions(v *ProposalActions) *Proposal {
  7120  	s.Actions = v
  7121  	return s
  7122  }
  7123  
  7124  // SetArn sets the Arn field's value.
  7125  func (s *Proposal) SetArn(v string) *Proposal {
  7126  	s.Arn = &v
  7127  	return s
  7128  }
  7129  
  7130  // SetCreationDate sets the CreationDate field's value.
  7131  func (s *Proposal) SetCreationDate(v time.Time) *Proposal {
  7132  	s.CreationDate = &v
  7133  	return s
  7134  }
  7135  
  7136  // SetDescription sets the Description field's value.
  7137  func (s *Proposal) SetDescription(v string) *Proposal {
  7138  	s.Description = &v
  7139  	return s
  7140  }
  7141  
  7142  // SetExpirationDate sets the ExpirationDate field's value.
  7143  func (s *Proposal) SetExpirationDate(v time.Time) *Proposal {
  7144  	s.ExpirationDate = &v
  7145  	return s
  7146  }
  7147  
  7148  // SetNetworkId sets the NetworkId field's value.
  7149  func (s *Proposal) SetNetworkId(v string) *Proposal {
  7150  	s.NetworkId = &v
  7151  	return s
  7152  }
  7153  
  7154  // SetNoVoteCount sets the NoVoteCount field's value.
  7155  func (s *Proposal) SetNoVoteCount(v int64) *Proposal {
  7156  	s.NoVoteCount = &v
  7157  	return s
  7158  }
  7159  
  7160  // SetOutstandingVoteCount sets the OutstandingVoteCount field's value.
  7161  func (s *Proposal) SetOutstandingVoteCount(v int64) *Proposal {
  7162  	s.OutstandingVoteCount = &v
  7163  	return s
  7164  }
  7165  
  7166  // SetProposalId sets the ProposalId field's value.
  7167  func (s *Proposal) SetProposalId(v string) *Proposal {
  7168  	s.ProposalId = &v
  7169  	return s
  7170  }
  7171  
  7172  // SetProposedByMemberId sets the ProposedByMemberId field's value.
  7173  func (s *Proposal) SetProposedByMemberId(v string) *Proposal {
  7174  	s.ProposedByMemberId = &v
  7175  	return s
  7176  }
  7177  
  7178  // SetProposedByMemberName sets the ProposedByMemberName field's value.
  7179  func (s *Proposal) SetProposedByMemberName(v string) *Proposal {
  7180  	s.ProposedByMemberName = &v
  7181  	return s
  7182  }
  7183  
  7184  // SetStatus sets the Status field's value.
  7185  func (s *Proposal) SetStatus(v string) *Proposal {
  7186  	s.Status = &v
  7187  	return s
  7188  }
  7189  
  7190  // SetTags sets the Tags field's value.
  7191  func (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.
  7197  func (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.
  7205  type 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".
  7223  func (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".
  7232  func (s ProposalActions) GoString() string {
  7233  	return s.String()
  7234  }
  7235  
  7236  // Validate inspects the fields of the type to determine if they are valid.
  7237  func (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.
  7267  func (s *ProposalActions) SetInvitations(v []*InviteAction) *ProposalActions {
  7268  	s.Invitations = v
  7269  	return s
  7270  }
  7271  
  7272  // SetRemovals sets the Removals field's value.
  7273  func (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.
  7281  type 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".
  7337  func (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".
  7346  func (s ProposalSummary) GoString() string {
  7347  	return s.String()
  7348  }
  7349  
  7350  // SetArn sets the Arn field's value.
  7351  func (s *ProposalSummary) SetArn(v string) *ProposalSummary {
  7352  	s.Arn = &v
  7353  	return s
  7354  }
  7355  
  7356  // SetCreationDate sets the CreationDate field's value.
  7357  func (s *ProposalSummary) SetCreationDate(v time.Time) *ProposalSummary {
  7358  	s.CreationDate = &v
  7359  	return s
  7360  }
  7361  
  7362  // SetDescription sets the Description field's value.
  7363  func (s *ProposalSummary) SetDescription(v string) *ProposalSummary {
  7364  	s.Description = &v
  7365  	return s
  7366  }
  7367  
  7368  // SetExpirationDate sets the ExpirationDate field's value.
  7369  func (s *ProposalSummary) SetExpirationDate(v time.Time) *ProposalSummary {
  7370  	s.ExpirationDate = &v
  7371  	return s
  7372  }
  7373  
  7374  // SetProposalId sets the ProposalId field's value.
  7375  func (s *ProposalSummary) SetProposalId(v string) *ProposalSummary {
  7376  	s.ProposalId = &v
  7377  	return s
  7378  }
  7379  
  7380  // SetProposedByMemberId sets the ProposedByMemberId field's value.
  7381  func (s *ProposalSummary) SetProposedByMemberId(v string) *ProposalSummary {
  7382  	s.ProposedByMemberId = &v
  7383  	return s
  7384  }
  7385  
  7386  // SetProposedByMemberName sets the ProposedByMemberName field's value.
  7387  func (s *ProposalSummary) SetProposedByMemberName(v string) *ProposalSummary {
  7388  	s.ProposedByMemberName = &v
  7389  	return s
  7390  }
  7391  
  7392  // SetStatus sets the Status field's value.
  7393  func (s *ProposalSummary) SetStatus(v string) *ProposalSummary {
  7394  	s.Status = &v
  7395  	return s
  7396  }
  7397  
  7398  type 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".
  7412  func (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".
  7421  func (s RejectInvitationInput) GoString() string {
  7422  	return s.String()
  7423  }
  7424  
  7425  // Validate inspects the fields of the type to determine if they are valid.
  7426  func (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.
  7442  func (s *RejectInvitationInput) SetInvitationId(v string) *RejectInvitationInput {
  7443  	s.InvitationId = &v
  7444  	return s
  7445  }
  7446  
  7447  type RejectInvitationOutput struct {
  7448  	_ struct{} `type:"structure" nopayload:"true"`
  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".
  7456  func (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".
  7465  func (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.
  7474  type 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".
  7488  func (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".
  7497  func (s RemoveAction) GoString() string {
  7498  	return s.String()
  7499  }
  7500  
  7501  // Validate inspects the fields of the type to determine if they are valid.
  7502  func (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.
  7518  func (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.
  7524  type 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".
  7536  func (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".
  7545  func (s ResourceAlreadyExistsException) GoString() string {
  7546  	return s.String()
  7547  }
  7548  
  7549  func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
  7550  	return &ResourceAlreadyExistsException{
  7551  		RespMetadata: v,
  7552  	}
  7553  }
  7554  
  7555  // Code returns the exception type name.
  7556  func (s *ResourceAlreadyExistsException) Code() string {
  7557  	return "ResourceAlreadyExistsException"
  7558  }
  7559  
  7560  // Message returns the exception's message.
  7561  func (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.
  7569  func (s *ResourceAlreadyExistsException) OrigErr() error {
  7570  	return nil
  7571  }
  7572  
  7573  func (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.
  7578  func (s *ResourceAlreadyExistsException) StatusCode() int {
  7579  	return s.RespMetadata.StatusCode
  7580  }
  7581  
  7582  // RequestID returns the service's response RequestID for request.
  7583  func (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.
  7590  type 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".
  7602  func (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".
  7611  func (s ResourceLimitExceededException) GoString() string {
  7612  	return s.String()
  7613  }
  7614  
  7615  func newErrorResourceLimitExceededException(v protocol.ResponseMetadata) error {
  7616  	return &ResourceLimitExceededException{
  7617  		RespMetadata: v,
  7618  	}
  7619  }
  7620  
  7621  // Code returns the exception type name.
  7622  func (s *ResourceLimitExceededException) Code() string {
  7623  	return "ResourceLimitExceededException"
  7624  }
  7625  
  7626  // Message returns the exception's message.
  7627  func (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.
  7635  func (s *ResourceLimitExceededException) OrigErr() error {
  7636  	return nil
  7637  }
  7638  
  7639  func (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.
  7644  func (s *ResourceLimitExceededException) StatusCode() int {
  7645  	return s.RespMetadata.StatusCode
  7646  }
  7647  
  7648  // RequestID returns the service's response RequestID for request.
  7649  func (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.
  7655  type 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".
  7671  func (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".
  7680  func (s ResourceNotFoundException) GoString() string {
  7681  	return s.String()
  7682  }
  7683  
  7684  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
  7685  	return &ResourceNotFoundException{
  7686  		RespMetadata: v,
  7687  	}
  7688  }
  7689  
  7690  // Code returns the exception type name.
  7691  func (s *ResourceNotFoundException) Code() string {
  7692  	return "ResourceNotFoundException"
  7693  }
  7694  
  7695  // Message returns the exception's message.
  7696  func (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.
  7704  func (s *ResourceNotFoundException) OrigErr() error {
  7705  	return nil
  7706  }
  7707  
  7708  func (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.
  7713  func (s *ResourceNotFoundException) StatusCode() int {
  7714  	return s.RespMetadata.StatusCode
  7715  }
  7716  
  7717  // RequestID returns the service's response RequestID for request.
  7718  func (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.
  7724  type 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".
  7736  func (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".
  7745  func (s ResourceNotReadyException) GoString() string {
  7746  	return s.String()
  7747  }
  7748  
  7749  func newErrorResourceNotReadyException(v protocol.ResponseMetadata) error {
  7750  	return &ResourceNotReadyException{
  7751  		RespMetadata: v,
  7752  	}
  7753  }
  7754  
  7755  // Code returns the exception type name.
  7756  func (s *ResourceNotReadyException) Code() string {
  7757  	return "ResourceNotReadyException"
  7758  }
  7759  
  7760  // Message returns the exception's message.
  7761  func (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.
  7769  func (s *ResourceNotReadyException) OrigErr() error {
  7770  	return nil
  7771  }
  7772  
  7773  func (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.
  7778  func (s *ResourceNotReadyException) StatusCode() int {
  7779  	return s.RespMetadata.StatusCode
  7780  }
  7781  
  7782  // RequestID returns the service's response RequestID for request.
  7783  func (s *ResourceNotReadyException) RequestID() string {
  7784  	return s.RespMetadata.RequestID
  7785  }
  7786  
  7787  type 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".
  7810  func (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".
  7819  func (s TagResourceInput) GoString() string {
  7820  	return s.String()
  7821  }
  7822  
  7823  // Validate inspects the fields of the type to determine if they are valid.
  7824  func (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.
  7843  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
  7844  	s.ResourceArn = &v
  7845  	return s
  7846  }
  7847  
  7848  // SetTags sets the Tags field's value.
  7849  func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
  7850  	s.Tags = v
  7851  	return s
  7852  }
  7853  
  7854  type TagResourceOutput struct {
  7855  	_ struct{} `type:"structure" nopayload:"true"`
  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".
  7863  func (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".
  7872  func (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.
  7880  type 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".
  7892  func (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".
  7901  func (s ThrottlingException) GoString() string {
  7902  	return s.String()
  7903  }
  7904  
  7905  func newErrorThrottlingException(v protocol.ResponseMetadata) error {
  7906  	return &ThrottlingException{
  7907  		RespMetadata: v,
  7908  	}
  7909  }
  7910  
  7911  // Code returns the exception type name.
  7912  func (s *ThrottlingException) Code() string {
  7913  	return "ThrottlingException"
  7914  }
  7915  
  7916  // Message returns the exception's message.
  7917  func (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.
  7925  func (s *ThrottlingException) OrigErr() error {
  7926  	return nil
  7927  }
  7928  
  7929  func (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.
  7934  func (s *ThrottlingException) StatusCode() int {
  7935  	return s.RespMetadata.StatusCode
  7936  }
  7937  
  7938  // RequestID returns the service's response RequestID for request.
  7939  func (s *ThrottlingException) RequestID() string {
  7940  	return s.RespMetadata.RequestID
  7941  }
  7942  
  7943  type 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".
  7957  func (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".
  7966  func (s TooManyTagsException) GoString() string {
  7967  	return s.String()
  7968  }
  7969  
  7970  func newErrorTooManyTagsException(v protocol.ResponseMetadata) error {
  7971  	return &TooManyTagsException{
  7972  		RespMetadata: v,
  7973  	}
  7974  }
  7975  
  7976  // Code returns the exception type name.
  7977  func (s *TooManyTagsException) Code() string {
  7978  	return "TooManyTagsException"
  7979  }
  7980  
  7981  // Message returns the exception's message.
  7982  func (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.
  7990  func (s *TooManyTagsException) OrigErr() error {
  7991  	return nil
  7992  }
  7993  
  7994  func (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.
  7999  func (s *TooManyTagsException) StatusCode() int {
  8000  	return s.RespMetadata.StatusCode
  8001  }
  8002  
  8003  // RequestID returns the service's response RequestID for request.
  8004  func (s *TooManyTagsException) RequestID() string {
  8005  	return s.RespMetadata.RequestID
  8006  }
  8007  
  8008  type 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".
  8029  func (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".
  8038  func (s UntagResourceInput) GoString() string {
  8039  	return s.String()
  8040  }
  8041  
  8042  // Validate inspects the fields of the type to determine if they are valid.
  8043  func (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.
  8062  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
  8063  	s.ResourceArn = &v
  8064  	return s
  8065  }
  8066  
  8067  // SetTagKeys sets the TagKeys field's value.
  8068  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
  8069  	s.TagKeys = v
  8070  	return s
  8071  }
  8072  
  8073  type UntagResourceOutput struct {
  8074  	_ struct{} `type:"structure" nopayload:"true"`
  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".
  8082  func (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".
  8091  func (s UntagResourceOutput) GoString() string {
  8092  	return s.String()
  8093  }
  8094  
  8095  type 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".
  8118  func (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".
  8127  func (s UpdateMemberInput) GoString() string {
  8128  	return s.String()
  8129  }
  8130  
  8131  // Validate inspects the fields of the type to determine if they are valid.
  8132  func (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.
  8154  func (s *UpdateMemberInput) SetLogPublishingConfiguration(v *MemberLogPublishingConfiguration) *UpdateMemberInput {
  8155  	s.LogPublishingConfiguration = v
  8156  	return s
  8157  }
  8158  
  8159  // SetMemberId sets the MemberId field's value.
  8160  func (s *UpdateMemberInput) SetMemberId(v string) *UpdateMemberInput {
  8161  	s.MemberId = &v
  8162  	return s
  8163  }
  8164  
  8165  // SetNetworkId sets the NetworkId field's value.
  8166  func (s *UpdateMemberInput) SetNetworkId(v string) *UpdateMemberInput {
  8167  	s.NetworkId = &v
  8168  	return s
  8169  }
  8170  
  8171  type UpdateMemberOutput struct {
  8172  	_ struct{} `type:"structure" nopayload:"true"`
  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".
  8180  func (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".
  8189  func (s UpdateMemberOutput) GoString() string {
  8190  	return s.String()
  8191  }
  8192  
  8193  type 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".
  8220  func (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".
  8229  func (s UpdateNodeInput) GoString() string {
  8230  	return s.String()
  8231  }
  8232  
  8233  // Validate inspects the fields of the type to determine if they are valid.
  8234  func (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.
  8259  func (s *UpdateNodeInput) SetLogPublishingConfiguration(v *NodeLogPublishingConfiguration) *UpdateNodeInput {
  8260  	s.LogPublishingConfiguration = v
  8261  	return s
  8262  }
  8263  
  8264  // SetMemberId sets the MemberId field's value.
  8265  func (s *UpdateNodeInput) SetMemberId(v string) *UpdateNodeInput {
  8266  	s.MemberId = &v
  8267  	return s
  8268  }
  8269  
  8270  // SetNetworkId sets the NetworkId field's value.
  8271  func (s *UpdateNodeInput) SetNetworkId(v string) *UpdateNodeInput {
  8272  	s.NetworkId = &v
  8273  	return s
  8274  }
  8275  
  8276  // SetNodeId sets the NodeId field's value.
  8277  func (s *UpdateNodeInput) SetNodeId(v string) *UpdateNodeInput {
  8278  	s.NodeId = &v
  8279  	return s
  8280  }
  8281  
  8282  type UpdateNodeOutput struct {
  8283  	_ struct{} `type:"structure" nopayload:"true"`
  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".
  8291  func (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".
  8300  func (s UpdateNodeOutput) GoString() string {
  8301  	return s.String()
  8302  }
  8303  
  8304  type 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".
  8333  func (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".
  8342  func (s VoteOnProposalInput) GoString() string {
  8343  	return s.String()
  8344  }
  8345  
  8346  // Validate inspects the fields of the type to determine if they are valid.
  8347  func (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.
  8378  func (s *VoteOnProposalInput) SetNetworkId(v string) *VoteOnProposalInput {
  8379  	s.NetworkId = &v
  8380  	return s
  8381  }
  8382  
  8383  // SetProposalId sets the ProposalId field's value.
  8384  func (s *VoteOnProposalInput) SetProposalId(v string) *VoteOnProposalInput {
  8385  	s.ProposalId = &v
  8386  	return s
  8387  }
  8388  
  8389  // SetVote sets the Vote field's value.
  8390  func (s *VoteOnProposalInput) SetVote(v string) *VoteOnProposalInput {
  8391  	s.Vote = &v
  8392  	return s
  8393  }
  8394  
  8395  // SetVoterMemberId sets the VoterMemberId field's value.
  8396  func (s *VoteOnProposalInput) SetVoterMemberId(v string) *VoteOnProposalInput {
  8397  	s.VoterMemberId = &v
  8398  	return s
  8399  }
  8400  
  8401  type VoteOnProposalOutput struct {
  8402  	_ struct{} `type:"structure" nopayload:"true"`
  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".
  8410  func (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".
  8419  func (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.
  8426  type 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".
  8444  func (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".
  8453  func (s VoteSummary) GoString() string {
  8454  	return s.String()
  8455  }
  8456  
  8457  // SetMemberId sets the MemberId field's value.
  8458  func (s *VoteSummary) SetMemberId(v string) *VoteSummary {
  8459  	s.MemberId = &v
  8460  	return s
  8461  }
  8462  
  8463  // SetMemberName sets the MemberName field's value.
  8464  func (s *VoteSummary) SetMemberName(v string) *VoteSummary {
  8465  	s.MemberName = &v
  8466  	return s
  8467  }
  8468  
  8469  // SetVote sets the Vote field's value.
  8470  func (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.
  8478  type 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".
  8493  func (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".
  8502  func (s VotingPolicy) GoString() string {
  8503  	return s.String()
  8504  }
  8505  
  8506  // Validate inspects the fields of the type to determine if they are valid.
  8507  func (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.
  8522  func (s *VotingPolicy) SetApprovalThresholdPolicy(v *ApprovalThresholdPolicy) *VotingPolicy {
  8523  	s.ApprovalThresholdPolicy = v
  8524  	return s
  8525  }
  8526  
  8527  const (
  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
  8536  func Edition_Values() []string {
  8537  	return []string{
  8538  		EditionStarter,
  8539  		EditionStandard,
  8540  	}
  8541  }
  8542  
  8543  const (
  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
  8552  func Framework_Values() []string {
  8553  	return []string{
  8554  		FrameworkHyperledgerFabric,
  8555  		FrameworkEthereum,
  8556  	}
  8557  }
  8558  
  8559  const (
  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
  8577  func InvitationStatus_Values() []string {
  8578  	return []string{
  8579  		InvitationStatusPending,
  8580  		InvitationStatusAccepted,
  8581  		InvitationStatusAccepting,
  8582  		InvitationStatusRejected,
  8583  		InvitationStatusExpired,
  8584  	}
  8585  }
  8586  
  8587  const (
  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
  8611  func MemberStatus_Values() []string {
  8612  	return []string{
  8613  		MemberStatusCreating,
  8614  		MemberStatusAvailable,
  8615  		MemberStatusCreateFailed,
  8616  		MemberStatusUpdating,
  8617  		MemberStatusDeleting,
  8618  		MemberStatusDeleted,
  8619  		MemberStatusInaccessibleEncryptionKey,
  8620  	}
  8621  }
  8622  
  8623  const (
  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
  8641  func NetworkStatus_Values() []string {
  8642  	return []string{
  8643  		NetworkStatusCreating,
  8644  		NetworkStatusAvailable,
  8645  		NetworkStatusCreateFailed,
  8646  		NetworkStatusDeleting,
  8647  		NetworkStatusDeleted,
  8648  	}
  8649  }
  8650  
  8651  const (
  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
  8681  func 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  
  8695  const (
  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
  8713  func ProposalStatus_Values() []string {
  8714  	return []string{
  8715  		ProposalStatusInProgress,
  8716  		ProposalStatusApproved,
  8717  		ProposalStatusRejected,
  8718  		ProposalStatusExpired,
  8719  		ProposalStatusActionFailed,
  8720  	}
  8721  }
  8722  
  8723  const (
  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
  8732  func StateDBType_Values() []string {
  8733  	return []string{
  8734  		StateDBTypeLevelDb,
  8735  		StateDBTypeCouchDb,
  8736  	}
  8737  }
  8738  
  8739  const (
  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
  8748  func ThresholdComparator_Values() []string {
  8749  	return []string{
  8750  		ThresholdComparatorGreaterThan,
  8751  		ThresholdComparatorGreaterThanOrEqualTo,
  8752  	}
  8753  }
  8754  
  8755  const (
  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
  8764  func VoteValue_Values() []string {
  8765  	return []string{
  8766  		VoteValueYes,
  8767  		VoteValueNo,
  8768  	}
  8769  }