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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package kafka
     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 opBatchAssociateScramSecret = "BatchAssociateScramSecret"
    17  
    18  // BatchAssociateScramSecretRequest generates a "aws/request.Request" representing the
    19  // client's request for the BatchAssociateScramSecret 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 BatchAssociateScramSecret for more information on using the BatchAssociateScramSecret
    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 BatchAssociateScramSecretRequest method.
    34  //    req, resp := client.BatchAssociateScramSecretRequest(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/kafka-2018-11-14/BatchAssociateScramSecret
    42  func (c *Kafka) BatchAssociateScramSecretRequest(input *BatchAssociateScramSecretInput) (req *request.Request, output *BatchAssociateScramSecretOutput) {
    43  	op := &request.Operation{
    44  		Name:       opBatchAssociateScramSecret,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/v1/clusters/{clusterArn}/scram-secrets",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &BatchAssociateScramSecretInput{}
    51  	}
    52  
    53  	output = &BatchAssociateScramSecretOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // BatchAssociateScramSecret API operation for Managed Streaming for Kafka.
    59  //
    60  // Associates one or more Scram Secrets with an Amazon MSK cluster.
    61  //
    62  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    63  // with awserr.Error's Code and Message methods to get detailed information about
    64  // the error.
    65  //
    66  // See the AWS API reference guide for Managed Streaming for Kafka's
    67  // API operation BatchAssociateScramSecret for usage and error information.
    68  //
    69  // Returned Error Types:
    70  //   * BadRequestException
    71  //   Returns information about an error.
    72  //
    73  //   * UnauthorizedException
    74  //   Returns information about an error.
    75  //
    76  //   * InternalServerErrorException
    77  //   Returns information about an error.
    78  //
    79  //   * ForbiddenException
    80  //   Returns information about an error.
    81  //
    82  //   * NotFoundException
    83  //   Returns information about an error.
    84  //
    85  //   * ServiceUnavailableException
    86  //   Returns information about an error.
    87  //
    88  //   * TooManyRequestsException
    89  //   Returns information about an error.
    90  //
    91  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/BatchAssociateScramSecret
    92  func (c *Kafka) BatchAssociateScramSecret(input *BatchAssociateScramSecretInput) (*BatchAssociateScramSecretOutput, error) {
    93  	req, out := c.BatchAssociateScramSecretRequest(input)
    94  	return out, req.Send()
    95  }
    96  
    97  // BatchAssociateScramSecretWithContext is the same as BatchAssociateScramSecret with the addition of
    98  // the ability to pass a context and additional request options.
    99  //
   100  // See BatchAssociateScramSecret for details on how to use this API operation.
   101  //
   102  // The context must be non-nil and will be used for request cancellation. If
   103  // the context is nil a panic will occur. In the future the SDK may create
   104  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   105  // for more information on using Contexts.
   106  func (c *Kafka) BatchAssociateScramSecretWithContext(ctx aws.Context, input *BatchAssociateScramSecretInput, opts ...request.Option) (*BatchAssociateScramSecretOutput, error) {
   107  	req, out := c.BatchAssociateScramSecretRequest(input)
   108  	req.SetContext(ctx)
   109  	req.ApplyOptions(opts...)
   110  	return out, req.Send()
   111  }
   112  
   113  const opBatchDisassociateScramSecret = "BatchDisassociateScramSecret"
   114  
   115  // BatchDisassociateScramSecretRequest generates a "aws/request.Request" representing the
   116  // client's request for the BatchDisassociateScramSecret operation. The "output" return
   117  // value will be populated with the request's response once the request completes
   118  // successfully.
   119  //
   120  // Use "Send" method on the returned Request to send the API call to the service.
   121  // the "output" return value is not valid until after Send returns without error.
   122  //
   123  // See BatchDisassociateScramSecret for more information on using the BatchDisassociateScramSecret
   124  // API call, and error handling.
   125  //
   126  // This method is useful when you want to inject custom logic or configuration
   127  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   128  //
   129  //
   130  //    // Example sending a request using the BatchDisassociateScramSecretRequest method.
   131  //    req, resp := client.BatchDisassociateScramSecretRequest(params)
   132  //
   133  //    err := req.Send()
   134  //    if err == nil { // resp is now filled
   135  //        fmt.Println(resp)
   136  //    }
   137  //
   138  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/BatchDisassociateScramSecret
   139  func (c *Kafka) BatchDisassociateScramSecretRequest(input *BatchDisassociateScramSecretInput) (req *request.Request, output *BatchDisassociateScramSecretOutput) {
   140  	op := &request.Operation{
   141  		Name:       opBatchDisassociateScramSecret,
   142  		HTTPMethod: "PATCH",
   143  		HTTPPath:   "/v1/clusters/{clusterArn}/scram-secrets",
   144  	}
   145  
   146  	if input == nil {
   147  		input = &BatchDisassociateScramSecretInput{}
   148  	}
   149  
   150  	output = &BatchDisassociateScramSecretOutput{}
   151  	req = c.newRequest(op, input, output)
   152  	return
   153  }
   154  
   155  // BatchDisassociateScramSecret API operation for Managed Streaming for Kafka.
   156  //
   157  // Disassociates one or more Scram Secrets from an Amazon MSK cluster.
   158  //
   159  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   160  // with awserr.Error's Code and Message methods to get detailed information about
   161  // the error.
   162  //
   163  // See the AWS API reference guide for Managed Streaming for Kafka's
   164  // API operation BatchDisassociateScramSecret for usage and error information.
   165  //
   166  // Returned Error Types:
   167  //   * BadRequestException
   168  //   Returns information about an error.
   169  //
   170  //   * UnauthorizedException
   171  //   Returns information about an error.
   172  //
   173  //   * InternalServerErrorException
   174  //   Returns information about an error.
   175  //
   176  //   * ForbiddenException
   177  //   Returns information about an error.
   178  //
   179  //   * NotFoundException
   180  //   Returns information about an error.
   181  //
   182  //   * ServiceUnavailableException
   183  //   Returns information about an error.
   184  //
   185  //   * TooManyRequestsException
   186  //   Returns information about an error.
   187  //
   188  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/BatchDisassociateScramSecret
   189  func (c *Kafka) BatchDisassociateScramSecret(input *BatchDisassociateScramSecretInput) (*BatchDisassociateScramSecretOutput, error) {
   190  	req, out := c.BatchDisassociateScramSecretRequest(input)
   191  	return out, req.Send()
   192  }
   193  
   194  // BatchDisassociateScramSecretWithContext is the same as BatchDisassociateScramSecret with the addition of
   195  // the ability to pass a context and additional request options.
   196  //
   197  // See BatchDisassociateScramSecret for details on how to use this API operation.
   198  //
   199  // The context must be non-nil and will be used for request cancellation. If
   200  // the context is nil a panic will occur. In the future the SDK may create
   201  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   202  // for more information on using Contexts.
   203  func (c *Kafka) BatchDisassociateScramSecretWithContext(ctx aws.Context, input *BatchDisassociateScramSecretInput, opts ...request.Option) (*BatchDisassociateScramSecretOutput, error) {
   204  	req, out := c.BatchDisassociateScramSecretRequest(input)
   205  	req.SetContext(ctx)
   206  	req.ApplyOptions(opts...)
   207  	return out, req.Send()
   208  }
   209  
   210  const opCreateCluster = "CreateCluster"
   211  
   212  // CreateClusterRequest generates a "aws/request.Request" representing the
   213  // client's request for the CreateCluster operation. The "output" return
   214  // value will be populated with the request's response once the request completes
   215  // successfully.
   216  //
   217  // Use "Send" method on the returned Request to send the API call to the service.
   218  // the "output" return value is not valid until after Send returns without error.
   219  //
   220  // See CreateCluster for more information on using the CreateCluster
   221  // API call, and error handling.
   222  //
   223  // This method is useful when you want to inject custom logic or configuration
   224  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   225  //
   226  //
   227  //    // Example sending a request using the CreateClusterRequest method.
   228  //    req, resp := client.CreateClusterRequest(params)
   229  //
   230  //    err := req.Send()
   231  //    if err == nil { // resp is now filled
   232  //        fmt.Println(resp)
   233  //    }
   234  //
   235  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/CreateCluster
   236  func (c *Kafka) CreateClusterRequest(input *CreateClusterInput) (req *request.Request, output *CreateClusterOutput) {
   237  	op := &request.Operation{
   238  		Name:       opCreateCluster,
   239  		HTTPMethod: "POST",
   240  		HTTPPath:   "/v1/clusters",
   241  	}
   242  
   243  	if input == nil {
   244  		input = &CreateClusterInput{}
   245  	}
   246  
   247  	output = &CreateClusterOutput{}
   248  	req = c.newRequest(op, input, output)
   249  	return
   250  }
   251  
   252  // CreateCluster API operation for Managed Streaming for Kafka.
   253  //
   254  // Creates a new MSK cluster.
   255  //
   256  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   257  // with awserr.Error's Code and Message methods to get detailed information about
   258  // the error.
   259  //
   260  // See the AWS API reference guide for Managed Streaming for Kafka's
   261  // API operation CreateCluster for usage and error information.
   262  //
   263  // Returned Error Types:
   264  //   * BadRequestException
   265  //   Returns information about an error.
   266  //
   267  //   * InternalServerErrorException
   268  //   Returns information about an error.
   269  //
   270  //   * UnauthorizedException
   271  //   Returns information about an error.
   272  //
   273  //   * ForbiddenException
   274  //   Returns information about an error.
   275  //
   276  //   * ServiceUnavailableException
   277  //   Returns information about an error.
   278  //
   279  //   * TooManyRequestsException
   280  //   Returns information about an error.
   281  //
   282  //   * ConflictException
   283  //   Returns information about an error.
   284  //
   285  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/CreateCluster
   286  func (c *Kafka) CreateCluster(input *CreateClusterInput) (*CreateClusterOutput, error) {
   287  	req, out := c.CreateClusterRequest(input)
   288  	return out, req.Send()
   289  }
   290  
   291  // CreateClusterWithContext is the same as CreateCluster with the addition of
   292  // the ability to pass a context and additional request options.
   293  //
   294  // See CreateCluster for details on how to use this API operation.
   295  //
   296  // The context must be non-nil and will be used for request cancellation. If
   297  // the context is nil a panic will occur. In the future the SDK may create
   298  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   299  // for more information on using Contexts.
   300  func (c *Kafka) CreateClusterWithContext(ctx aws.Context, input *CreateClusterInput, opts ...request.Option) (*CreateClusterOutput, error) {
   301  	req, out := c.CreateClusterRequest(input)
   302  	req.SetContext(ctx)
   303  	req.ApplyOptions(opts...)
   304  	return out, req.Send()
   305  }
   306  
   307  const opCreateConfiguration = "CreateConfiguration"
   308  
   309  // CreateConfigurationRequest generates a "aws/request.Request" representing the
   310  // client's request for the CreateConfiguration operation. The "output" return
   311  // value will be populated with the request's response once the request completes
   312  // successfully.
   313  //
   314  // Use "Send" method on the returned Request to send the API call to the service.
   315  // the "output" return value is not valid until after Send returns without error.
   316  //
   317  // See CreateConfiguration for more information on using the CreateConfiguration
   318  // API call, and error handling.
   319  //
   320  // This method is useful when you want to inject custom logic or configuration
   321  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   322  //
   323  //
   324  //    // Example sending a request using the CreateConfigurationRequest method.
   325  //    req, resp := client.CreateConfigurationRequest(params)
   326  //
   327  //    err := req.Send()
   328  //    if err == nil { // resp is now filled
   329  //        fmt.Println(resp)
   330  //    }
   331  //
   332  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/CreateConfiguration
   333  func (c *Kafka) CreateConfigurationRequest(input *CreateConfigurationInput) (req *request.Request, output *CreateConfigurationOutput) {
   334  	op := &request.Operation{
   335  		Name:       opCreateConfiguration,
   336  		HTTPMethod: "POST",
   337  		HTTPPath:   "/v1/configurations",
   338  	}
   339  
   340  	if input == nil {
   341  		input = &CreateConfigurationInput{}
   342  	}
   343  
   344  	output = &CreateConfigurationOutput{}
   345  	req = c.newRequest(op, input, output)
   346  	return
   347  }
   348  
   349  // CreateConfiguration API operation for Managed Streaming for Kafka.
   350  //
   351  // Creates a new MSK configuration.
   352  //
   353  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   354  // with awserr.Error's Code and Message methods to get detailed information about
   355  // the error.
   356  //
   357  // See the AWS API reference guide for Managed Streaming for Kafka's
   358  // API operation CreateConfiguration for usage and error information.
   359  //
   360  // Returned Error Types:
   361  //   * BadRequestException
   362  //   Returns information about an error.
   363  //
   364  //   * InternalServerErrorException
   365  //   Returns information about an error.
   366  //
   367  //   * UnauthorizedException
   368  //   Returns information about an error.
   369  //
   370  //   * ForbiddenException
   371  //   Returns information about an error.
   372  //
   373  //   * ServiceUnavailableException
   374  //   Returns information about an error.
   375  //
   376  //   * TooManyRequestsException
   377  //   Returns information about an error.
   378  //
   379  //   * ConflictException
   380  //   Returns information about an error.
   381  //
   382  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/CreateConfiguration
   383  func (c *Kafka) CreateConfiguration(input *CreateConfigurationInput) (*CreateConfigurationOutput, error) {
   384  	req, out := c.CreateConfigurationRequest(input)
   385  	return out, req.Send()
   386  }
   387  
   388  // CreateConfigurationWithContext is the same as CreateConfiguration with the addition of
   389  // the ability to pass a context and additional request options.
   390  //
   391  // See CreateConfiguration for details on how to use this API operation.
   392  //
   393  // The context must be non-nil and will be used for request cancellation. If
   394  // the context is nil a panic will occur. In the future the SDK may create
   395  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   396  // for more information on using Contexts.
   397  func (c *Kafka) CreateConfigurationWithContext(ctx aws.Context, input *CreateConfigurationInput, opts ...request.Option) (*CreateConfigurationOutput, error) {
   398  	req, out := c.CreateConfigurationRequest(input)
   399  	req.SetContext(ctx)
   400  	req.ApplyOptions(opts...)
   401  	return out, req.Send()
   402  }
   403  
   404  const opDeleteCluster = "DeleteCluster"
   405  
   406  // DeleteClusterRequest generates a "aws/request.Request" representing the
   407  // client's request for the DeleteCluster operation. The "output" return
   408  // value will be populated with the request's response once the request completes
   409  // successfully.
   410  //
   411  // Use "Send" method on the returned Request to send the API call to the service.
   412  // the "output" return value is not valid until after Send returns without error.
   413  //
   414  // See DeleteCluster for more information on using the DeleteCluster
   415  // API call, and error handling.
   416  //
   417  // This method is useful when you want to inject custom logic or configuration
   418  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   419  //
   420  //
   421  //    // Example sending a request using the DeleteClusterRequest method.
   422  //    req, resp := client.DeleteClusterRequest(params)
   423  //
   424  //    err := req.Send()
   425  //    if err == nil { // resp is now filled
   426  //        fmt.Println(resp)
   427  //    }
   428  //
   429  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/DeleteCluster
   430  func (c *Kafka) DeleteClusterRequest(input *DeleteClusterInput) (req *request.Request, output *DeleteClusterOutput) {
   431  	op := &request.Operation{
   432  		Name:       opDeleteCluster,
   433  		HTTPMethod: "DELETE",
   434  		HTTPPath:   "/v1/clusters/{clusterArn}",
   435  	}
   436  
   437  	if input == nil {
   438  		input = &DeleteClusterInput{}
   439  	}
   440  
   441  	output = &DeleteClusterOutput{}
   442  	req = c.newRequest(op, input, output)
   443  	return
   444  }
   445  
   446  // DeleteCluster API operation for Managed Streaming for Kafka.
   447  //
   448  // Deletes the MSK cluster specified by the Amazon Resource Name (ARN) in the
   449  // request.
   450  //
   451  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   452  // with awserr.Error's Code and Message methods to get detailed information about
   453  // the error.
   454  //
   455  // See the AWS API reference guide for Managed Streaming for Kafka's
   456  // API operation DeleteCluster for usage and error information.
   457  //
   458  // Returned Error Types:
   459  //   * NotFoundException
   460  //   Returns information about an error.
   461  //
   462  //   * BadRequestException
   463  //   Returns information about an error.
   464  //
   465  //   * InternalServerErrorException
   466  //   Returns information about an error.
   467  //
   468  //   * ForbiddenException
   469  //   Returns information about an error.
   470  //
   471  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/DeleteCluster
   472  func (c *Kafka) DeleteCluster(input *DeleteClusterInput) (*DeleteClusterOutput, error) {
   473  	req, out := c.DeleteClusterRequest(input)
   474  	return out, req.Send()
   475  }
   476  
   477  // DeleteClusterWithContext is the same as DeleteCluster with the addition of
   478  // the ability to pass a context and additional request options.
   479  //
   480  // See DeleteCluster for details on how to use this API operation.
   481  //
   482  // The context must be non-nil and will be used for request cancellation. If
   483  // the context is nil a panic will occur. In the future the SDK may create
   484  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   485  // for more information on using Contexts.
   486  func (c *Kafka) DeleteClusterWithContext(ctx aws.Context, input *DeleteClusterInput, opts ...request.Option) (*DeleteClusterOutput, error) {
   487  	req, out := c.DeleteClusterRequest(input)
   488  	req.SetContext(ctx)
   489  	req.ApplyOptions(opts...)
   490  	return out, req.Send()
   491  }
   492  
   493  const opDeleteConfiguration = "DeleteConfiguration"
   494  
   495  // DeleteConfigurationRequest generates a "aws/request.Request" representing the
   496  // client's request for the DeleteConfiguration operation. The "output" return
   497  // value will be populated with the request's response once the request completes
   498  // successfully.
   499  //
   500  // Use "Send" method on the returned Request to send the API call to the service.
   501  // the "output" return value is not valid until after Send returns without error.
   502  //
   503  // See DeleteConfiguration for more information on using the DeleteConfiguration
   504  // API call, and error handling.
   505  //
   506  // This method is useful when you want to inject custom logic or configuration
   507  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   508  //
   509  //
   510  //    // Example sending a request using the DeleteConfigurationRequest method.
   511  //    req, resp := client.DeleteConfigurationRequest(params)
   512  //
   513  //    err := req.Send()
   514  //    if err == nil { // resp is now filled
   515  //        fmt.Println(resp)
   516  //    }
   517  //
   518  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/DeleteConfiguration
   519  func (c *Kafka) DeleteConfigurationRequest(input *DeleteConfigurationInput) (req *request.Request, output *DeleteConfigurationOutput) {
   520  	op := &request.Operation{
   521  		Name:       opDeleteConfiguration,
   522  		HTTPMethod: "DELETE",
   523  		HTTPPath:   "/v1/configurations/{arn}",
   524  	}
   525  
   526  	if input == nil {
   527  		input = &DeleteConfigurationInput{}
   528  	}
   529  
   530  	output = &DeleteConfigurationOutput{}
   531  	req = c.newRequest(op, input, output)
   532  	return
   533  }
   534  
   535  // DeleteConfiguration API operation for Managed Streaming for Kafka.
   536  //
   537  // Deletes the specified MSK configuration. The configuration must be in the
   538  // ACTIVE or DELETE_FAILED state.
   539  //
   540  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   541  // with awserr.Error's Code and Message methods to get detailed information about
   542  // the error.
   543  //
   544  // See the AWS API reference guide for Managed Streaming for Kafka's
   545  // API operation DeleteConfiguration for usage and error information.
   546  //
   547  // Returned Error Types:
   548  //   * NotFoundException
   549  //   Returns information about an error.
   550  //
   551  //   * BadRequestException
   552  //   Returns information about an error.
   553  //
   554  //   * InternalServerErrorException
   555  //   Returns information about an error.
   556  //
   557  //   * ForbiddenException
   558  //   Returns information about an error.
   559  //
   560  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/DeleteConfiguration
   561  func (c *Kafka) DeleteConfiguration(input *DeleteConfigurationInput) (*DeleteConfigurationOutput, error) {
   562  	req, out := c.DeleteConfigurationRequest(input)
   563  	return out, req.Send()
   564  }
   565  
   566  // DeleteConfigurationWithContext is the same as DeleteConfiguration with the addition of
   567  // the ability to pass a context and additional request options.
   568  //
   569  // See DeleteConfiguration for details on how to use this API operation.
   570  //
   571  // The context must be non-nil and will be used for request cancellation. If
   572  // the context is nil a panic will occur. In the future the SDK may create
   573  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   574  // for more information on using Contexts.
   575  func (c *Kafka) DeleteConfigurationWithContext(ctx aws.Context, input *DeleteConfigurationInput, opts ...request.Option) (*DeleteConfigurationOutput, error) {
   576  	req, out := c.DeleteConfigurationRequest(input)
   577  	req.SetContext(ctx)
   578  	req.ApplyOptions(opts...)
   579  	return out, req.Send()
   580  }
   581  
   582  const opDescribeCluster = "DescribeCluster"
   583  
   584  // DescribeClusterRequest generates a "aws/request.Request" representing the
   585  // client's request for the DescribeCluster operation. The "output" return
   586  // value will be populated with the request's response once the request completes
   587  // successfully.
   588  //
   589  // Use "Send" method on the returned Request to send the API call to the service.
   590  // the "output" return value is not valid until after Send returns without error.
   591  //
   592  // See DescribeCluster for more information on using the DescribeCluster
   593  // API call, and error handling.
   594  //
   595  // This method is useful when you want to inject custom logic or configuration
   596  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   597  //
   598  //
   599  //    // Example sending a request using the DescribeClusterRequest method.
   600  //    req, resp := client.DescribeClusterRequest(params)
   601  //
   602  //    err := req.Send()
   603  //    if err == nil { // resp is now filled
   604  //        fmt.Println(resp)
   605  //    }
   606  //
   607  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/DescribeCluster
   608  func (c *Kafka) DescribeClusterRequest(input *DescribeClusterInput) (req *request.Request, output *DescribeClusterOutput) {
   609  	op := &request.Operation{
   610  		Name:       opDescribeCluster,
   611  		HTTPMethod: "GET",
   612  		HTTPPath:   "/v1/clusters/{clusterArn}",
   613  	}
   614  
   615  	if input == nil {
   616  		input = &DescribeClusterInput{}
   617  	}
   618  
   619  	output = &DescribeClusterOutput{}
   620  	req = c.newRequest(op, input, output)
   621  	return
   622  }
   623  
   624  // DescribeCluster API operation for Managed Streaming for Kafka.
   625  //
   626  // Returns a description of the MSK cluster whose Amazon Resource Name (ARN)
   627  // is specified in the request.
   628  //
   629  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   630  // with awserr.Error's Code and Message methods to get detailed information about
   631  // the error.
   632  //
   633  // See the AWS API reference guide for Managed Streaming for Kafka's
   634  // API operation DescribeCluster for usage and error information.
   635  //
   636  // Returned Error Types:
   637  //   * NotFoundException
   638  //   Returns information about an error.
   639  //
   640  //   * BadRequestException
   641  //   Returns information about an error.
   642  //
   643  //   * UnauthorizedException
   644  //   Returns information about an error.
   645  //
   646  //   * InternalServerErrorException
   647  //   Returns information about an error.
   648  //
   649  //   * ForbiddenException
   650  //   Returns information about an error.
   651  //
   652  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/DescribeCluster
   653  func (c *Kafka) DescribeCluster(input *DescribeClusterInput) (*DescribeClusterOutput, error) {
   654  	req, out := c.DescribeClusterRequest(input)
   655  	return out, req.Send()
   656  }
   657  
   658  // DescribeClusterWithContext is the same as DescribeCluster with the addition of
   659  // the ability to pass a context and additional request options.
   660  //
   661  // See DescribeCluster for details on how to use this API operation.
   662  //
   663  // The context must be non-nil and will be used for request cancellation. If
   664  // the context is nil a panic will occur. In the future the SDK may create
   665  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   666  // for more information on using Contexts.
   667  func (c *Kafka) DescribeClusterWithContext(ctx aws.Context, input *DescribeClusterInput, opts ...request.Option) (*DescribeClusterOutput, error) {
   668  	req, out := c.DescribeClusterRequest(input)
   669  	req.SetContext(ctx)
   670  	req.ApplyOptions(opts...)
   671  	return out, req.Send()
   672  }
   673  
   674  const opDescribeClusterOperation = "DescribeClusterOperation"
   675  
   676  // DescribeClusterOperationRequest generates a "aws/request.Request" representing the
   677  // client's request for the DescribeClusterOperation operation. The "output" return
   678  // value will be populated with the request's response once the request completes
   679  // successfully.
   680  //
   681  // Use "Send" method on the returned Request to send the API call to the service.
   682  // the "output" return value is not valid until after Send returns without error.
   683  //
   684  // See DescribeClusterOperation for more information on using the DescribeClusterOperation
   685  // API call, and error handling.
   686  //
   687  // This method is useful when you want to inject custom logic or configuration
   688  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   689  //
   690  //
   691  //    // Example sending a request using the DescribeClusterOperationRequest method.
   692  //    req, resp := client.DescribeClusterOperationRequest(params)
   693  //
   694  //    err := req.Send()
   695  //    if err == nil { // resp is now filled
   696  //        fmt.Println(resp)
   697  //    }
   698  //
   699  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/DescribeClusterOperation
   700  func (c *Kafka) DescribeClusterOperationRequest(input *DescribeClusterOperationInput) (req *request.Request, output *DescribeClusterOperationOutput) {
   701  	op := &request.Operation{
   702  		Name:       opDescribeClusterOperation,
   703  		HTTPMethod: "GET",
   704  		HTTPPath:   "/v1/operations/{clusterOperationArn}",
   705  	}
   706  
   707  	if input == nil {
   708  		input = &DescribeClusterOperationInput{}
   709  	}
   710  
   711  	output = &DescribeClusterOperationOutput{}
   712  	req = c.newRequest(op, input, output)
   713  	return
   714  }
   715  
   716  // DescribeClusterOperation API operation for Managed Streaming for Kafka.
   717  //
   718  // Returns a description of the cluster operation specified by the ARN.
   719  //
   720  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   721  // with awserr.Error's Code and Message methods to get detailed information about
   722  // the error.
   723  //
   724  // See the AWS API reference guide for Managed Streaming for Kafka's
   725  // API operation DescribeClusterOperation for usage and error information.
   726  //
   727  // Returned Error Types:
   728  //   * NotFoundException
   729  //   Returns information about an error.
   730  //
   731  //   * BadRequestException
   732  //   Returns information about an error.
   733  //
   734  //   * UnauthorizedException
   735  //   Returns information about an error.
   736  //
   737  //   * InternalServerErrorException
   738  //   Returns information about an error.
   739  //
   740  //   * ForbiddenException
   741  //   Returns information about an error.
   742  //
   743  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/DescribeClusterOperation
   744  func (c *Kafka) DescribeClusterOperation(input *DescribeClusterOperationInput) (*DescribeClusterOperationOutput, error) {
   745  	req, out := c.DescribeClusterOperationRequest(input)
   746  	return out, req.Send()
   747  }
   748  
   749  // DescribeClusterOperationWithContext is the same as DescribeClusterOperation with the addition of
   750  // the ability to pass a context and additional request options.
   751  //
   752  // See DescribeClusterOperation for details on how to use this API operation.
   753  //
   754  // The context must be non-nil and will be used for request cancellation. If
   755  // the context is nil a panic will occur. In the future the SDK may create
   756  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   757  // for more information on using Contexts.
   758  func (c *Kafka) DescribeClusterOperationWithContext(ctx aws.Context, input *DescribeClusterOperationInput, opts ...request.Option) (*DescribeClusterOperationOutput, error) {
   759  	req, out := c.DescribeClusterOperationRequest(input)
   760  	req.SetContext(ctx)
   761  	req.ApplyOptions(opts...)
   762  	return out, req.Send()
   763  }
   764  
   765  const opDescribeConfiguration = "DescribeConfiguration"
   766  
   767  // DescribeConfigurationRequest generates a "aws/request.Request" representing the
   768  // client's request for the DescribeConfiguration operation. The "output" return
   769  // value will be populated with the request's response once the request completes
   770  // successfully.
   771  //
   772  // Use "Send" method on the returned Request to send the API call to the service.
   773  // the "output" return value is not valid until after Send returns without error.
   774  //
   775  // See DescribeConfiguration for more information on using the DescribeConfiguration
   776  // API call, and error handling.
   777  //
   778  // This method is useful when you want to inject custom logic or configuration
   779  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   780  //
   781  //
   782  //    // Example sending a request using the DescribeConfigurationRequest method.
   783  //    req, resp := client.DescribeConfigurationRequest(params)
   784  //
   785  //    err := req.Send()
   786  //    if err == nil { // resp is now filled
   787  //        fmt.Println(resp)
   788  //    }
   789  //
   790  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/DescribeConfiguration
   791  func (c *Kafka) DescribeConfigurationRequest(input *DescribeConfigurationInput) (req *request.Request, output *DescribeConfigurationOutput) {
   792  	op := &request.Operation{
   793  		Name:       opDescribeConfiguration,
   794  		HTTPMethod: "GET",
   795  		HTTPPath:   "/v1/configurations/{arn}",
   796  	}
   797  
   798  	if input == nil {
   799  		input = &DescribeConfigurationInput{}
   800  	}
   801  
   802  	output = &DescribeConfigurationOutput{}
   803  	req = c.newRequest(op, input, output)
   804  	return
   805  }
   806  
   807  // DescribeConfiguration API operation for Managed Streaming for Kafka.
   808  //
   809  // Returns a description of this MSK configuration.
   810  //
   811  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   812  // with awserr.Error's Code and Message methods to get detailed information about
   813  // the error.
   814  //
   815  // See the AWS API reference guide for Managed Streaming for Kafka's
   816  // API operation DescribeConfiguration for usage and error information.
   817  //
   818  // Returned Error Types:
   819  //   * BadRequestException
   820  //   Returns information about an error.
   821  //
   822  //   * UnauthorizedException
   823  //   Returns information about an error.
   824  //
   825  //   * InternalServerErrorException
   826  //   Returns information about an error.
   827  //
   828  //   * ForbiddenException
   829  //   Returns information about an error.
   830  //
   831  //   * NotFoundException
   832  //   Returns information about an error.
   833  //
   834  //   * ServiceUnavailableException
   835  //   Returns information about an error.
   836  //
   837  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/DescribeConfiguration
   838  func (c *Kafka) DescribeConfiguration(input *DescribeConfigurationInput) (*DescribeConfigurationOutput, error) {
   839  	req, out := c.DescribeConfigurationRequest(input)
   840  	return out, req.Send()
   841  }
   842  
   843  // DescribeConfigurationWithContext is the same as DescribeConfiguration with the addition of
   844  // the ability to pass a context and additional request options.
   845  //
   846  // See DescribeConfiguration for details on how to use this API operation.
   847  //
   848  // The context must be non-nil and will be used for request cancellation. If
   849  // the context is nil a panic will occur. In the future the SDK may create
   850  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   851  // for more information on using Contexts.
   852  func (c *Kafka) DescribeConfigurationWithContext(ctx aws.Context, input *DescribeConfigurationInput, opts ...request.Option) (*DescribeConfigurationOutput, error) {
   853  	req, out := c.DescribeConfigurationRequest(input)
   854  	req.SetContext(ctx)
   855  	req.ApplyOptions(opts...)
   856  	return out, req.Send()
   857  }
   858  
   859  const opDescribeConfigurationRevision = "DescribeConfigurationRevision"
   860  
   861  // DescribeConfigurationRevisionRequest generates a "aws/request.Request" representing the
   862  // client's request for the DescribeConfigurationRevision operation. The "output" return
   863  // value will be populated with the request's response once the request completes
   864  // successfully.
   865  //
   866  // Use "Send" method on the returned Request to send the API call to the service.
   867  // the "output" return value is not valid until after Send returns without error.
   868  //
   869  // See DescribeConfigurationRevision for more information on using the DescribeConfigurationRevision
   870  // API call, and error handling.
   871  //
   872  // This method is useful when you want to inject custom logic or configuration
   873  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   874  //
   875  //
   876  //    // Example sending a request using the DescribeConfigurationRevisionRequest method.
   877  //    req, resp := client.DescribeConfigurationRevisionRequest(params)
   878  //
   879  //    err := req.Send()
   880  //    if err == nil { // resp is now filled
   881  //        fmt.Println(resp)
   882  //    }
   883  //
   884  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/DescribeConfigurationRevision
   885  func (c *Kafka) DescribeConfigurationRevisionRequest(input *DescribeConfigurationRevisionInput) (req *request.Request, output *DescribeConfigurationRevisionOutput) {
   886  	op := &request.Operation{
   887  		Name:       opDescribeConfigurationRevision,
   888  		HTTPMethod: "GET",
   889  		HTTPPath:   "/v1/configurations/{arn}/revisions/{revision}",
   890  	}
   891  
   892  	if input == nil {
   893  		input = &DescribeConfigurationRevisionInput{}
   894  	}
   895  
   896  	output = &DescribeConfigurationRevisionOutput{}
   897  	req = c.newRequest(op, input, output)
   898  	return
   899  }
   900  
   901  // DescribeConfigurationRevision API operation for Managed Streaming for Kafka.
   902  //
   903  // Returns a description of this revision of the configuration.
   904  //
   905  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   906  // with awserr.Error's Code and Message methods to get detailed information about
   907  // the error.
   908  //
   909  // See the AWS API reference guide for Managed Streaming for Kafka's
   910  // API operation DescribeConfigurationRevision for usage and error information.
   911  //
   912  // Returned Error Types:
   913  //   * BadRequestException
   914  //   Returns information about an error.
   915  //
   916  //   * UnauthorizedException
   917  //   Returns information about an error.
   918  //
   919  //   * InternalServerErrorException
   920  //   Returns information about an error.
   921  //
   922  //   * ForbiddenException
   923  //   Returns information about an error.
   924  //
   925  //   * NotFoundException
   926  //   Returns information about an error.
   927  //
   928  //   * ServiceUnavailableException
   929  //   Returns information about an error.
   930  //
   931  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/DescribeConfigurationRevision
   932  func (c *Kafka) DescribeConfigurationRevision(input *DescribeConfigurationRevisionInput) (*DescribeConfigurationRevisionOutput, error) {
   933  	req, out := c.DescribeConfigurationRevisionRequest(input)
   934  	return out, req.Send()
   935  }
   936  
   937  // DescribeConfigurationRevisionWithContext is the same as DescribeConfigurationRevision with the addition of
   938  // the ability to pass a context and additional request options.
   939  //
   940  // See DescribeConfigurationRevision for details on how to use this API operation.
   941  //
   942  // The context must be non-nil and will be used for request cancellation. If
   943  // the context is nil a panic will occur. In the future the SDK may create
   944  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   945  // for more information on using Contexts.
   946  func (c *Kafka) DescribeConfigurationRevisionWithContext(ctx aws.Context, input *DescribeConfigurationRevisionInput, opts ...request.Option) (*DescribeConfigurationRevisionOutput, error) {
   947  	req, out := c.DescribeConfigurationRevisionRequest(input)
   948  	req.SetContext(ctx)
   949  	req.ApplyOptions(opts...)
   950  	return out, req.Send()
   951  }
   952  
   953  const opGetBootstrapBrokers = "GetBootstrapBrokers"
   954  
   955  // GetBootstrapBrokersRequest generates a "aws/request.Request" representing the
   956  // client's request for the GetBootstrapBrokers operation. The "output" return
   957  // value will be populated with the request's response once the request completes
   958  // successfully.
   959  //
   960  // Use "Send" method on the returned Request to send the API call to the service.
   961  // the "output" return value is not valid until after Send returns without error.
   962  //
   963  // See GetBootstrapBrokers for more information on using the GetBootstrapBrokers
   964  // API call, and error handling.
   965  //
   966  // This method is useful when you want to inject custom logic or configuration
   967  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   968  //
   969  //
   970  //    // Example sending a request using the GetBootstrapBrokersRequest method.
   971  //    req, resp := client.GetBootstrapBrokersRequest(params)
   972  //
   973  //    err := req.Send()
   974  //    if err == nil { // resp is now filled
   975  //        fmt.Println(resp)
   976  //    }
   977  //
   978  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/GetBootstrapBrokers
   979  func (c *Kafka) GetBootstrapBrokersRequest(input *GetBootstrapBrokersInput) (req *request.Request, output *GetBootstrapBrokersOutput) {
   980  	op := &request.Operation{
   981  		Name:       opGetBootstrapBrokers,
   982  		HTTPMethod: "GET",
   983  		HTTPPath:   "/v1/clusters/{clusterArn}/bootstrap-brokers",
   984  	}
   985  
   986  	if input == nil {
   987  		input = &GetBootstrapBrokersInput{}
   988  	}
   989  
   990  	output = &GetBootstrapBrokersOutput{}
   991  	req = c.newRequest(op, input, output)
   992  	return
   993  }
   994  
   995  // GetBootstrapBrokers API operation for Managed Streaming for Kafka.
   996  //
   997  // A list of brokers that a client application can use to bootstrap.
   998  //
   999  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1000  // with awserr.Error's Code and Message methods to get detailed information about
  1001  // the error.
  1002  //
  1003  // See the AWS API reference guide for Managed Streaming for Kafka's
  1004  // API operation GetBootstrapBrokers for usage and error information.
  1005  //
  1006  // Returned Error Types:
  1007  //   * BadRequestException
  1008  //   Returns information about an error.
  1009  //
  1010  //   * UnauthorizedException
  1011  //   Returns information about an error.
  1012  //
  1013  //   * InternalServerErrorException
  1014  //   Returns information about an error.
  1015  //
  1016  //   * ConflictException
  1017  //   Returns information about an error.
  1018  //
  1019  //   * ForbiddenException
  1020  //   Returns information about an error.
  1021  //
  1022  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/GetBootstrapBrokers
  1023  func (c *Kafka) GetBootstrapBrokers(input *GetBootstrapBrokersInput) (*GetBootstrapBrokersOutput, error) {
  1024  	req, out := c.GetBootstrapBrokersRequest(input)
  1025  	return out, req.Send()
  1026  }
  1027  
  1028  // GetBootstrapBrokersWithContext is the same as GetBootstrapBrokers with the addition of
  1029  // the ability to pass a context and additional request options.
  1030  //
  1031  // See GetBootstrapBrokers for details on how to use this API operation.
  1032  //
  1033  // The context must be non-nil and will be used for request cancellation. If
  1034  // the context is nil a panic will occur. In the future the SDK may create
  1035  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1036  // for more information on using Contexts.
  1037  func (c *Kafka) GetBootstrapBrokersWithContext(ctx aws.Context, input *GetBootstrapBrokersInput, opts ...request.Option) (*GetBootstrapBrokersOutput, error) {
  1038  	req, out := c.GetBootstrapBrokersRequest(input)
  1039  	req.SetContext(ctx)
  1040  	req.ApplyOptions(opts...)
  1041  	return out, req.Send()
  1042  }
  1043  
  1044  const opGetCompatibleKafkaVersions = "GetCompatibleKafkaVersions"
  1045  
  1046  // GetCompatibleKafkaVersionsRequest generates a "aws/request.Request" representing the
  1047  // client's request for the GetCompatibleKafkaVersions operation. The "output" return
  1048  // value will be populated with the request's response once the request completes
  1049  // successfully.
  1050  //
  1051  // Use "Send" method on the returned Request to send the API call to the service.
  1052  // the "output" return value is not valid until after Send returns without error.
  1053  //
  1054  // See GetCompatibleKafkaVersions for more information on using the GetCompatibleKafkaVersions
  1055  // API call, and error handling.
  1056  //
  1057  // This method is useful when you want to inject custom logic or configuration
  1058  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1059  //
  1060  //
  1061  //    // Example sending a request using the GetCompatibleKafkaVersionsRequest method.
  1062  //    req, resp := client.GetCompatibleKafkaVersionsRequest(params)
  1063  //
  1064  //    err := req.Send()
  1065  //    if err == nil { // resp is now filled
  1066  //        fmt.Println(resp)
  1067  //    }
  1068  //
  1069  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/GetCompatibleKafkaVersions
  1070  func (c *Kafka) GetCompatibleKafkaVersionsRequest(input *GetCompatibleKafkaVersionsInput) (req *request.Request, output *GetCompatibleKafkaVersionsOutput) {
  1071  	op := &request.Operation{
  1072  		Name:       opGetCompatibleKafkaVersions,
  1073  		HTTPMethod: "GET",
  1074  		HTTPPath:   "/v1/compatible-kafka-versions",
  1075  	}
  1076  
  1077  	if input == nil {
  1078  		input = &GetCompatibleKafkaVersionsInput{}
  1079  	}
  1080  
  1081  	output = &GetCompatibleKafkaVersionsOutput{}
  1082  	req = c.newRequest(op, input, output)
  1083  	return
  1084  }
  1085  
  1086  // GetCompatibleKafkaVersions API operation for Managed Streaming for Kafka.
  1087  //
  1088  // Gets the Apache Kafka versions to which you can update the MSK cluster.
  1089  //
  1090  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1091  // with awserr.Error's Code and Message methods to get detailed information about
  1092  // the error.
  1093  //
  1094  // See the AWS API reference guide for Managed Streaming for Kafka's
  1095  // API operation GetCompatibleKafkaVersions for usage and error information.
  1096  //
  1097  // Returned Error Types:
  1098  //   * BadRequestException
  1099  //   Returns information about an error.
  1100  //
  1101  //   * UnauthorizedException
  1102  //   Returns information about an error.
  1103  //
  1104  //   * InternalServerErrorException
  1105  //   Returns information about an error.
  1106  //
  1107  //   * ForbiddenException
  1108  //   Returns information about an error.
  1109  //
  1110  //   * NotFoundException
  1111  //   Returns information about an error.
  1112  //
  1113  //   * ServiceUnavailableException
  1114  //   Returns information about an error.
  1115  //
  1116  //   * TooManyRequestsException
  1117  //   Returns information about an error.
  1118  //
  1119  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/GetCompatibleKafkaVersions
  1120  func (c *Kafka) GetCompatibleKafkaVersions(input *GetCompatibleKafkaVersionsInput) (*GetCompatibleKafkaVersionsOutput, error) {
  1121  	req, out := c.GetCompatibleKafkaVersionsRequest(input)
  1122  	return out, req.Send()
  1123  }
  1124  
  1125  // GetCompatibleKafkaVersionsWithContext is the same as GetCompatibleKafkaVersions with the addition of
  1126  // the ability to pass a context and additional request options.
  1127  //
  1128  // See GetCompatibleKafkaVersions for details on how to use this API operation.
  1129  //
  1130  // The context must be non-nil and will be used for request cancellation. If
  1131  // the context is nil a panic will occur. In the future the SDK may create
  1132  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1133  // for more information on using Contexts.
  1134  func (c *Kafka) GetCompatibleKafkaVersionsWithContext(ctx aws.Context, input *GetCompatibleKafkaVersionsInput, opts ...request.Option) (*GetCompatibleKafkaVersionsOutput, error) {
  1135  	req, out := c.GetCompatibleKafkaVersionsRequest(input)
  1136  	req.SetContext(ctx)
  1137  	req.ApplyOptions(opts...)
  1138  	return out, req.Send()
  1139  }
  1140  
  1141  const opListClusterOperations = "ListClusterOperations"
  1142  
  1143  // ListClusterOperationsRequest generates a "aws/request.Request" representing the
  1144  // client's request for the ListClusterOperations operation. The "output" return
  1145  // value will be populated with the request's response once the request completes
  1146  // successfully.
  1147  //
  1148  // Use "Send" method on the returned Request to send the API call to the service.
  1149  // the "output" return value is not valid until after Send returns without error.
  1150  //
  1151  // See ListClusterOperations for more information on using the ListClusterOperations
  1152  // API call, and error handling.
  1153  //
  1154  // This method is useful when you want to inject custom logic or configuration
  1155  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1156  //
  1157  //
  1158  //    // Example sending a request using the ListClusterOperationsRequest method.
  1159  //    req, resp := client.ListClusterOperationsRequest(params)
  1160  //
  1161  //    err := req.Send()
  1162  //    if err == nil { // resp is now filled
  1163  //        fmt.Println(resp)
  1164  //    }
  1165  //
  1166  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListClusterOperations
  1167  func (c *Kafka) ListClusterOperationsRequest(input *ListClusterOperationsInput) (req *request.Request, output *ListClusterOperationsOutput) {
  1168  	op := &request.Operation{
  1169  		Name:       opListClusterOperations,
  1170  		HTTPMethod: "GET",
  1171  		HTTPPath:   "/v1/clusters/{clusterArn}/operations",
  1172  		Paginator: &request.Paginator{
  1173  			InputTokens:     []string{"NextToken"},
  1174  			OutputTokens:    []string{"NextToken"},
  1175  			LimitToken:      "MaxResults",
  1176  			TruncationToken: "",
  1177  		},
  1178  	}
  1179  
  1180  	if input == nil {
  1181  		input = &ListClusterOperationsInput{}
  1182  	}
  1183  
  1184  	output = &ListClusterOperationsOutput{}
  1185  	req = c.newRequest(op, input, output)
  1186  	return
  1187  }
  1188  
  1189  // ListClusterOperations API operation for Managed Streaming for Kafka.
  1190  //
  1191  // Returns a list of all the operations that have been performed on the specified
  1192  // MSK cluster.
  1193  //
  1194  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1195  // with awserr.Error's Code and Message methods to get detailed information about
  1196  // the error.
  1197  //
  1198  // See the AWS API reference guide for Managed Streaming for Kafka's
  1199  // API operation ListClusterOperations for usage and error information.
  1200  //
  1201  // Returned Error Types:
  1202  //   * BadRequestException
  1203  //   Returns information about an error.
  1204  //
  1205  //   * InternalServerErrorException
  1206  //   Returns information about an error.
  1207  //
  1208  //   * UnauthorizedException
  1209  //   Returns information about an error.
  1210  //
  1211  //   * ForbiddenException
  1212  //   Returns information about an error.
  1213  //
  1214  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListClusterOperations
  1215  func (c *Kafka) ListClusterOperations(input *ListClusterOperationsInput) (*ListClusterOperationsOutput, error) {
  1216  	req, out := c.ListClusterOperationsRequest(input)
  1217  	return out, req.Send()
  1218  }
  1219  
  1220  // ListClusterOperationsWithContext is the same as ListClusterOperations with the addition of
  1221  // the ability to pass a context and additional request options.
  1222  //
  1223  // See ListClusterOperations for details on how to use this API operation.
  1224  //
  1225  // The context must be non-nil and will be used for request cancellation. If
  1226  // the context is nil a panic will occur. In the future the SDK may create
  1227  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1228  // for more information on using Contexts.
  1229  func (c *Kafka) ListClusterOperationsWithContext(ctx aws.Context, input *ListClusterOperationsInput, opts ...request.Option) (*ListClusterOperationsOutput, error) {
  1230  	req, out := c.ListClusterOperationsRequest(input)
  1231  	req.SetContext(ctx)
  1232  	req.ApplyOptions(opts...)
  1233  	return out, req.Send()
  1234  }
  1235  
  1236  // ListClusterOperationsPages iterates over the pages of a ListClusterOperations operation,
  1237  // calling the "fn" function with the response data for each page. To stop
  1238  // iterating, return false from the fn function.
  1239  //
  1240  // See ListClusterOperations method for more information on how to use this operation.
  1241  //
  1242  // Note: This operation can generate multiple requests to a service.
  1243  //
  1244  //    // Example iterating over at most 3 pages of a ListClusterOperations operation.
  1245  //    pageNum := 0
  1246  //    err := client.ListClusterOperationsPages(params,
  1247  //        func(page *kafka.ListClusterOperationsOutput, lastPage bool) bool {
  1248  //            pageNum++
  1249  //            fmt.Println(page)
  1250  //            return pageNum <= 3
  1251  //        })
  1252  //
  1253  func (c *Kafka) ListClusterOperationsPages(input *ListClusterOperationsInput, fn func(*ListClusterOperationsOutput, bool) bool) error {
  1254  	return c.ListClusterOperationsPagesWithContext(aws.BackgroundContext(), input, fn)
  1255  }
  1256  
  1257  // ListClusterOperationsPagesWithContext same as ListClusterOperationsPages except
  1258  // it takes a Context and allows setting request options on the pages.
  1259  //
  1260  // The context must be non-nil and will be used for request cancellation. If
  1261  // the context is nil a panic will occur. In the future the SDK may create
  1262  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1263  // for more information on using Contexts.
  1264  func (c *Kafka) ListClusterOperationsPagesWithContext(ctx aws.Context, input *ListClusterOperationsInput, fn func(*ListClusterOperationsOutput, bool) bool, opts ...request.Option) error {
  1265  	p := request.Pagination{
  1266  		NewRequest: func() (*request.Request, error) {
  1267  			var inCpy *ListClusterOperationsInput
  1268  			if input != nil {
  1269  				tmp := *input
  1270  				inCpy = &tmp
  1271  			}
  1272  			req, _ := c.ListClusterOperationsRequest(inCpy)
  1273  			req.SetContext(ctx)
  1274  			req.ApplyOptions(opts...)
  1275  			return req, nil
  1276  		},
  1277  	}
  1278  
  1279  	for p.Next() {
  1280  		if !fn(p.Page().(*ListClusterOperationsOutput), !p.HasNextPage()) {
  1281  			break
  1282  		}
  1283  	}
  1284  
  1285  	return p.Err()
  1286  }
  1287  
  1288  const opListClusters = "ListClusters"
  1289  
  1290  // ListClustersRequest generates a "aws/request.Request" representing the
  1291  // client's request for the ListClusters operation. The "output" return
  1292  // value will be populated with the request's response once the request completes
  1293  // successfully.
  1294  //
  1295  // Use "Send" method on the returned Request to send the API call to the service.
  1296  // the "output" return value is not valid until after Send returns without error.
  1297  //
  1298  // See ListClusters for more information on using the ListClusters
  1299  // API call, and error handling.
  1300  //
  1301  // This method is useful when you want to inject custom logic or configuration
  1302  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1303  //
  1304  //
  1305  //    // Example sending a request using the ListClustersRequest method.
  1306  //    req, resp := client.ListClustersRequest(params)
  1307  //
  1308  //    err := req.Send()
  1309  //    if err == nil { // resp is now filled
  1310  //        fmt.Println(resp)
  1311  //    }
  1312  //
  1313  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListClusters
  1314  func (c *Kafka) ListClustersRequest(input *ListClustersInput) (req *request.Request, output *ListClustersOutput) {
  1315  	op := &request.Operation{
  1316  		Name:       opListClusters,
  1317  		HTTPMethod: "GET",
  1318  		HTTPPath:   "/v1/clusters",
  1319  		Paginator: &request.Paginator{
  1320  			InputTokens:     []string{"NextToken"},
  1321  			OutputTokens:    []string{"NextToken"},
  1322  			LimitToken:      "MaxResults",
  1323  			TruncationToken: "",
  1324  		},
  1325  	}
  1326  
  1327  	if input == nil {
  1328  		input = &ListClustersInput{}
  1329  	}
  1330  
  1331  	output = &ListClustersOutput{}
  1332  	req = c.newRequest(op, input, output)
  1333  	return
  1334  }
  1335  
  1336  // ListClusters API operation for Managed Streaming for Kafka.
  1337  //
  1338  // Returns a list of all the MSK clusters in the current Region.
  1339  //
  1340  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1341  // with awserr.Error's Code and Message methods to get detailed information about
  1342  // the error.
  1343  //
  1344  // See the AWS API reference guide for Managed Streaming for Kafka's
  1345  // API operation ListClusters for usage and error information.
  1346  //
  1347  // Returned Error Types:
  1348  //   * BadRequestException
  1349  //   Returns information about an error.
  1350  //
  1351  //   * InternalServerErrorException
  1352  //   Returns information about an error.
  1353  //
  1354  //   * UnauthorizedException
  1355  //   Returns information about an error.
  1356  //
  1357  //   * ForbiddenException
  1358  //   Returns information about an error.
  1359  //
  1360  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListClusters
  1361  func (c *Kafka) ListClusters(input *ListClustersInput) (*ListClustersOutput, error) {
  1362  	req, out := c.ListClustersRequest(input)
  1363  	return out, req.Send()
  1364  }
  1365  
  1366  // ListClustersWithContext is the same as ListClusters with the addition of
  1367  // the ability to pass a context and additional request options.
  1368  //
  1369  // See ListClusters for details on how to use this API operation.
  1370  //
  1371  // The context must be non-nil and will be used for request cancellation. If
  1372  // the context is nil a panic will occur. In the future the SDK may create
  1373  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1374  // for more information on using Contexts.
  1375  func (c *Kafka) ListClustersWithContext(ctx aws.Context, input *ListClustersInput, opts ...request.Option) (*ListClustersOutput, error) {
  1376  	req, out := c.ListClustersRequest(input)
  1377  	req.SetContext(ctx)
  1378  	req.ApplyOptions(opts...)
  1379  	return out, req.Send()
  1380  }
  1381  
  1382  // ListClustersPages iterates over the pages of a ListClusters operation,
  1383  // calling the "fn" function with the response data for each page. To stop
  1384  // iterating, return false from the fn function.
  1385  //
  1386  // See ListClusters method for more information on how to use this operation.
  1387  //
  1388  // Note: This operation can generate multiple requests to a service.
  1389  //
  1390  //    // Example iterating over at most 3 pages of a ListClusters operation.
  1391  //    pageNum := 0
  1392  //    err := client.ListClustersPages(params,
  1393  //        func(page *kafka.ListClustersOutput, lastPage bool) bool {
  1394  //            pageNum++
  1395  //            fmt.Println(page)
  1396  //            return pageNum <= 3
  1397  //        })
  1398  //
  1399  func (c *Kafka) ListClustersPages(input *ListClustersInput, fn func(*ListClustersOutput, bool) bool) error {
  1400  	return c.ListClustersPagesWithContext(aws.BackgroundContext(), input, fn)
  1401  }
  1402  
  1403  // ListClustersPagesWithContext same as ListClustersPages except
  1404  // it takes a Context and allows setting request options on the pages.
  1405  //
  1406  // The context must be non-nil and will be used for request cancellation. If
  1407  // the context is nil a panic will occur. In the future the SDK may create
  1408  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1409  // for more information on using Contexts.
  1410  func (c *Kafka) ListClustersPagesWithContext(ctx aws.Context, input *ListClustersInput, fn func(*ListClustersOutput, bool) bool, opts ...request.Option) error {
  1411  	p := request.Pagination{
  1412  		NewRequest: func() (*request.Request, error) {
  1413  			var inCpy *ListClustersInput
  1414  			if input != nil {
  1415  				tmp := *input
  1416  				inCpy = &tmp
  1417  			}
  1418  			req, _ := c.ListClustersRequest(inCpy)
  1419  			req.SetContext(ctx)
  1420  			req.ApplyOptions(opts...)
  1421  			return req, nil
  1422  		},
  1423  	}
  1424  
  1425  	for p.Next() {
  1426  		if !fn(p.Page().(*ListClustersOutput), !p.HasNextPage()) {
  1427  			break
  1428  		}
  1429  	}
  1430  
  1431  	return p.Err()
  1432  }
  1433  
  1434  const opListConfigurationRevisions = "ListConfigurationRevisions"
  1435  
  1436  // ListConfigurationRevisionsRequest generates a "aws/request.Request" representing the
  1437  // client's request for the ListConfigurationRevisions operation. The "output" return
  1438  // value will be populated with the request's response once the request completes
  1439  // successfully.
  1440  //
  1441  // Use "Send" method on the returned Request to send the API call to the service.
  1442  // the "output" return value is not valid until after Send returns without error.
  1443  //
  1444  // See ListConfigurationRevisions for more information on using the ListConfigurationRevisions
  1445  // API call, and error handling.
  1446  //
  1447  // This method is useful when you want to inject custom logic or configuration
  1448  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1449  //
  1450  //
  1451  //    // Example sending a request using the ListConfigurationRevisionsRequest method.
  1452  //    req, resp := client.ListConfigurationRevisionsRequest(params)
  1453  //
  1454  //    err := req.Send()
  1455  //    if err == nil { // resp is now filled
  1456  //        fmt.Println(resp)
  1457  //    }
  1458  //
  1459  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListConfigurationRevisions
  1460  func (c *Kafka) ListConfigurationRevisionsRequest(input *ListConfigurationRevisionsInput) (req *request.Request, output *ListConfigurationRevisionsOutput) {
  1461  	op := &request.Operation{
  1462  		Name:       opListConfigurationRevisions,
  1463  		HTTPMethod: "GET",
  1464  		HTTPPath:   "/v1/configurations/{arn}/revisions",
  1465  		Paginator: &request.Paginator{
  1466  			InputTokens:     []string{"NextToken"},
  1467  			OutputTokens:    []string{"NextToken"},
  1468  			LimitToken:      "MaxResults",
  1469  			TruncationToken: "",
  1470  		},
  1471  	}
  1472  
  1473  	if input == nil {
  1474  		input = &ListConfigurationRevisionsInput{}
  1475  	}
  1476  
  1477  	output = &ListConfigurationRevisionsOutput{}
  1478  	req = c.newRequest(op, input, output)
  1479  	return
  1480  }
  1481  
  1482  // ListConfigurationRevisions API operation for Managed Streaming for Kafka.
  1483  //
  1484  // Returns a list of all the revisions of an MSK configuration.
  1485  //
  1486  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1487  // with awserr.Error's Code and Message methods to get detailed information about
  1488  // the error.
  1489  //
  1490  // See the AWS API reference guide for Managed Streaming for Kafka's
  1491  // API operation ListConfigurationRevisions for usage and error information.
  1492  //
  1493  // Returned Error Types:
  1494  //   * BadRequestException
  1495  //   Returns information about an error.
  1496  //
  1497  //   * UnauthorizedException
  1498  //   Returns information about an error.
  1499  //
  1500  //   * InternalServerErrorException
  1501  //   Returns information about an error.
  1502  //
  1503  //   * ForbiddenException
  1504  //   Returns information about an error.
  1505  //
  1506  //   * NotFoundException
  1507  //   Returns information about an error.
  1508  //
  1509  //   * ServiceUnavailableException
  1510  //   Returns information about an error.
  1511  //
  1512  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListConfigurationRevisions
  1513  func (c *Kafka) ListConfigurationRevisions(input *ListConfigurationRevisionsInput) (*ListConfigurationRevisionsOutput, error) {
  1514  	req, out := c.ListConfigurationRevisionsRequest(input)
  1515  	return out, req.Send()
  1516  }
  1517  
  1518  // ListConfigurationRevisionsWithContext is the same as ListConfigurationRevisions with the addition of
  1519  // the ability to pass a context and additional request options.
  1520  //
  1521  // See ListConfigurationRevisions for details on how to use this API operation.
  1522  //
  1523  // The context must be non-nil and will be used for request cancellation. If
  1524  // the context is nil a panic will occur. In the future the SDK may create
  1525  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1526  // for more information on using Contexts.
  1527  func (c *Kafka) ListConfigurationRevisionsWithContext(ctx aws.Context, input *ListConfigurationRevisionsInput, opts ...request.Option) (*ListConfigurationRevisionsOutput, error) {
  1528  	req, out := c.ListConfigurationRevisionsRequest(input)
  1529  	req.SetContext(ctx)
  1530  	req.ApplyOptions(opts...)
  1531  	return out, req.Send()
  1532  }
  1533  
  1534  // ListConfigurationRevisionsPages iterates over the pages of a ListConfigurationRevisions operation,
  1535  // calling the "fn" function with the response data for each page. To stop
  1536  // iterating, return false from the fn function.
  1537  //
  1538  // See ListConfigurationRevisions method for more information on how to use this operation.
  1539  //
  1540  // Note: This operation can generate multiple requests to a service.
  1541  //
  1542  //    // Example iterating over at most 3 pages of a ListConfigurationRevisions operation.
  1543  //    pageNum := 0
  1544  //    err := client.ListConfigurationRevisionsPages(params,
  1545  //        func(page *kafka.ListConfigurationRevisionsOutput, lastPage bool) bool {
  1546  //            pageNum++
  1547  //            fmt.Println(page)
  1548  //            return pageNum <= 3
  1549  //        })
  1550  //
  1551  func (c *Kafka) ListConfigurationRevisionsPages(input *ListConfigurationRevisionsInput, fn func(*ListConfigurationRevisionsOutput, bool) bool) error {
  1552  	return c.ListConfigurationRevisionsPagesWithContext(aws.BackgroundContext(), input, fn)
  1553  }
  1554  
  1555  // ListConfigurationRevisionsPagesWithContext same as ListConfigurationRevisionsPages except
  1556  // it takes a Context and allows setting request options on the pages.
  1557  //
  1558  // The context must be non-nil and will be used for request cancellation. If
  1559  // the context is nil a panic will occur. In the future the SDK may create
  1560  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1561  // for more information on using Contexts.
  1562  func (c *Kafka) ListConfigurationRevisionsPagesWithContext(ctx aws.Context, input *ListConfigurationRevisionsInput, fn func(*ListConfigurationRevisionsOutput, bool) bool, opts ...request.Option) error {
  1563  	p := request.Pagination{
  1564  		NewRequest: func() (*request.Request, error) {
  1565  			var inCpy *ListConfigurationRevisionsInput
  1566  			if input != nil {
  1567  				tmp := *input
  1568  				inCpy = &tmp
  1569  			}
  1570  			req, _ := c.ListConfigurationRevisionsRequest(inCpy)
  1571  			req.SetContext(ctx)
  1572  			req.ApplyOptions(opts...)
  1573  			return req, nil
  1574  		},
  1575  	}
  1576  
  1577  	for p.Next() {
  1578  		if !fn(p.Page().(*ListConfigurationRevisionsOutput), !p.HasNextPage()) {
  1579  			break
  1580  		}
  1581  	}
  1582  
  1583  	return p.Err()
  1584  }
  1585  
  1586  const opListConfigurations = "ListConfigurations"
  1587  
  1588  // ListConfigurationsRequest generates a "aws/request.Request" representing the
  1589  // client's request for the ListConfigurations operation. The "output" return
  1590  // value will be populated with the request's response once the request completes
  1591  // successfully.
  1592  //
  1593  // Use "Send" method on the returned Request to send the API call to the service.
  1594  // the "output" return value is not valid until after Send returns without error.
  1595  //
  1596  // See ListConfigurations for more information on using the ListConfigurations
  1597  // API call, and error handling.
  1598  //
  1599  // This method is useful when you want to inject custom logic or configuration
  1600  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1601  //
  1602  //
  1603  //    // Example sending a request using the ListConfigurationsRequest method.
  1604  //    req, resp := client.ListConfigurationsRequest(params)
  1605  //
  1606  //    err := req.Send()
  1607  //    if err == nil { // resp is now filled
  1608  //        fmt.Println(resp)
  1609  //    }
  1610  //
  1611  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListConfigurations
  1612  func (c *Kafka) ListConfigurationsRequest(input *ListConfigurationsInput) (req *request.Request, output *ListConfigurationsOutput) {
  1613  	op := &request.Operation{
  1614  		Name:       opListConfigurations,
  1615  		HTTPMethod: "GET",
  1616  		HTTPPath:   "/v1/configurations",
  1617  		Paginator: &request.Paginator{
  1618  			InputTokens:     []string{"NextToken"},
  1619  			OutputTokens:    []string{"NextToken"},
  1620  			LimitToken:      "MaxResults",
  1621  			TruncationToken: "",
  1622  		},
  1623  	}
  1624  
  1625  	if input == nil {
  1626  		input = &ListConfigurationsInput{}
  1627  	}
  1628  
  1629  	output = &ListConfigurationsOutput{}
  1630  	req = c.newRequest(op, input, output)
  1631  	return
  1632  }
  1633  
  1634  // ListConfigurations API operation for Managed Streaming for Kafka.
  1635  //
  1636  // Returns a list of all the MSK configurations in this Region.
  1637  //
  1638  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1639  // with awserr.Error's Code and Message methods to get detailed information about
  1640  // the error.
  1641  //
  1642  // See the AWS API reference guide for Managed Streaming for Kafka's
  1643  // API operation ListConfigurations for usage and error information.
  1644  //
  1645  // Returned Error Types:
  1646  //   * ServiceUnavailableException
  1647  //   Returns information about an error.
  1648  //
  1649  //   * BadRequestException
  1650  //   Returns information about an error.
  1651  //
  1652  //   * UnauthorizedException
  1653  //   Returns information about an error.
  1654  //
  1655  //   * InternalServerErrorException
  1656  //   Returns information about an error.
  1657  //
  1658  //   * ForbiddenException
  1659  //   Returns information about an error.
  1660  //
  1661  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListConfigurations
  1662  func (c *Kafka) ListConfigurations(input *ListConfigurationsInput) (*ListConfigurationsOutput, error) {
  1663  	req, out := c.ListConfigurationsRequest(input)
  1664  	return out, req.Send()
  1665  }
  1666  
  1667  // ListConfigurationsWithContext is the same as ListConfigurations with the addition of
  1668  // the ability to pass a context and additional request options.
  1669  //
  1670  // See ListConfigurations for details on how to use this API operation.
  1671  //
  1672  // The context must be non-nil and will be used for request cancellation. If
  1673  // the context is nil a panic will occur. In the future the SDK may create
  1674  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1675  // for more information on using Contexts.
  1676  func (c *Kafka) ListConfigurationsWithContext(ctx aws.Context, input *ListConfigurationsInput, opts ...request.Option) (*ListConfigurationsOutput, error) {
  1677  	req, out := c.ListConfigurationsRequest(input)
  1678  	req.SetContext(ctx)
  1679  	req.ApplyOptions(opts...)
  1680  	return out, req.Send()
  1681  }
  1682  
  1683  // ListConfigurationsPages iterates over the pages of a ListConfigurations operation,
  1684  // calling the "fn" function with the response data for each page. To stop
  1685  // iterating, return false from the fn function.
  1686  //
  1687  // See ListConfigurations method for more information on how to use this operation.
  1688  //
  1689  // Note: This operation can generate multiple requests to a service.
  1690  //
  1691  //    // Example iterating over at most 3 pages of a ListConfigurations operation.
  1692  //    pageNum := 0
  1693  //    err := client.ListConfigurationsPages(params,
  1694  //        func(page *kafka.ListConfigurationsOutput, lastPage bool) bool {
  1695  //            pageNum++
  1696  //            fmt.Println(page)
  1697  //            return pageNum <= 3
  1698  //        })
  1699  //
  1700  func (c *Kafka) ListConfigurationsPages(input *ListConfigurationsInput, fn func(*ListConfigurationsOutput, bool) bool) error {
  1701  	return c.ListConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn)
  1702  }
  1703  
  1704  // ListConfigurationsPagesWithContext same as ListConfigurationsPages except
  1705  // it takes a Context and allows setting request options on the pages.
  1706  //
  1707  // The context must be non-nil and will be used for request cancellation. If
  1708  // the context is nil a panic will occur. In the future the SDK may create
  1709  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1710  // for more information on using Contexts.
  1711  func (c *Kafka) ListConfigurationsPagesWithContext(ctx aws.Context, input *ListConfigurationsInput, fn func(*ListConfigurationsOutput, bool) bool, opts ...request.Option) error {
  1712  	p := request.Pagination{
  1713  		NewRequest: func() (*request.Request, error) {
  1714  			var inCpy *ListConfigurationsInput
  1715  			if input != nil {
  1716  				tmp := *input
  1717  				inCpy = &tmp
  1718  			}
  1719  			req, _ := c.ListConfigurationsRequest(inCpy)
  1720  			req.SetContext(ctx)
  1721  			req.ApplyOptions(opts...)
  1722  			return req, nil
  1723  		},
  1724  	}
  1725  
  1726  	for p.Next() {
  1727  		if !fn(p.Page().(*ListConfigurationsOutput), !p.HasNextPage()) {
  1728  			break
  1729  		}
  1730  	}
  1731  
  1732  	return p.Err()
  1733  }
  1734  
  1735  const opListKafkaVersions = "ListKafkaVersions"
  1736  
  1737  // ListKafkaVersionsRequest generates a "aws/request.Request" representing the
  1738  // client's request for the ListKafkaVersions operation. The "output" return
  1739  // value will be populated with the request's response once the request completes
  1740  // successfully.
  1741  //
  1742  // Use "Send" method on the returned Request to send the API call to the service.
  1743  // the "output" return value is not valid until after Send returns without error.
  1744  //
  1745  // See ListKafkaVersions for more information on using the ListKafkaVersions
  1746  // API call, and error handling.
  1747  //
  1748  // This method is useful when you want to inject custom logic or configuration
  1749  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1750  //
  1751  //
  1752  //    // Example sending a request using the ListKafkaVersionsRequest method.
  1753  //    req, resp := client.ListKafkaVersionsRequest(params)
  1754  //
  1755  //    err := req.Send()
  1756  //    if err == nil { // resp is now filled
  1757  //        fmt.Println(resp)
  1758  //    }
  1759  //
  1760  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListKafkaVersions
  1761  func (c *Kafka) ListKafkaVersionsRequest(input *ListKafkaVersionsInput) (req *request.Request, output *ListKafkaVersionsOutput) {
  1762  	op := &request.Operation{
  1763  		Name:       opListKafkaVersions,
  1764  		HTTPMethod: "GET",
  1765  		HTTPPath:   "/v1/kafka-versions",
  1766  		Paginator: &request.Paginator{
  1767  			InputTokens:     []string{"NextToken"},
  1768  			OutputTokens:    []string{"NextToken"},
  1769  			LimitToken:      "MaxResults",
  1770  			TruncationToken: "",
  1771  		},
  1772  	}
  1773  
  1774  	if input == nil {
  1775  		input = &ListKafkaVersionsInput{}
  1776  	}
  1777  
  1778  	output = &ListKafkaVersionsOutput{}
  1779  	req = c.newRequest(op, input, output)
  1780  	return
  1781  }
  1782  
  1783  // ListKafkaVersions API operation for Managed Streaming for Kafka.
  1784  //
  1785  // Returns a list of Kafka versions.
  1786  //
  1787  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1788  // with awserr.Error's Code and Message methods to get detailed information about
  1789  // the error.
  1790  //
  1791  // See the AWS API reference guide for Managed Streaming for Kafka's
  1792  // API operation ListKafkaVersions for usage and error information.
  1793  //
  1794  // Returned Error Types:
  1795  //   * BadRequestException
  1796  //   Returns information about an error.
  1797  //
  1798  //   * UnauthorizedException
  1799  //   Returns information about an error.
  1800  //
  1801  //   * InternalServerErrorException
  1802  //   Returns information about an error.
  1803  //
  1804  //   * ForbiddenException
  1805  //   Returns information about an error.
  1806  //
  1807  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListKafkaVersions
  1808  func (c *Kafka) ListKafkaVersions(input *ListKafkaVersionsInput) (*ListKafkaVersionsOutput, error) {
  1809  	req, out := c.ListKafkaVersionsRequest(input)
  1810  	return out, req.Send()
  1811  }
  1812  
  1813  // ListKafkaVersionsWithContext is the same as ListKafkaVersions with the addition of
  1814  // the ability to pass a context and additional request options.
  1815  //
  1816  // See ListKafkaVersions for details on how to use this API operation.
  1817  //
  1818  // The context must be non-nil and will be used for request cancellation. If
  1819  // the context is nil a panic will occur. In the future the SDK may create
  1820  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1821  // for more information on using Contexts.
  1822  func (c *Kafka) ListKafkaVersionsWithContext(ctx aws.Context, input *ListKafkaVersionsInput, opts ...request.Option) (*ListKafkaVersionsOutput, error) {
  1823  	req, out := c.ListKafkaVersionsRequest(input)
  1824  	req.SetContext(ctx)
  1825  	req.ApplyOptions(opts...)
  1826  	return out, req.Send()
  1827  }
  1828  
  1829  // ListKafkaVersionsPages iterates over the pages of a ListKafkaVersions operation,
  1830  // calling the "fn" function with the response data for each page. To stop
  1831  // iterating, return false from the fn function.
  1832  //
  1833  // See ListKafkaVersions method for more information on how to use this operation.
  1834  //
  1835  // Note: This operation can generate multiple requests to a service.
  1836  //
  1837  //    // Example iterating over at most 3 pages of a ListKafkaVersions operation.
  1838  //    pageNum := 0
  1839  //    err := client.ListKafkaVersionsPages(params,
  1840  //        func(page *kafka.ListKafkaVersionsOutput, lastPage bool) bool {
  1841  //            pageNum++
  1842  //            fmt.Println(page)
  1843  //            return pageNum <= 3
  1844  //        })
  1845  //
  1846  func (c *Kafka) ListKafkaVersionsPages(input *ListKafkaVersionsInput, fn func(*ListKafkaVersionsOutput, bool) bool) error {
  1847  	return c.ListKafkaVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
  1848  }
  1849  
  1850  // ListKafkaVersionsPagesWithContext same as ListKafkaVersionsPages except
  1851  // it takes a Context and allows setting request options on the pages.
  1852  //
  1853  // The context must be non-nil and will be used for request cancellation. If
  1854  // the context is nil a panic will occur. In the future the SDK may create
  1855  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1856  // for more information on using Contexts.
  1857  func (c *Kafka) ListKafkaVersionsPagesWithContext(ctx aws.Context, input *ListKafkaVersionsInput, fn func(*ListKafkaVersionsOutput, bool) bool, opts ...request.Option) error {
  1858  	p := request.Pagination{
  1859  		NewRequest: func() (*request.Request, error) {
  1860  			var inCpy *ListKafkaVersionsInput
  1861  			if input != nil {
  1862  				tmp := *input
  1863  				inCpy = &tmp
  1864  			}
  1865  			req, _ := c.ListKafkaVersionsRequest(inCpy)
  1866  			req.SetContext(ctx)
  1867  			req.ApplyOptions(opts...)
  1868  			return req, nil
  1869  		},
  1870  	}
  1871  
  1872  	for p.Next() {
  1873  		if !fn(p.Page().(*ListKafkaVersionsOutput), !p.HasNextPage()) {
  1874  			break
  1875  		}
  1876  	}
  1877  
  1878  	return p.Err()
  1879  }
  1880  
  1881  const opListNodes = "ListNodes"
  1882  
  1883  // ListNodesRequest generates a "aws/request.Request" representing the
  1884  // client's request for the ListNodes operation. The "output" return
  1885  // value will be populated with the request's response once the request completes
  1886  // successfully.
  1887  //
  1888  // Use "Send" method on the returned Request to send the API call to the service.
  1889  // the "output" return value is not valid until after Send returns without error.
  1890  //
  1891  // See ListNodes for more information on using the ListNodes
  1892  // API call, and error handling.
  1893  //
  1894  // This method is useful when you want to inject custom logic or configuration
  1895  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1896  //
  1897  //
  1898  //    // Example sending a request using the ListNodesRequest method.
  1899  //    req, resp := client.ListNodesRequest(params)
  1900  //
  1901  //    err := req.Send()
  1902  //    if err == nil { // resp is now filled
  1903  //        fmt.Println(resp)
  1904  //    }
  1905  //
  1906  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListNodes
  1907  func (c *Kafka) ListNodesRequest(input *ListNodesInput) (req *request.Request, output *ListNodesOutput) {
  1908  	op := &request.Operation{
  1909  		Name:       opListNodes,
  1910  		HTTPMethod: "GET",
  1911  		HTTPPath:   "/v1/clusters/{clusterArn}/nodes",
  1912  		Paginator: &request.Paginator{
  1913  			InputTokens:     []string{"NextToken"},
  1914  			OutputTokens:    []string{"NextToken"},
  1915  			LimitToken:      "MaxResults",
  1916  			TruncationToken: "",
  1917  		},
  1918  	}
  1919  
  1920  	if input == nil {
  1921  		input = &ListNodesInput{}
  1922  	}
  1923  
  1924  	output = &ListNodesOutput{}
  1925  	req = c.newRequest(op, input, output)
  1926  	return
  1927  }
  1928  
  1929  // ListNodes API operation for Managed Streaming for Kafka.
  1930  //
  1931  // Returns a list of the broker nodes in the cluster.
  1932  //
  1933  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1934  // with awserr.Error's Code and Message methods to get detailed information about
  1935  // the error.
  1936  //
  1937  // See the AWS API reference guide for Managed Streaming for Kafka's
  1938  // API operation ListNodes for usage and error information.
  1939  //
  1940  // Returned Error Types:
  1941  //   * NotFoundException
  1942  //   Returns information about an error.
  1943  //
  1944  //   * BadRequestException
  1945  //   Returns information about an error.
  1946  //
  1947  //   * InternalServerErrorException
  1948  //   Returns information about an error.
  1949  //
  1950  //   * ForbiddenException
  1951  //   Returns information about an error.
  1952  //
  1953  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListNodes
  1954  func (c *Kafka) ListNodes(input *ListNodesInput) (*ListNodesOutput, error) {
  1955  	req, out := c.ListNodesRequest(input)
  1956  	return out, req.Send()
  1957  }
  1958  
  1959  // ListNodesWithContext is the same as ListNodes with the addition of
  1960  // the ability to pass a context and additional request options.
  1961  //
  1962  // See ListNodes for details on how to use this API operation.
  1963  //
  1964  // The context must be non-nil and will be used for request cancellation. If
  1965  // the context is nil a panic will occur. In the future the SDK may create
  1966  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1967  // for more information on using Contexts.
  1968  func (c *Kafka) ListNodesWithContext(ctx aws.Context, input *ListNodesInput, opts ...request.Option) (*ListNodesOutput, error) {
  1969  	req, out := c.ListNodesRequest(input)
  1970  	req.SetContext(ctx)
  1971  	req.ApplyOptions(opts...)
  1972  	return out, req.Send()
  1973  }
  1974  
  1975  // ListNodesPages iterates over the pages of a ListNodes operation,
  1976  // calling the "fn" function with the response data for each page. To stop
  1977  // iterating, return false from the fn function.
  1978  //
  1979  // See ListNodes method for more information on how to use this operation.
  1980  //
  1981  // Note: This operation can generate multiple requests to a service.
  1982  //
  1983  //    // Example iterating over at most 3 pages of a ListNodes operation.
  1984  //    pageNum := 0
  1985  //    err := client.ListNodesPages(params,
  1986  //        func(page *kafka.ListNodesOutput, lastPage bool) bool {
  1987  //            pageNum++
  1988  //            fmt.Println(page)
  1989  //            return pageNum <= 3
  1990  //        })
  1991  //
  1992  func (c *Kafka) ListNodesPages(input *ListNodesInput, fn func(*ListNodesOutput, bool) bool) error {
  1993  	return c.ListNodesPagesWithContext(aws.BackgroundContext(), input, fn)
  1994  }
  1995  
  1996  // ListNodesPagesWithContext same as ListNodesPages except
  1997  // it takes a Context and allows setting request options on the pages.
  1998  //
  1999  // The context must be non-nil and will be used for request cancellation. If
  2000  // the context is nil a panic will occur. In the future the SDK may create
  2001  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2002  // for more information on using Contexts.
  2003  func (c *Kafka) ListNodesPagesWithContext(ctx aws.Context, input *ListNodesInput, fn func(*ListNodesOutput, bool) bool, opts ...request.Option) error {
  2004  	p := request.Pagination{
  2005  		NewRequest: func() (*request.Request, error) {
  2006  			var inCpy *ListNodesInput
  2007  			if input != nil {
  2008  				tmp := *input
  2009  				inCpy = &tmp
  2010  			}
  2011  			req, _ := c.ListNodesRequest(inCpy)
  2012  			req.SetContext(ctx)
  2013  			req.ApplyOptions(opts...)
  2014  			return req, nil
  2015  		},
  2016  	}
  2017  
  2018  	for p.Next() {
  2019  		if !fn(p.Page().(*ListNodesOutput), !p.HasNextPage()) {
  2020  			break
  2021  		}
  2022  	}
  2023  
  2024  	return p.Err()
  2025  }
  2026  
  2027  const opListScramSecrets = "ListScramSecrets"
  2028  
  2029  // ListScramSecretsRequest generates a "aws/request.Request" representing the
  2030  // client's request for the ListScramSecrets operation. The "output" return
  2031  // value will be populated with the request's response once the request completes
  2032  // successfully.
  2033  //
  2034  // Use "Send" method on the returned Request to send the API call to the service.
  2035  // the "output" return value is not valid until after Send returns without error.
  2036  //
  2037  // See ListScramSecrets for more information on using the ListScramSecrets
  2038  // API call, and error handling.
  2039  //
  2040  // This method is useful when you want to inject custom logic or configuration
  2041  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2042  //
  2043  //
  2044  //    // Example sending a request using the ListScramSecretsRequest method.
  2045  //    req, resp := client.ListScramSecretsRequest(params)
  2046  //
  2047  //    err := req.Send()
  2048  //    if err == nil { // resp is now filled
  2049  //        fmt.Println(resp)
  2050  //    }
  2051  //
  2052  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListScramSecrets
  2053  func (c *Kafka) ListScramSecretsRequest(input *ListScramSecretsInput) (req *request.Request, output *ListScramSecretsOutput) {
  2054  	op := &request.Operation{
  2055  		Name:       opListScramSecrets,
  2056  		HTTPMethod: "GET",
  2057  		HTTPPath:   "/v1/clusters/{clusterArn}/scram-secrets",
  2058  		Paginator: &request.Paginator{
  2059  			InputTokens:     []string{"NextToken"},
  2060  			OutputTokens:    []string{"NextToken"},
  2061  			LimitToken:      "MaxResults",
  2062  			TruncationToken: "",
  2063  		},
  2064  	}
  2065  
  2066  	if input == nil {
  2067  		input = &ListScramSecretsInput{}
  2068  	}
  2069  
  2070  	output = &ListScramSecretsOutput{}
  2071  	req = c.newRequest(op, input, output)
  2072  	return
  2073  }
  2074  
  2075  // ListScramSecrets API operation for Managed Streaming for Kafka.
  2076  //
  2077  // Returns a list of the Scram Secrets associated with an Amazon MSK cluster.
  2078  //
  2079  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2080  // with awserr.Error's Code and Message methods to get detailed information about
  2081  // the error.
  2082  //
  2083  // See the AWS API reference guide for Managed Streaming for Kafka's
  2084  // API operation ListScramSecrets for usage and error information.
  2085  //
  2086  // Returned Error Types:
  2087  //   * BadRequestException
  2088  //   Returns information about an error.
  2089  //
  2090  //   * UnauthorizedException
  2091  //   Returns information about an error.
  2092  //
  2093  //   * InternalServerErrorException
  2094  //   Returns information about an error.
  2095  //
  2096  //   * ForbiddenException
  2097  //   Returns information about an error.
  2098  //
  2099  //   * NotFoundException
  2100  //   Returns information about an error.
  2101  //
  2102  //   * ServiceUnavailableException
  2103  //   Returns information about an error.
  2104  //
  2105  //   * TooManyRequestsException
  2106  //   Returns information about an error.
  2107  //
  2108  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListScramSecrets
  2109  func (c *Kafka) ListScramSecrets(input *ListScramSecretsInput) (*ListScramSecretsOutput, error) {
  2110  	req, out := c.ListScramSecretsRequest(input)
  2111  	return out, req.Send()
  2112  }
  2113  
  2114  // ListScramSecretsWithContext is the same as ListScramSecrets with the addition of
  2115  // the ability to pass a context and additional request options.
  2116  //
  2117  // See ListScramSecrets for details on how to use this API operation.
  2118  //
  2119  // The context must be non-nil and will be used for request cancellation. If
  2120  // the context is nil a panic will occur. In the future the SDK may create
  2121  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2122  // for more information on using Contexts.
  2123  func (c *Kafka) ListScramSecretsWithContext(ctx aws.Context, input *ListScramSecretsInput, opts ...request.Option) (*ListScramSecretsOutput, error) {
  2124  	req, out := c.ListScramSecretsRequest(input)
  2125  	req.SetContext(ctx)
  2126  	req.ApplyOptions(opts...)
  2127  	return out, req.Send()
  2128  }
  2129  
  2130  // ListScramSecretsPages iterates over the pages of a ListScramSecrets operation,
  2131  // calling the "fn" function with the response data for each page. To stop
  2132  // iterating, return false from the fn function.
  2133  //
  2134  // See ListScramSecrets method for more information on how to use this operation.
  2135  //
  2136  // Note: This operation can generate multiple requests to a service.
  2137  //
  2138  //    // Example iterating over at most 3 pages of a ListScramSecrets operation.
  2139  //    pageNum := 0
  2140  //    err := client.ListScramSecretsPages(params,
  2141  //        func(page *kafka.ListScramSecretsOutput, lastPage bool) bool {
  2142  //            pageNum++
  2143  //            fmt.Println(page)
  2144  //            return pageNum <= 3
  2145  //        })
  2146  //
  2147  func (c *Kafka) ListScramSecretsPages(input *ListScramSecretsInput, fn func(*ListScramSecretsOutput, bool) bool) error {
  2148  	return c.ListScramSecretsPagesWithContext(aws.BackgroundContext(), input, fn)
  2149  }
  2150  
  2151  // ListScramSecretsPagesWithContext same as ListScramSecretsPages except
  2152  // it takes a Context and allows setting request options on the pages.
  2153  //
  2154  // The context must be non-nil and will be used for request cancellation. If
  2155  // the context is nil a panic will occur. In the future the SDK may create
  2156  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2157  // for more information on using Contexts.
  2158  func (c *Kafka) ListScramSecretsPagesWithContext(ctx aws.Context, input *ListScramSecretsInput, fn func(*ListScramSecretsOutput, bool) bool, opts ...request.Option) error {
  2159  	p := request.Pagination{
  2160  		NewRequest: func() (*request.Request, error) {
  2161  			var inCpy *ListScramSecretsInput
  2162  			if input != nil {
  2163  				tmp := *input
  2164  				inCpy = &tmp
  2165  			}
  2166  			req, _ := c.ListScramSecretsRequest(inCpy)
  2167  			req.SetContext(ctx)
  2168  			req.ApplyOptions(opts...)
  2169  			return req, nil
  2170  		},
  2171  	}
  2172  
  2173  	for p.Next() {
  2174  		if !fn(p.Page().(*ListScramSecretsOutput), !p.HasNextPage()) {
  2175  			break
  2176  		}
  2177  	}
  2178  
  2179  	return p.Err()
  2180  }
  2181  
  2182  const opListTagsForResource = "ListTagsForResource"
  2183  
  2184  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  2185  // client's request for the ListTagsForResource operation. The "output" return
  2186  // value will be populated with the request's response once the request completes
  2187  // successfully.
  2188  //
  2189  // Use "Send" method on the returned Request to send the API call to the service.
  2190  // the "output" return value is not valid until after Send returns without error.
  2191  //
  2192  // See ListTagsForResource for more information on using the ListTagsForResource
  2193  // API call, and error handling.
  2194  //
  2195  // This method is useful when you want to inject custom logic or configuration
  2196  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2197  //
  2198  //
  2199  //    // Example sending a request using the ListTagsForResourceRequest method.
  2200  //    req, resp := client.ListTagsForResourceRequest(params)
  2201  //
  2202  //    err := req.Send()
  2203  //    if err == nil { // resp is now filled
  2204  //        fmt.Println(resp)
  2205  //    }
  2206  //
  2207  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListTagsForResource
  2208  func (c *Kafka) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  2209  	op := &request.Operation{
  2210  		Name:       opListTagsForResource,
  2211  		HTTPMethod: "GET",
  2212  		HTTPPath:   "/v1/tags/{resourceArn}",
  2213  	}
  2214  
  2215  	if input == nil {
  2216  		input = &ListTagsForResourceInput{}
  2217  	}
  2218  
  2219  	output = &ListTagsForResourceOutput{}
  2220  	req = c.newRequest(op, input, output)
  2221  	return
  2222  }
  2223  
  2224  // ListTagsForResource API operation for Managed Streaming for Kafka.
  2225  //
  2226  // Returns a list of the tags associated with the specified resource.
  2227  //
  2228  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2229  // with awserr.Error's Code and Message methods to get detailed information about
  2230  // the error.
  2231  //
  2232  // See the AWS API reference guide for Managed Streaming for Kafka's
  2233  // API operation ListTagsForResource for usage and error information.
  2234  //
  2235  // Returned Error Types:
  2236  //   * NotFoundException
  2237  //   Returns information about an error.
  2238  //
  2239  //   * BadRequestException
  2240  //   Returns information about an error.
  2241  //
  2242  //   * InternalServerErrorException
  2243  //   Returns information about an error.
  2244  //
  2245  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListTagsForResource
  2246  func (c *Kafka) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  2247  	req, out := c.ListTagsForResourceRequest(input)
  2248  	return out, req.Send()
  2249  }
  2250  
  2251  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  2252  // the ability to pass a context and additional request options.
  2253  //
  2254  // See ListTagsForResource for details on how to use this API operation.
  2255  //
  2256  // The context must be non-nil and will be used for request cancellation. If
  2257  // the context is nil a panic will occur. In the future the SDK may create
  2258  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2259  // for more information on using Contexts.
  2260  func (c *Kafka) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  2261  	req, out := c.ListTagsForResourceRequest(input)
  2262  	req.SetContext(ctx)
  2263  	req.ApplyOptions(opts...)
  2264  	return out, req.Send()
  2265  }
  2266  
  2267  const opRebootBroker = "RebootBroker"
  2268  
  2269  // RebootBrokerRequest generates a "aws/request.Request" representing the
  2270  // client's request for the RebootBroker operation. The "output" return
  2271  // value will be populated with the request's response once the request completes
  2272  // successfully.
  2273  //
  2274  // Use "Send" method on the returned Request to send the API call to the service.
  2275  // the "output" return value is not valid until after Send returns without error.
  2276  //
  2277  // See RebootBroker for more information on using the RebootBroker
  2278  // API call, and error handling.
  2279  //
  2280  // This method is useful when you want to inject custom logic or configuration
  2281  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2282  //
  2283  //
  2284  //    // Example sending a request using the RebootBrokerRequest method.
  2285  //    req, resp := client.RebootBrokerRequest(params)
  2286  //
  2287  //    err := req.Send()
  2288  //    if err == nil { // resp is now filled
  2289  //        fmt.Println(resp)
  2290  //    }
  2291  //
  2292  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/RebootBroker
  2293  func (c *Kafka) RebootBrokerRequest(input *RebootBrokerInput) (req *request.Request, output *RebootBrokerOutput) {
  2294  	op := &request.Operation{
  2295  		Name:       opRebootBroker,
  2296  		HTTPMethod: "PUT",
  2297  		HTTPPath:   "/v1/clusters/{clusterArn}/reboot-broker",
  2298  	}
  2299  
  2300  	if input == nil {
  2301  		input = &RebootBrokerInput{}
  2302  	}
  2303  
  2304  	output = &RebootBrokerOutput{}
  2305  	req = c.newRequest(op, input, output)
  2306  	return
  2307  }
  2308  
  2309  // RebootBroker API operation for Managed Streaming for Kafka.
  2310  //
  2311  // Executes a reboot on a broker.
  2312  //
  2313  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2314  // with awserr.Error's Code and Message methods to get detailed information about
  2315  // the error.
  2316  //
  2317  // See the AWS API reference guide for Managed Streaming for Kafka's
  2318  // API operation RebootBroker for usage and error information.
  2319  //
  2320  // Returned Error Types:
  2321  //   * BadRequestException
  2322  //   Returns information about an error.
  2323  //
  2324  //   * UnauthorizedException
  2325  //   Returns information about an error.
  2326  //
  2327  //   * InternalServerErrorException
  2328  //   Returns information about an error.
  2329  //
  2330  //   * ForbiddenException
  2331  //   Returns information about an error.
  2332  //
  2333  //   * NotFoundException
  2334  //   Returns information about an error.
  2335  //
  2336  //   * ServiceUnavailableException
  2337  //   Returns information about an error.
  2338  //
  2339  //   * TooManyRequestsException
  2340  //   Returns information about an error.
  2341  //
  2342  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/RebootBroker
  2343  func (c *Kafka) RebootBroker(input *RebootBrokerInput) (*RebootBrokerOutput, error) {
  2344  	req, out := c.RebootBrokerRequest(input)
  2345  	return out, req.Send()
  2346  }
  2347  
  2348  // RebootBrokerWithContext is the same as RebootBroker with the addition of
  2349  // the ability to pass a context and additional request options.
  2350  //
  2351  // See RebootBroker for details on how to use this API operation.
  2352  //
  2353  // The context must be non-nil and will be used for request cancellation. If
  2354  // the context is nil a panic will occur. In the future the SDK may create
  2355  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2356  // for more information on using Contexts.
  2357  func (c *Kafka) RebootBrokerWithContext(ctx aws.Context, input *RebootBrokerInput, opts ...request.Option) (*RebootBrokerOutput, error) {
  2358  	req, out := c.RebootBrokerRequest(input)
  2359  	req.SetContext(ctx)
  2360  	req.ApplyOptions(opts...)
  2361  	return out, req.Send()
  2362  }
  2363  
  2364  const opTagResource = "TagResource"
  2365  
  2366  // TagResourceRequest generates a "aws/request.Request" representing the
  2367  // client's request for the TagResource operation. The "output" return
  2368  // value will be populated with the request's response once the request completes
  2369  // successfully.
  2370  //
  2371  // Use "Send" method on the returned Request to send the API call to the service.
  2372  // the "output" return value is not valid until after Send returns without error.
  2373  //
  2374  // See TagResource for more information on using the TagResource
  2375  // API call, and error handling.
  2376  //
  2377  // This method is useful when you want to inject custom logic or configuration
  2378  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2379  //
  2380  //
  2381  //    // Example sending a request using the TagResourceRequest method.
  2382  //    req, resp := client.TagResourceRequest(params)
  2383  //
  2384  //    err := req.Send()
  2385  //    if err == nil { // resp is now filled
  2386  //        fmt.Println(resp)
  2387  //    }
  2388  //
  2389  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/TagResource
  2390  func (c *Kafka) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  2391  	op := &request.Operation{
  2392  		Name:       opTagResource,
  2393  		HTTPMethod: "POST",
  2394  		HTTPPath:   "/v1/tags/{resourceArn}",
  2395  	}
  2396  
  2397  	if input == nil {
  2398  		input = &TagResourceInput{}
  2399  	}
  2400  
  2401  	output = &TagResourceOutput{}
  2402  	req = c.newRequest(op, input, output)
  2403  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2404  	return
  2405  }
  2406  
  2407  // TagResource API operation for Managed Streaming for Kafka.
  2408  //
  2409  // Adds tags to the specified MSK resource.
  2410  //
  2411  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2412  // with awserr.Error's Code and Message methods to get detailed information about
  2413  // the error.
  2414  //
  2415  // See the AWS API reference guide for Managed Streaming for Kafka's
  2416  // API operation TagResource for usage and error information.
  2417  //
  2418  // Returned Error Types:
  2419  //   * NotFoundException
  2420  //   Returns information about an error.
  2421  //
  2422  //   * BadRequestException
  2423  //   Returns information about an error.
  2424  //
  2425  //   * InternalServerErrorException
  2426  //   Returns information about an error.
  2427  //
  2428  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/TagResource
  2429  func (c *Kafka) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  2430  	req, out := c.TagResourceRequest(input)
  2431  	return out, req.Send()
  2432  }
  2433  
  2434  // TagResourceWithContext is the same as TagResource with the addition of
  2435  // the ability to pass a context and additional request options.
  2436  //
  2437  // See TagResource for details on how to use this API operation.
  2438  //
  2439  // The context must be non-nil and will be used for request cancellation. If
  2440  // the context is nil a panic will occur. In the future the SDK may create
  2441  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2442  // for more information on using Contexts.
  2443  func (c *Kafka) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  2444  	req, out := c.TagResourceRequest(input)
  2445  	req.SetContext(ctx)
  2446  	req.ApplyOptions(opts...)
  2447  	return out, req.Send()
  2448  }
  2449  
  2450  const opUntagResource = "UntagResource"
  2451  
  2452  // UntagResourceRequest generates a "aws/request.Request" representing the
  2453  // client's request for the UntagResource operation. The "output" return
  2454  // value will be populated with the request's response once the request completes
  2455  // successfully.
  2456  //
  2457  // Use "Send" method on the returned Request to send the API call to the service.
  2458  // the "output" return value is not valid until after Send returns without error.
  2459  //
  2460  // See UntagResource for more information on using the UntagResource
  2461  // API call, and error handling.
  2462  //
  2463  // This method is useful when you want to inject custom logic or configuration
  2464  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2465  //
  2466  //
  2467  //    // Example sending a request using the UntagResourceRequest method.
  2468  //    req, resp := client.UntagResourceRequest(params)
  2469  //
  2470  //    err := req.Send()
  2471  //    if err == nil { // resp is now filled
  2472  //        fmt.Println(resp)
  2473  //    }
  2474  //
  2475  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/UntagResource
  2476  func (c *Kafka) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  2477  	op := &request.Operation{
  2478  		Name:       opUntagResource,
  2479  		HTTPMethod: "DELETE",
  2480  		HTTPPath:   "/v1/tags/{resourceArn}",
  2481  	}
  2482  
  2483  	if input == nil {
  2484  		input = &UntagResourceInput{}
  2485  	}
  2486  
  2487  	output = &UntagResourceOutput{}
  2488  	req = c.newRequest(op, input, output)
  2489  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2490  	return
  2491  }
  2492  
  2493  // UntagResource API operation for Managed Streaming for Kafka.
  2494  //
  2495  // Removes the tags associated with the keys that are provided in the query.
  2496  //
  2497  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2498  // with awserr.Error's Code and Message methods to get detailed information about
  2499  // the error.
  2500  //
  2501  // See the AWS API reference guide for Managed Streaming for Kafka's
  2502  // API operation UntagResource for usage and error information.
  2503  //
  2504  // Returned Error Types:
  2505  //   * NotFoundException
  2506  //   Returns information about an error.
  2507  //
  2508  //   * BadRequestException
  2509  //   Returns information about an error.
  2510  //
  2511  //   * InternalServerErrorException
  2512  //   Returns information about an error.
  2513  //
  2514  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/UntagResource
  2515  func (c *Kafka) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  2516  	req, out := c.UntagResourceRequest(input)
  2517  	return out, req.Send()
  2518  }
  2519  
  2520  // UntagResourceWithContext is the same as UntagResource with the addition of
  2521  // the ability to pass a context and additional request options.
  2522  //
  2523  // See UntagResource for details on how to use this API operation.
  2524  //
  2525  // The context must be non-nil and will be used for request cancellation. If
  2526  // the context is nil a panic will occur. In the future the SDK may create
  2527  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2528  // for more information on using Contexts.
  2529  func (c *Kafka) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  2530  	req, out := c.UntagResourceRequest(input)
  2531  	req.SetContext(ctx)
  2532  	req.ApplyOptions(opts...)
  2533  	return out, req.Send()
  2534  }
  2535  
  2536  const opUpdateBrokerCount = "UpdateBrokerCount"
  2537  
  2538  // UpdateBrokerCountRequest generates a "aws/request.Request" representing the
  2539  // client's request for the UpdateBrokerCount operation. The "output" return
  2540  // value will be populated with the request's response once the request completes
  2541  // successfully.
  2542  //
  2543  // Use "Send" method on the returned Request to send the API call to the service.
  2544  // the "output" return value is not valid until after Send returns without error.
  2545  //
  2546  // See UpdateBrokerCount for more information on using the UpdateBrokerCount
  2547  // API call, and error handling.
  2548  //
  2549  // This method is useful when you want to inject custom logic or configuration
  2550  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2551  //
  2552  //
  2553  //    // Example sending a request using the UpdateBrokerCountRequest method.
  2554  //    req, resp := client.UpdateBrokerCountRequest(params)
  2555  //
  2556  //    err := req.Send()
  2557  //    if err == nil { // resp is now filled
  2558  //        fmt.Println(resp)
  2559  //    }
  2560  //
  2561  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/UpdateBrokerCount
  2562  func (c *Kafka) UpdateBrokerCountRequest(input *UpdateBrokerCountInput) (req *request.Request, output *UpdateBrokerCountOutput) {
  2563  	op := &request.Operation{
  2564  		Name:       opUpdateBrokerCount,
  2565  		HTTPMethod: "PUT",
  2566  		HTTPPath:   "/v1/clusters/{clusterArn}/nodes/count",
  2567  	}
  2568  
  2569  	if input == nil {
  2570  		input = &UpdateBrokerCountInput{}
  2571  	}
  2572  
  2573  	output = &UpdateBrokerCountOutput{}
  2574  	req = c.newRequest(op, input, output)
  2575  	return
  2576  }
  2577  
  2578  // UpdateBrokerCount API operation for Managed Streaming for Kafka.
  2579  //
  2580  // Updates the number of broker nodes in the cluster. You can use this operation
  2581  // to increase the number of brokers in an existing cluster. You can't decrease
  2582  // the number of brokers.
  2583  //
  2584  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2585  // with awserr.Error's Code and Message methods to get detailed information about
  2586  // the error.
  2587  //
  2588  // See the AWS API reference guide for Managed Streaming for Kafka's
  2589  // API operation UpdateBrokerCount for usage and error information.
  2590  //
  2591  // Returned Error Types:
  2592  //   * ServiceUnavailableException
  2593  //   Returns information about an error.
  2594  //
  2595  //   * BadRequestException
  2596  //   Returns information about an error.
  2597  //
  2598  //   * UnauthorizedException
  2599  //   Returns information about an error.
  2600  //
  2601  //   * InternalServerErrorException
  2602  //   Returns information about an error.
  2603  //
  2604  //   * ForbiddenException
  2605  //   Returns information about an error.
  2606  //
  2607  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/UpdateBrokerCount
  2608  func (c *Kafka) UpdateBrokerCount(input *UpdateBrokerCountInput) (*UpdateBrokerCountOutput, error) {
  2609  	req, out := c.UpdateBrokerCountRequest(input)
  2610  	return out, req.Send()
  2611  }
  2612  
  2613  // UpdateBrokerCountWithContext is the same as UpdateBrokerCount with the addition of
  2614  // the ability to pass a context and additional request options.
  2615  //
  2616  // See UpdateBrokerCount for details on how to use this API operation.
  2617  //
  2618  // The context must be non-nil and will be used for request cancellation. If
  2619  // the context is nil a panic will occur. In the future the SDK may create
  2620  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2621  // for more information on using Contexts.
  2622  func (c *Kafka) UpdateBrokerCountWithContext(ctx aws.Context, input *UpdateBrokerCountInput, opts ...request.Option) (*UpdateBrokerCountOutput, error) {
  2623  	req, out := c.UpdateBrokerCountRequest(input)
  2624  	req.SetContext(ctx)
  2625  	req.ApplyOptions(opts...)
  2626  	return out, req.Send()
  2627  }
  2628  
  2629  const opUpdateBrokerStorage = "UpdateBrokerStorage"
  2630  
  2631  // UpdateBrokerStorageRequest generates a "aws/request.Request" representing the
  2632  // client's request for the UpdateBrokerStorage operation. The "output" return
  2633  // value will be populated with the request's response once the request completes
  2634  // successfully.
  2635  //
  2636  // Use "Send" method on the returned Request to send the API call to the service.
  2637  // the "output" return value is not valid until after Send returns without error.
  2638  //
  2639  // See UpdateBrokerStorage for more information on using the UpdateBrokerStorage
  2640  // API call, and error handling.
  2641  //
  2642  // This method is useful when you want to inject custom logic or configuration
  2643  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2644  //
  2645  //
  2646  //    // Example sending a request using the UpdateBrokerStorageRequest method.
  2647  //    req, resp := client.UpdateBrokerStorageRequest(params)
  2648  //
  2649  //    err := req.Send()
  2650  //    if err == nil { // resp is now filled
  2651  //        fmt.Println(resp)
  2652  //    }
  2653  //
  2654  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/UpdateBrokerStorage
  2655  func (c *Kafka) UpdateBrokerStorageRequest(input *UpdateBrokerStorageInput) (req *request.Request, output *UpdateBrokerStorageOutput) {
  2656  	op := &request.Operation{
  2657  		Name:       opUpdateBrokerStorage,
  2658  		HTTPMethod: "PUT",
  2659  		HTTPPath:   "/v1/clusters/{clusterArn}/nodes/storage",
  2660  	}
  2661  
  2662  	if input == nil {
  2663  		input = &UpdateBrokerStorageInput{}
  2664  	}
  2665  
  2666  	output = &UpdateBrokerStorageOutput{}
  2667  	req = c.newRequest(op, input, output)
  2668  	return
  2669  }
  2670  
  2671  // UpdateBrokerStorage API operation for Managed Streaming for Kafka.
  2672  //
  2673  // Updates the EBS storage associated with MSK brokers.
  2674  //
  2675  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2676  // with awserr.Error's Code and Message methods to get detailed information about
  2677  // the error.
  2678  //
  2679  // See the AWS API reference guide for Managed Streaming for Kafka's
  2680  // API operation UpdateBrokerStorage for usage and error information.
  2681  //
  2682  // Returned Error Types:
  2683  //   * ServiceUnavailableException
  2684  //   Returns information about an error.
  2685  //
  2686  //   * BadRequestException
  2687  //   Returns information about an error.
  2688  //
  2689  //   * UnauthorizedException
  2690  //   Returns information about an error.
  2691  //
  2692  //   * InternalServerErrorException
  2693  //   Returns information about an error.
  2694  //
  2695  //   * ForbiddenException
  2696  //   Returns information about an error.
  2697  //
  2698  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/UpdateBrokerStorage
  2699  func (c *Kafka) UpdateBrokerStorage(input *UpdateBrokerStorageInput) (*UpdateBrokerStorageOutput, error) {
  2700  	req, out := c.UpdateBrokerStorageRequest(input)
  2701  	return out, req.Send()
  2702  }
  2703  
  2704  // UpdateBrokerStorageWithContext is the same as UpdateBrokerStorage with the addition of
  2705  // the ability to pass a context and additional request options.
  2706  //
  2707  // See UpdateBrokerStorage for details on how to use this API operation.
  2708  //
  2709  // The context must be non-nil and will be used for request cancellation. If
  2710  // the context is nil a panic will occur. In the future the SDK may create
  2711  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2712  // for more information on using Contexts.
  2713  func (c *Kafka) UpdateBrokerStorageWithContext(ctx aws.Context, input *UpdateBrokerStorageInput, opts ...request.Option) (*UpdateBrokerStorageOutput, error) {
  2714  	req, out := c.UpdateBrokerStorageRequest(input)
  2715  	req.SetContext(ctx)
  2716  	req.ApplyOptions(opts...)
  2717  	return out, req.Send()
  2718  }
  2719  
  2720  const opUpdateBrokerType = "UpdateBrokerType"
  2721  
  2722  // UpdateBrokerTypeRequest generates a "aws/request.Request" representing the
  2723  // client's request for the UpdateBrokerType operation. The "output" return
  2724  // value will be populated with the request's response once the request completes
  2725  // successfully.
  2726  //
  2727  // Use "Send" method on the returned Request to send the API call to the service.
  2728  // the "output" return value is not valid until after Send returns without error.
  2729  //
  2730  // See UpdateBrokerType for more information on using the UpdateBrokerType
  2731  // API call, and error handling.
  2732  //
  2733  // This method is useful when you want to inject custom logic or configuration
  2734  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2735  //
  2736  //
  2737  //    // Example sending a request using the UpdateBrokerTypeRequest method.
  2738  //    req, resp := client.UpdateBrokerTypeRequest(params)
  2739  //
  2740  //    err := req.Send()
  2741  //    if err == nil { // resp is now filled
  2742  //        fmt.Println(resp)
  2743  //    }
  2744  //
  2745  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/UpdateBrokerType
  2746  func (c *Kafka) UpdateBrokerTypeRequest(input *UpdateBrokerTypeInput) (req *request.Request, output *UpdateBrokerTypeOutput) {
  2747  	op := &request.Operation{
  2748  		Name:       opUpdateBrokerType,
  2749  		HTTPMethod: "PUT",
  2750  		HTTPPath:   "/v1/clusters/{clusterArn}/nodes/type",
  2751  	}
  2752  
  2753  	if input == nil {
  2754  		input = &UpdateBrokerTypeInput{}
  2755  	}
  2756  
  2757  	output = &UpdateBrokerTypeOutput{}
  2758  	req = c.newRequest(op, input, output)
  2759  	return
  2760  }
  2761  
  2762  // UpdateBrokerType API operation for Managed Streaming for Kafka.
  2763  //
  2764  // Updates all the brokers in the cluster to the specified type.
  2765  //
  2766  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2767  // with awserr.Error's Code and Message methods to get detailed information about
  2768  // the error.
  2769  //
  2770  // See the AWS API reference guide for Managed Streaming for Kafka's
  2771  // API operation UpdateBrokerType for usage and error information.
  2772  //
  2773  // Returned Error Types:
  2774  //   * BadRequestException
  2775  //   Returns information about an error.
  2776  //
  2777  //   * ForbiddenException
  2778  //   Returns information about an error.
  2779  //
  2780  //   * InternalServerErrorException
  2781  //   Returns information about an error.
  2782  //
  2783  //   * NotFoundException
  2784  //   Returns information about an error.
  2785  //
  2786  //   * ServiceUnavailableException
  2787  //   Returns information about an error.
  2788  //
  2789  //   * UnauthorizedException
  2790  //   Returns information about an error.
  2791  //
  2792  //   * TooManyRequestsException
  2793  //   Returns information about an error.
  2794  //
  2795  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/UpdateBrokerType
  2796  func (c *Kafka) UpdateBrokerType(input *UpdateBrokerTypeInput) (*UpdateBrokerTypeOutput, error) {
  2797  	req, out := c.UpdateBrokerTypeRequest(input)
  2798  	return out, req.Send()
  2799  }
  2800  
  2801  // UpdateBrokerTypeWithContext is the same as UpdateBrokerType with the addition of
  2802  // the ability to pass a context and additional request options.
  2803  //
  2804  // See UpdateBrokerType for details on how to use this API operation.
  2805  //
  2806  // The context must be non-nil and will be used for request cancellation. If
  2807  // the context is nil a panic will occur. In the future the SDK may create
  2808  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2809  // for more information on using Contexts.
  2810  func (c *Kafka) UpdateBrokerTypeWithContext(ctx aws.Context, input *UpdateBrokerTypeInput, opts ...request.Option) (*UpdateBrokerTypeOutput, error) {
  2811  	req, out := c.UpdateBrokerTypeRequest(input)
  2812  	req.SetContext(ctx)
  2813  	req.ApplyOptions(opts...)
  2814  	return out, req.Send()
  2815  }
  2816  
  2817  const opUpdateClusterConfiguration = "UpdateClusterConfiguration"
  2818  
  2819  // UpdateClusterConfigurationRequest generates a "aws/request.Request" representing the
  2820  // client's request for the UpdateClusterConfiguration operation. The "output" return
  2821  // value will be populated with the request's response once the request completes
  2822  // successfully.
  2823  //
  2824  // Use "Send" method on the returned Request to send the API call to the service.
  2825  // the "output" return value is not valid until after Send returns without error.
  2826  //
  2827  // See UpdateClusterConfiguration for more information on using the UpdateClusterConfiguration
  2828  // API call, and error handling.
  2829  //
  2830  // This method is useful when you want to inject custom logic or configuration
  2831  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2832  //
  2833  //
  2834  //    // Example sending a request using the UpdateClusterConfigurationRequest method.
  2835  //    req, resp := client.UpdateClusterConfigurationRequest(params)
  2836  //
  2837  //    err := req.Send()
  2838  //    if err == nil { // resp is now filled
  2839  //        fmt.Println(resp)
  2840  //    }
  2841  //
  2842  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/UpdateClusterConfiguration
  2843  func (c *Kafka) UpdateClusterConfigurationRequest(input *UpdateClusterConfigurationInput) (req *request.Request, output *UpdateClusterConfigurationOutput) {
  2844  	op := &request.Operation{
  2845  		Name:       opUpdateClusterConfiguration,
  2846  		HTTPMethod: "PUT",
  2847  		HTTPPath:   "/v1/clusters/{clusterArn}/configuration",
  2848  	}
  2849  
  2850  	if input == nil {
  2851  		input = &UpdateClusterConfigurationInput{}
  2852  	}
  2853  
  2854  	output = &UpdateClusterConfigurationOutput{}
  2855  	req = c.newRequest(op, input, output)
  2856  	return
  2857  }
  2858  
  2859  // UpdateClusterConfiguration API operation for Managed Streaming for Kafka.
  2860  //
  2861  // Updates the cluster with the configuration that is specified in the request
  2862  // body.
  2863  //
  2864  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2865  // with awserr.Error's Code and Message methods to get detailed information about
  2866  // the error.
  2867  //
  2868  // See the AWS API reference guide for Managed Streaming for Kafka's
  2869  // API operation UpdateClusterConfiguration for usage and error information.
  2870  //
  2871  // Returned Error Types:
  2872  //   * BadRequestException
  2873  //   Returns information about an error.
  2874  //
  2875  //   * UnauthorizedException
  2876  //   Returns information about an error.
  2877  //
  2878  //   * InternalServerErrorException
  2879  //   Returns information about an error.
  2880  //
  2881  //   * ForbiddenException
  2882  //   Returns information about an error.
  2883  //
  2884  //   * NotFoundException
  2885  //   Returns information about an error.
  2886  //
  2887  //   * ServiceUnavailableException
  2888  //   Returns information about an error.
  2889  //
  2890  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/UpdateClusterConfiguration
  2891  func (c *Kafka) UpdateClusterConfiguration(input *UpdateClusterConfigurationInput) (*UpdateClusterConfigurationOutput, error) {
  2892  	req, out := c.UpdateClusterConfigurationRequest(input)
  2893  	return out, req.Send()
  2894  }
  2895  
  2896  // UpdateClusterConfigurationWithContext is the same as UpdateClusterConfiguration with the addition of
  2897  // the ability to pass a context and additional request options.
  2898  //
  2899  // See UpdateClusterConfiguration for details on how to use this API operation.
  2900  //
  2901  // The context must be non-nil and will be used for request cancellation. If
  2902  // the context is nil a panic will occur. In the future the SDK may create
  2903  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2904  // for more information on using Contexts.
  2905  func (c *Kafka) UpdateClusterConfigurationWithContext(ctx aws.Context, input *UpdateClusterConfigurationInput, opts ...request.Option) (*UpdateClusterConfigurationOutput, error) {
  2906  	req, out := c.UpdateClusterConfigurationRequest(input)
  2907  	req.SetContext(ctx)
  2908  	req.ApplyOptions(opts...)
  2909  	return out, req.Send()
  2910  }
  2911  
  2912  const opUpdateClusterKafkaVersion = "UpdateClusterKafkaVersion"
  2913  
  2914  // UpdateClusterKafkaVersionRequest generates a "aws/request.Request" representing the
  2915  // client's request for the UpdateClusterKafkaVersion operation. The "output" return
  2916  // value will be populated with the request's response once the request completes
  2917  // successfully.
  2918  //
  2919  // Use "Send" method on the returned Request to send the API call to the service.
  2920  // the "output" return value is not valid until after Send returns without error.
  2921  //
  2922  // See UpdateClusterKafkaVersion for more information on using the UpdateClusterKafkaVersion
  2923  // API call, and error handling.
  2924  //
  2925  // This method is useful when you want to inject custom logic or configuration
  2926  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2927  //
  2928  //
  2929  //    // Example sending a request using the UpdateClusterKafkaVersionRequest method.
  2930  //    req, resp := client.UpdateClusterKafkaVersionRequest(params)
  2931  //
  2932  //    err := req.Send()
  2933  //    if err == nil { // resp is now filled
  2934  //        fmt.Println(resp)
  2935  //    }
  2936  //
  2937  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/UpdateClusterKafkaVersion
  2938  func (c *Kafka) UpdateClusterKafkaVersionRequest(input *UpdateClusterKafkaVersionInput) (req *request.Request, output *UpdateClusterKafkaVersionOutput) {
  2939  	op := &request.Operation{
  2940  		Name:       opUpdateClusterKafkaVersion,
  2941  		HTTPMethod: "PUT",
  2942  		HTTPPath:   "/v1/clusters/{clusterArn}/version",
  2943  	}
  2944  
  2945  	if input == nil {
  2946  		input = &UpdateClusterKafkaVersionInput{}
  2947  	}
  2948  
  2949  	output = &UpdateClusterKafkaVersionOutput{}
  2950  	req = c.newRequest(op, input, output)
  2951  	return
  2952  }
  2953  
  2954  // UpdateClusterKafkaVersion API operation for Managed Streaming for Kafka.
  2955  //
  2956  // Updates the Apache Kafka version for the cluster.
  2957  //
  2958  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2959  // with awserr.Error's Code and Message methods to get detailed information about
  2960  // the error.
  2961  //
  2962  // See the AWS API reference guide for Managed Streaming for Kafka's
  2963  // API operation UpdateClusterKafkaVersion for usage and error information.
  2964  //
  2965  // Returned Error Types:
  2966  //   * BadRequestException
  2967  //   Returns information about an error.
  2968  //
  2969  //   * UnauthorizedException
  2970  //   Returns information about an error.
  2971  //
  2972  //   * InternalServerErrorException
  2973  //   Returns information about an error.
  2974  //
  2975  //   * ForbiddenException
  2976  //   Returns information about an error.
  2977  //
  2978  //   * NotFoundException
  2979  //   Returns information about an error.
  2980  //
  2981  //   * ServiceUnavailableException
  2982  //   Returns information about an error.
  2983  //
  2984  //   * TooManyRequestsException
  2985  //   Returns information about an error.
  2986  //
  2987  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/UpdateClusterKafkaVersion
  2988  func (c *Kafka) UpdateClusterKafkaVersion(input *UpdateClusterKafkaVersionInput) (*UpdateClusterKafkaVersionOutput, error) {
  2989  	req, out := c.UpdateClusterKafkaVersionRequest(input)
  2990  	return out, req.Send()
  2991  }
  2992  
  2993  // UpdateClusterKafkaVersionWithContext is the same as UpdateClusterKafkaVersion with the addition of
  2994  // the ability to pass a context and additional request options.
  2995  //
  2996  // See UpdateClusterKafkaVersion for details on how to use this API operation.
  2997  //
  2998  // The context must be non-nil and will be used for request cancellation. If
  2999  // the context is nil a panic will occur. In the future the SDK may create
  3000  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3001  // for more information on using Contexts.
  3002  func (c *Kafka) UpdateClusterKafkaVersionWithContext(ctx aws.Context, input *UpdateClusterKafkaVersionInput, opts ...request.Option) (*UpdateClusterKafkaVersionOutput, error) {
  3003  	req, out := c.UpdateClusterKafkaVersionRequest(input)
  3004  	req.SetContext(ctx)
  3005  	req.ApplyOptions(opts...)
  3006  	return out, req.Send()
  3007  }
  3008  
  3009  const opUpdateConfiguration = "UpdateConfiguration"
  3010  
  3011  // UpdateConfigurationRequest generates a "aws/request.Request" representing the
  3012  // client's request for the UpdateConfiguration operation. The "output" return
  3013  // value will be populated with the request's response once the request completes
  3014  // successfully.
  3015  //
  3016  // Use "Send" method on the returned Request to send the API call to the service.
  3017  // the "output" return value is not valid until after Send returns without error.
  3018  //
  3019  // See UpdateConfiguration for more information on using the UpdateConfiguration
  3020  // API call, and error handling.
  3021  //
  3022  // This method is useful when you want to inject custom logic or configuration
  3023  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3024  //
  3025  //
  3026  //    // Example sending a request using the UpdateConfigurationRequest method.
  3027  //    req, resp := client.UpdateConfigurationRequest(params)
  3028  //
  3029  //    err := req.Send()
  3030  //    if err == nil { // resp is now filled
  3031  //        fmt.Println(resp)
  3032  //    }
  3033  //
  3034  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/UpdateConfiguration
  3035  func (c *Kafka) UpdateConfigurationRequest(input *UpdateConfigurationInput) (req *request.Request, output *UpdateConfigurationOutput) {
  3036  	op := &request.Operation{
  3037  		Name:       opUpdateConfiguration,
  3038  		HTTPMethod: "PUT",
  3039  		HTTPPath:   "/v1/configurations/{arn}",
  3040  	}
  3041  
  3042  	if input == nil {
  3043  		input = &UpdateConfigurationInput{}
  3044  	}
  3045  
  3046  	output = &UpdateConfigurationOutput{}
  3047  	req = c.newRequest(op, input, output)
  3048  	return
  3049  }
  3050  
  3051  // UpdateConfiguration API operation for Managed Streaming for Kafka.
  3052  //
  3053  // Updates an existing MSK configuration. The configuration must be in the Active
  3054  // state.
  3055  //
  3056  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3057  // with awserr.Error's Code and Message methods to get detailed information about
  3058  // the error.
  3059  //
  3060  // See the AWS API reference guide for Managed Streaming for Kafka's
  3061  // API operation UpdateConfiguration for usage and error information.
  3062  //
  3063  // Returned Error Types:
  3064  //   * ServiceUnavailableException
  3065  //   Returns information about an error.
  3066  //
  3067  //   * BadRequestException
  3068  //   Returns information about an error.
  3069  //
  3070  //   * UnauthorizedException
  3071  //   Returns information about an error.
  3072  //
  3073  //   * InternalServerErrorException
  3074  //   Returns information about an error.
  3075  //
  3076  //   * ForbiddenException
  3077  //   Returns information about an error.
  3078  //
  3079  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/UpdateConfiguration
  3080  func (c *Kafka) UpdateConfiguration(input *UpdateConfigurationInput) (*UpdateConfigurationOutput, error) {
  3081  	req, out := c.UpdateConfigurationRequest(input)
  3082  	return out, req.Send()
  3083  }
  3084  
  3085  // UpdateConfigurationWithContext is the same as UpdateConfiguration with the addition of
  3086  // the ability to pass a context and additional request options.
  3087  //
  3088  // See UpdateConfiguration for details on how to use this API operation.
  3089  //
  3090  // The context must be non-nil and will be used for request cancellation. If
  3091  // the context is nil a panic will occur. In the future the SDK may create
  3092  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3093  // for more information on using Contexts.
  3094  func (c *Kafka) UpdateConfigurationWithContext(ctx aws.Context, input *UpdateConfigurationInput, opts ...request.Option) (*UpdateConfigurationOutput, error) {
  3095  	req, out := c.UpdateConfigurationRequest(input)
  3096  	req.SetContext(ctx)
  3097  	req.ApplyOptions(opts...)
  3098  	return out, req.Send()
  3099  }
  3100  
  3101  const opUpdateMonitoring = "UpdateMonitoring"
  3102  
  3103  // UpdateMonitoringRequest generates a "aws/request.Request" representing the
  3104  // client's request for the UpdateMonitoring operation. The "output" return
  3105  // value will be populated with the request's response once the request completes
  3106  // successfully.
  3107  //
  3108  // Use "Send" method on the returned Request to send the API call to the service.
  3109  // the "output" return value is not valid until after Send returns without error.
  3110  //
  3111  // See UpdateMonitoring for more information on using the UpdateMonitoring
  3112  // API call, and error handling.
  3113  //
  3114  // This method is useful when you want to inject custom logic or configuration
  3115  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3116  //
  3117  //
  3118  //    // Example sending a request using the UpdateMonitoringRequest method.
  3119  //    req, resp := client.UpdateMonitoringRequest(params)
  3120  //
  3121  //    err := req.Send()
  3122  //    if err == nil { // resp is now filled
  3123  //        fmt.Println(resp)
  3124  //    }
  3125  //
  3126  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/UpdateMonitoring
  3127  func (c *Kafka) UpdateMonitoringRequest(input *UpdateMonitoringInput) (req *request.Request, output *UpdateMonitoringOutput) {
  3128  	op := &request.Operation{
  3129  		Name:       opUpdateMonitoring,
  3130  		HTTPMethod: "PUT",
  3131  		HTTPPath:   "/v1/clusters/{clusterArn}/monitoring",
  3132  	}
  3133  
  3134  	if input == nil {
  3135  		input = &UpdateMonitoringInput{}
  3136  	}
  3137  
  3138  	output = &UpdateMonitoringOutput{}
  3139  	req = c.newRequest(op, input, output)
  3140  	return
  3141  }
  3142  
  3143  // UpdateMonitoring API operation for Managed Streaming for Kafka.
  3144  //
  3145  // Updates the monitoring settings for the cluster. You can use this operation
  3146  // to specify which Apache Kafka metrics you want Amazon MSK to send to Amazon
  3147  // CloudWatch. You can also specify settings for open monitoring with Prometheus.
  3148  //
  3149  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3150  // with awserr.Error's Code and Message methods to get detailed information about
  3151  // the error.
  3152  //
  3153  // See the AWS API reference guide for Managed Streaming for Kafka's
  3154  // API operation UpdateMonitoring for usage and error information.
  3155  //
  3156  // Returned Error Types:
  3157  //   * ServiceUnavailableException
  3158  //   Returns information about an error.
  3159  //
  3160  //   * BadRequestException
  3161  //   Returns information about an error.
  3162  //
  3163  //   * UnauthorizedException
  3164  //   Returns information about an error.
  3165  //
  3166  //   * InternalServerErrorException
  3167  //   Returns information about an error.
  3168  //
  3169  //   * ForbiddenException
  3170  //   Returns information about an error.
  3171  //
  3172  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/UpdateMonitoring
  3173  func (c *Kafka) UpdateMonitoring(input *UpdateMonitoringInput) (*UpdateMonitoringOutput, error) {
  3174  	req, out := c.UpdateMonitoringRequest(input)
  3175  	return out, req.Send()
  3176  }
  3177  
  3178  // UpdateMonitoringWithContext is the same as UpdateMonitoring with the addition of
  3179  // the ability to pass a context and additional request options.
  3180  //
  3181  // See UpdateMonitoring for details on how to use this API operation.
  3182  //
  3183  // The context must be non-nil and will be used for request cancellation. If
  3184  // the context is nil a panic will occur. In the future the SDK may create
  3185  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3186  // for more information on using Contexts.
  3187  func (c *Kafka) UpdateMonitoringWithContext(ctx aws.Context, input *UpdateMonitoringInput, opts ...request.Option) (*UpdateMonitoringOutput, error) {
  3188  	req, out := c.UpdateMonitoringRequest(input)
  3189  	req.SetContext(ctx)
  3190  	req.ApplyOptions(opts...)
  3191  	return out, req.Send()
  3192  }
  3193  
  3194  const opUpdateSecurity = "UpdateSecurity"
  3195  
  3196  // UpdateSecurityRequest generates a "aws/request.Request" representing the
  3197  // client's request for the UpdateSecurity operation. The "output" return
  3198  // value will be populated with the request's response once the request completes
  3199  // successfully.
  3200  //
  3201  // Use "Send" method on the returned Request to send the API call to the service.
  3202  // the "output" return value is not valid until after Send returns without error.
  3203  //
  3204  // See UpdateSecurity for more information on using the UpdateSecurity
  3205  // API call, and error handling.
  3206  //
  3207  // This method is useful when you want to inject custom logic or configuration
  3208  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3209  //
  3210  //
  3211  //    // Example sending a request using the UpdateSecurityRequest method.
  3212  //    req, resp := client.UpdateSecurityRequest(params)
  3213  //
  3214  //    err := req.Send()
  3215  //    if err == nil { // resp is now filled
  3216  //        fmt.Println(resp)
  3217  //    }
  3218  //
  3219  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/UpdateSecurity
  3220  func (c *Kafka) UpdateSecurityRequest(input *UpdateSecurityInput) (req *request.Request, output *UpdateSecurityOutput) {
  3221  	op := &request.Operation{
  3222  		Name:       opUpdateSecurity,
  3223  		HTTPMethod: "PATCH",
  3224  		HTTPPath:   "/v1/clusters/{clusterArn}/security",
  3225  	}
  3226  
  3227  	if input == nil {
  3228  		input = &UpdateSecurityInput{}
  3229  	}
  3230  
  3231  	output = &UpdateSecurityOutput{}
  3232  	req = c.newRequest(op, input, output)
  3233  	return
  3234  }
  3235  
  3236  // UpdateSecurity API operation for Managed Streaming for Kafka.
  3237  //
  3238  // You can use this operation to update the encrypting and authentication settings
  3239  // for an existing cluster.
  3240  //
  3241  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3242  // with awserr.Error's Code and Message methods to get detailed information about
  3243  // the error.
  3244  //
  3245  // See the AWS API reference guide for Managed Streaming for Kafka's
  3246  // API operation UpdateSecurity for usage and error information.
  3247  //
  3248  // Returned Error Types:
  3249  //   * BadRequestException
  3250  //   Returns information about an error.
  3251  //
  3252  //   * UnauthorizedException
  3253  //   Returns information about an error.
  3254  //
  3255  //   * InternalServerErrorException
  3256  //   Returns information about an error.
  3257  //
  3258  //   * ForbiddenException
  3259  //   Returns information about an error.
  3260  //
  3261  //   * NotFoundException
  3262  //   Returns information about an error.
  3263  //
  3264  //   * ServiceUnavailableException
  3265  //   Returns information about an error.
  3266  //
  3267  //   * TooManyRequestsException
  3268  //   Returns information about an error.
  3269  //
  3270  // See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/UpdateSecurity
  3271  func (c *Kafka) UpdateSecurity(input *UpdateSecurityInput) (*UpdateSecurityOutput, error) {
  3272  	req, out := c.UpdateSecurityRequest(input)
  3273  	return out, req.Send()
  3274  }
  3275  
  3276  // UpdateSecurityWithContext is the same as UpdateSecurity with the addition of
  3277  // the ability to pass a context and additional request options.
  3278  //
  3279  // See UpdateSecurity for details on how to use this API operation.
  3280  //
  3281  // The context must be non-nil and will be used for request cancellation. If
  3282  // the context is nil a panic will occur. In the future the SDK may create
  3283  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3284  // for more information on using Contexts.
  3285  func (c *Kafka) UpdateSecurityWithContext(ctx aws.Context, input *UpdateSecurityInput, opts ...request.Option) (*UpdateSecurityOutput, error) {
  3286  	req, out := c.UpdateSecurityRequest(input)
  3287  	req.SetContext(ctx)
  3288  	req.ApplyOptions(opts...)
  3289  	return out, req.Send()
  3290  }
  3291  
  3292  // Returns information about an error.
  3293  type BadRequestException struct {
  3294  	_            struct{}                  `type:"structure"`
  3295  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3296  
  3297  	InvalidParameter *string `locationName:"invalidParameter" type:"string"`
  3298  
  3299  	Message_ *string `locationName:"message" type:"string"`
  3300  }
  3301  
  3302  // String returns the string representation.
  3303  //
  3304  // API parameter values that are decorated as "sensitive" in the API will not
  3305  // be included in the string output. The member name will be present, but the
  3306  // value will be replaced with "sensitive".
  3307  func (s BadRequestException) String() string {
  3308  	return awsutil.Prettify(s)
  3309  }
  3310  
  3311  // GoString returns the string representation.
  3312  //
  3313  // API parameter values that are decorated as "sensitive" in the API will not
  3314  // be included in the string output. The member name will be present, but the
  3315  // value will be replaced with "sensitive".
  3316  func (s BadRequestException) GoString() string {
  3317  	return s.String()
  3318  }
  3319  
  3320  func newErrorBadRequestException(v protocol.ResponseMetadata) error {
  3321  	return &BadRequestException{
  3322  		RespMetadata: v,
  3323  	}
  3324  }
  3325  
  3326  // Code returns the exception type name.
  3327  func (s *BadRequestException) Code() string {
  3328  	return "BadRequestException"
  3329  }
  3330  
  3331  // Message returns the exception's message.
  3332  func (s *BadRequestException) Message() string {
  3333  	if s.Message_ != nil {
  3334  		return *s.Message_
  3335  	}
  3336  	return ""
  3337  }
  3338  
  3339  // OrigErr always returns nil, satisfies awserr.Error interface.
  3340  func (s *BadRequestException) OrigErr() error {
  3341  	return nil
  3342  }
  3343  
  3344  func (s *BadRequestException) Error() string {
  3345  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  3346  }
  3347  
  3348  // Status code returns the HTTP status code for the request's response error.
  3349  func (s *BadRequestException) StatusCode() int {
  3350  	return s.RespMetadata.StatusCode
  3351  }
  3352  
  3353  // RequestID returns the service's response RequestID for request.
  3354  func (s *BadRequestException) RequestID() string {
  3355  	return s.RespMetadata.RequestID
  3356  }
  3357  
  3358  // Request body for BatchAssociateScramSecret.
  3359  type BatchAssociateScramSecretInput struct {
  3360  	_ struct{} `type:"structure"`
  3361  
  3362  	// ClusterArn is a required field
  3363  	ClusterArn *string `location:"uri" locationName:"clusterArn" type:"string" required:"true"`
  3364  
  3365  	// List of AWS Secrets Manager secret ARNs.
  3366  	//
  3367  	// SecretArnList is a required field
  3368  	SecretArnList []*string `locationName:"secretArnList" type:"list" required:"true"`
  3369  }
  3370  
  3371  // String returns the string representation.
  3372  //
  3373  // API parameter values that are decorated as "sensitive" in the API will not
  3374  // be included in the string output. The member name will be present, but the
  3375  // value will be replaced with "sensitive".
  3376  func (s BatchAssociateScramSecretInput) String() string {
  3377  	return awsutil.Prettify(s)
  3378  }
  3379  
  3380  // GoString returns the string representation.
  3381  //
  3382  // API parameter values that are decorated as "sensitive" in the API will not
  3383  // be included in the string output. The member name will be present, but the
  3384  // value will be replaced with "sensitive".
  3385  func (s BatchAssociateScramSecretInput) GoString() string {
  3386  	return s.String()
  3387  }
  3388  
  3389  // Validate inspects the fields of the type to determine if they are valid.
  3390  func (s *BatchAssociateScramSecretInput) Validate() error {
  3391  	invalidParams := request.ErrInvalidParams{Context: "BatchAssociateScramSecretInput"}
  3392  	if s.ClusterArn == nil {
  3393  		invalidParams.Add(request.NewErrParamRequired("ClusterArn"))
  3394  	}
  3395  	if s.ClusterArn != nil && len(*s.ClusterArn) < 1 {
  3396  		invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1))
  3397  	}
  3398  	if s.SecretArnList == nil {
  3399  		invalidParams.Add(request.NewErrParamRequired("SecretArnList"))
  3400  	}
  3401  
  3402  	if invalidParams.Len() > 0 {
  3403  		return invalidParams
  3404  	}
  3405  	return nil
  3406  }
  3407  
  3408  // SetClusterArn sets the ClusterArn field's value.
  3409  func (s *BatchAssociateScramSecretInput) SetClusterArn(v string) *BatchAssociateScramSecretInput {
  3410  	s.ClusterArn = &v
  3411  	return s
  3412  }
  3413  
  3414  // SetSecretArnList sets the SecretArnList field's value.
  3415  func (s *BatchAssociateScramSecretInput) SetSecretArnList(v []*string) *BatchAssociateScramSecretInput {
  3416  	s.SecretArnList = v
  3417  	return s
  3418  }
  3419  
  3420  // Response body for BatchAssociateScramSecret.
  3421  type BatchAssociateScramSecretOutput struct {
  3422  	_ struct{} `type:"structure"`
  3423  
  3424  	// The Amazon Resource Name (ARN) of the cluster.
  3425  	ClusterArn *string `locationName:"clusterArn" type:"string"`
  3426  
  3427  	// List of errors when associating secrets to cluster.
  3428  	UnprocessedScramSecrets []*UnprocessedScramSecret `locationName:"unprocessedScramSecrets" type:"list"`
  3429  }
  3430  
  3431  // String returns the string representation.
  3432  //
  3433  // API parameter values that are decorated as "sensitive" in the API will not
  3434  // be included in the string output. The member name will be present, but the
  3435  // value will be replaced with "sensitive".
  3436  func (s BatchAssociateScramSecretOutput) String() string {
  3437  	return awsutil.Prettify(s)
  3438  }
  3439  
  3440  // GoString returns the string representation.
  3441  //
  3442  // API parameter values that are decorated as "sensitive" in the API will not
  3443  // be included in the string output. The member name will be present, but the
  3444  // value will be replaced with "sensitive".
  3445  func (s BatchAssociateScramSecretOutput) GoString() string {
  3446  	return s.String()
  3447  }
  3448  
  3449  // SetClusterArn sets the ClusterArn field's value.
  3450  func (s *BatchAssociateScramSecretOutput) SetClusterArn(v string) *BatchAssociateScramSecretOutput {
  3451  	s.ClusterArn = &v
  3452  	return s
  3453  }
  3454  
  3455  // SetUnprocessedScramSecrets sets the UnprocessedScramSecrets field's value.
  3456  func (s *BatchAssociateScramSecretOutput) SetUnprocessedScramSecrets(v []*UnprocessedScramSecret) *BatchAssociateScramSecretOutput {
  3457  	s.UnprocessedScramSecrets = v
  3458  	return s
  3459  }
  3460  
  3461  // Request body for BatchDisassociateScramSecret.
  3462  type BatchDisassociateScramSecretInput struct {
  3463  	_ struct{} `type:"structure"`
  3464  
  3465  	// ClusterArn is a required field
  3466  	ClusterArn *string `location:"uri" locationName:"clusterArn" type:"string" required:"true"`
  3467  
  3468  	// List of AWS Secrets Manager secret ARNs.
  3469  	//
  3470  	// SecretArnList is a required field
  3471  	SecretArnList []*string `locationName:"secretArnList" type:"list" required:"true"`
  3472  }
  3473  
  3474  // String returns the string representation.
  3475  //
  3476  // API parameter values that are decorated as "sensitive" in the API will not
  3477  // be included in the string output. The member name will be present, but the
  3478  // value will be replaced with "sensitive".
  3479  func (s BatchDisassociateScramSecretInput) String() string {
  3480  	return awsutil.Prettify(s)
  3481  }
  3482  
  3483  // GoString returns the string representation.
  3484  //
  3485  // API parameter values that are decorated as "sensitive" in the API will not
  3486  // be included in the string output. The member name will be present, but the
  3487  // value will be replaced with "sensitive".
  3488  func (s BatchDisassociateScramSecretInput) GoString() string {
  3489  	return s.String()
  3490  }
  3491  
  3492  // Validate inspects the fields of the type to determine if they are valid.
  3493  func (s *BatchDisassociateScramSecretInput) Validate() error {
  3494  	invalidParams := request.ErrInvalidParams{Context: "BatchDisassociateScramSecretInput"}
  3495  	if s.ClusterArn == nil {
  3496  		invalidParams.Add(request.NewErrParamRequired("ClusterArn"))
  3497  	}
  3498  	if s.ClusterArn != nil && len(*s.ClusterArn) < 1 {
  3499  		invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1))
  3500  	}
  3501  	if s.SecretArnList == nil {
  3502  		invalidParams.Add(request.NewErrParamRequired("SecretArnList"))
  3503  	}
  3504  
  3505  	if invalidParams.Len() > 0 {
  3506  		return invalidParams
  3507  	}
  3508  	return nil
  3509  }
  3510  
  3511  // SetClusterArn sets the ClusterArn field's value.
  3512  func (s *BatchDisassociateScramSecretInput) SetClusterArn(v string) *BatchDisassociateScramSecretInput {
  3513  	s.ClusterArn = &v
  3514  	return s
  3515  }
  3516  
  3517  // SetSecretArnList sets the SecretArnList field's value.
  3518  func (s *BatchDisassociateScramSecretInput) SetSecretArnList(v []*string) *BatchDisassociateScramSecretInput {
  3519  	s.SecretArnList = v
  3520  	return s
  3521  }
  3522  
  3523  // Response body for BatchDisassociateScramSecret.
  3524  type BatchDisassociateScramSecretOutput struct {
  3525  	_ struct{} `type:"structure"`
  3526  
  3527  	// The Amazon Resource Name (ARN) of the cluster.
  3528  	ClusterArn *string `locationName:"clusterArn" type:"string"`
  3529  
  3530  	// List of errors when disassociating secrets to cluster.
  3531  	UnprocessedScramSecrets []*UnprocessedScramSecret `locationName:"unprocessedScramSecrets" type:"list"`
  3532  }
  3533  
  3534  // String returns the string representation.
  3535  //
  3536  // API parameter values that are decorated as "sensitive" in the API will not
  3537  // be included in the string output. The member name will be present, but the
  3538  // value will be replaced with "sensitive".
  3539  func (s BatchDisassociateScramSecretOutput) String() string {
  3540  	return awsutil.Prettify(s)
  3541  }
  3542  
  3543  // GoString returns the string representation.
  3544  //
  3545  // API parameter values that are decorated as "sensitive" in the API will not
  3546  // be included in the string output. The member name will be present, but the
  3547  // value will be replaced with "sensitive".
  3548  func (s BatchDisassociateScramSecretOutput) GoString() string {
  3549  	return s.String()
  3550  }
  3551  
  3552  // SetClusterArn sets the ClusterArn field's value.
  3553  func (s *BatchDisassociateScramSecretOutput) SetClusterArn(v string) *BatchDisassociateScramSecretOutput {
  3554  	s.ClusterArn = &v
  3555  	return s
  3556  }
  3557  
  3558  // SetUnprocessedScramSecrets sets the UnprocessedScramSecrets field's value.
  3559  func (s *BatchDisassociateScramSecretOutput) SetUnprocessedScramSecrets(v []*UnprocessedScramSecret) *BatchDisassociateScramSecretOutput {
  3560  	s.UnprocessedScramSecrets = v
  3561  	return s
  3562  }
  3563  
  3564  // Specifies the EBS volume upgrade information. The broker identifier must
  3565  // be set to the keyword ALL. This means the changes apply to all the brokers
  3566  // in the cluster.
  3567  type BrokerEBSVolumeInfo struct {
  3568  	_ struct{} `type:"structure"`
  3569  
  3570  	// The ID of the broker to update.
  3571  	//
  3572  	// KafkaBrokerNodeId is a required field
  3573  	KafkaBrokerNodeId *string `locationName:"kafkaBrokerNodeId" type:"string" required:"true"`
  3574  
  3575  	// Size of the EBS volume to update.
  3576  	//
  3577  	// VolumeSizeGB is a required field
  3578  	VolumeSizeGB *int64 `locationName:"volumeSizeGB" type:"integer" required:"true"`
  3579  }
  3580  
  3581  // String returns the string representation.
  3582  //
  3583  // API parameter values that are decorated as "sensitive" in the API will not
  3584  // be included in the string output. The member name will be present, but the
  3585  // value will be replaced with "sensitive".
  3586  func (s BrokerEBSVolumeInfo) String() string {
  3587  	return awsutil.Prettify(s)
  3588  }
  3589  
  3590  // GoString returns the string representation.
  3591  //
  3592  // API parameter values that are decorated as "sensitive" in the API will not
  3593  // be included in the string output. The member name will be present, but the
  3594  // value will be replaced with "sensitive".
  3595  func (s BrokerEBSVolumeInfo) GoString() string {
  3596  	return s.String()
  3597  }
  3598  
  3599  // Validate inspects the fields of the type to determine if they are valid.
  3600  func (s *BrokerEBSVolumeInfo) Validate() error {
  3601  	invalidParams := request.ErrInvalidParams{Context: "BrokerEBSVolumeInfo"}
  3602  	if s.KafkaBrokerNodeId == nil {
  3603  		invalidParams.Add(request.NewErrParamRequired("KafkaBrokerNodeId"))
  3604  	}
  3605  	if s.VolumeSizeGB == nil {
  3606  		invalidParams.Add(request.NewErrParamRequired("VolumeSizeGB"))
  3607  	}
  3608  
  3609  	if invalidParams.Len() > 0 {
  3610  		return invalidParams
  3611  	}
  3612  	return nil
  3613  }
  3614  
  3615  // SetKafkaBrokerNodeId sets the KafkaBrokerNodeId field's value.
  3616  func (s *BrokerEBSVolumeInfo) SetKafkaBrokerNodeId(v string) *BrokerEBSVolumeInfo {
  3617  	s.KafkaBrokerNodeId = &v
  3618  	return s
  3619  }
  3620  
  3621  // SetVolumeSizeGB sets the VolumeSizeGB field's value.
  3622  func (s *BrokerEBSVolumeInfo) SetVolumeSizeGB(v int64) *BrokerEBSVolumeInfo {
  3623  	s.VolumeSizeGB = &v
  3624  	return s
  3625  }
  3626  
  3627  // The broker logs configuration for this MSK cluster.
  3628  type BrokerLogs struct {
  3629  	_ struct{} `type:"structure"`
  3630  
  3631  	// Details of the CloudWatch Logs destination for broker logs.
  3632  	CloudWatchLogs *CloudWatchLogs `locationName:"cloudWatchLogs" type:"structure"`
  3633  
  3634  	// Details of the Kinesis Data Firehose delivery stream that is the destination
  3635  	// for broker logs.
  3636  	Firehose *Firehose `locationName:"firehose" type:"structure"`
  3637  
  3638  	// Details of the Amazon S3 destination for broker logs.
  3639  	S3 *S3 `locationName:"s3" type:"structure"`
  3640  }
  3641  
  3642  // String 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 BrokerLogs) String() string {
  3648  	return awsutil.Prettify(s)
  3649  }
  3650  
  3651  // GoString returns the string representation.
  3652  //
  3653  // API parameter values that are decorated as "sensitive" in the API will not
  3654  // be included in the string output. The member name will be present, but the
  3655  // value will be replaced with "sensitive".
  3656  func (s BrokerLogs) GoString() string {
  3657  	return s.String()
  3658  }
  3659  
  3660  // Validate inspects the fields of the type to determine if they are valid.
  3661  func (s *BrokerLogs) Validate() error {
  3662  	invalidParams := request.ErrInvalidParams{Context: "BrokerLogs"}
  3663  	if s.CloudWatchLogs != nil {
  3664  		if err := s.CloudWatchLogs.Validate(); err != nil {
  3665  			invalidParams.AddNested("CloudWatchLogs", err.(request.ErrInvalidParams))
  3666  		}
  3667  	}
  3668  	if s.Firehose != nil {
  3669  		if err := s.Firehose.Validate(); err != nil {
  3670  			invalidParams.AddNested("Firehose", err.(request.ErrInvalidParams))
  3671  		}
  3672  	}
  3673  	if s.S3 != nil {
  3674  		if err := s.S3.Validate(); err != nil {
  3675  			invalidParams.AddNested("S3", err.(request.ErrInvalidParams))
  3676  		}
  3677  	}
  3678  
  3679  	if invalidParams.Len() > 0 {
  3680  		return invalidParams
  3681  	}
  3682  	return nil
  3683  }
  3684  
  3685  // SetCloudWatchLogs sets the CloudWatchLogs field's value.
  3686  func (s *BrokerLogs) SetCloudWatchLogs(v *CloudWatchLogs) *BrokerLogs {
  3687  	s.CloudWatchLogs = v
  3688  	return s
  3689  }
  3690  
  3691  // SetFirehose sets the Firehose field's value.
  3692  func (s *BrokerLogs) SetFirehose(v *Firehose) *BrokerLogs {
  3693  	s.Firehose = v
  3694  	return s
  3695  }
  3696  
  3697  // SetS3 sets the S3 field's value.
  3698  func (s *BrokerLogs) SetS3(v *S3) *BrokerLogs {
  3699  	s.S3 = v
  3700  	return s
  3701  }
  3702  
  3703  // Describes the setup to be used for Kafka broker nodes in the cluster.
  3704  type BrokerNodeGroupInfo struct {
  3705  	_ struct{} `type:"structure"`
  3706  
  3707  	// The distribution of broker nodes across Availability Zones.
  3708  	BrokerAZDistribution *string `locationName:"brokerAZDistribution" type:"string" enum:"BrokerAZDistribution"`
  3709  
  3710  	// The list of subnets to connect to in the client virtual private cloud (VPC).
  3711  	// AWS creates elastic network interfaces inside these subnets. Client applications
  3712  	// use elastic network interfaces to produce and consume data. Client subnets
  3713  	// can't be in Availability Zone us-east-1e.
  3714  	//
  3715  	// ClientSubnets is a required field
  3716  	ClientSubnets []*string `locationName:"clientSubnets" type:"list" required:"true"`
  3717  
  3718  	// The type of broker used in the Amazon MSK cluster.
  3719  	//
  3720  	// InstanceType is a required field
  3721  	InstanceType *string `locationName:"instanceType" min:"5" type:"string" required:"true"`
  3722  
  3723  	// The AWS security groups to associate with the elastic network interfaces
  3724  	// in order to specify who can connect to and communicate with the Amazon MSK
  3725  	// cluster. If you don't specify a security group, Amazon MSK uses the default
  3726  	// security group associated with the VPC. If you specify security groups that
  3727  	// were shared with you, you must ensure that you have permissions to them.
  3728  	// Specifically, you need the ec2:DescribeSecurityGroups permission.
  3729  	SecurityGroups []*string `locationName:"securityGroups" type:"list"`
  3730  
  3731  	// Contains information about storage volumes attached to MSK broker nodes.
  3732  	StorageInfo *StorageInfo `locationName:"storageInfo" type:"structure"`
  3733  }
  3734  
  3735  // String returns the string representation.
  3736  //
  3737  // API parameter values that are decorated as "sensitive" in the API will not
  3738  // be included in the string output. The member name will be present, but the
  3739  // value will be replaced with "sensitive".
  3740  func (s BrokerNodeGroupInfo) String() string {
  3741  	return awsutil.Prettify(s)
  3742  }
  3743  
  3744  // GoString returns the string representation.
  3745  //
  3746  // API parameter values that are decorated as "sensitive" in the API will not
  3747  // be included in the string output. The member name will be present, but the
  3748  // value will be replaced with "sensitive".
  3749  func (s BrokerNodeGroupInfo) GoString() string {
  3750  	return s.String()
  3751  }
  3752  
  3753  // Validate inspects the fields of the type to determine if they are valid.
  3754  func (s *BrokerNodeGroupInfo) Validate() error {
  3755  	invalidParams := request.ErrInvalidParams{Context: "BrokerNodeGroupInfo"}
  3756  	if s.ClientSubnets == nil {
  3757  		invalidParams.Add(request.NewErrParamRequired("ClientSubnets"))
  3758  	}
  3759  	if s.InstanceType == nil {
  3760  		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
  3761  	}
  3762  	if s.InstanceType != nil && len(*s.InstanceType) < 5 {
  3763  		invalidParams.Add(request.NewErrParamMinLen("InstanceType", 5))
  3764  	}
  3765  	if s.StorageInfo != nil {
  3766  		if err := s.StorageInfo.Validate(); err != nil {
  3767  			invalidParams.AddNested("StorageInfo", err.(request.ErrInvalidParams))
  3768  		}
  3769  	}
  3770  
  3771  	if invalidParams.Len() > 0 {
  3772  		return invalidParams
  3773  	}
  3774  	return nil
  3775  }
  3776  
  3777  // SetBrokerAZDistribution sets the BrokerAZDistribution field's value.
  3778  func (s *BrokerNodeGroupInfo) SetBrokerAZDistribution(v string) *BrokerNodeGroupInfo {
  3779  	s.BrokerAZDistribution = &v
  3780  	return s
  3781  }
  3782  
  3783  // SetClientSubnets sets the ClientSubnets field's value.
  3784  func (s *BrokerNodeGroupInfo) SetClientSubnets(v []*string) *BrokerNodeGroupInfo {
  3785  	s.ClientSubnets = v
  3786  	return s
  3787  }
  3788  
  3789  // SetInstanceType sets the InstanceType field's value.
  3790  func (s *BrokerNodeGroupInfo) SetInstanceType(v string) *BrokerNodeGroupInfo {
  3791  	s.InstanceType = &v
  3792  	return s
  3793  }
  3794  
  3795  // SetSecurityGroups sets the SecurityGroups field's value.
  3796  func (s *BrokerNodeGroupInfo) SetSecurityGroups(v []*string) *BrokerNodeGroupInfo {
  3797  	s.SecurityGroups = v
  3798  	return s
  3799  }
  3800  
  3801  // SetStorageInfo sets the StorageInfo field's value.
  3802  func (s *BrokerNodeGroupInfo) SetStorageInfo(v *StorageInfo) *BrokerNodeGroupInfo {
  3803  	s.StorageInfo = v
  3804  	return s
  3805  }
  3806  
  3807  // BrokerNodeInfo
  3808  type BrokerNodeInfo struct {
  3809  	_ struct{} `type:"structure"`
  3810  
  3811  	// The attached elastic network interface of the broker.
  3812  	AttachedENIId *string `locationName:"attachedENIId" type:"string"`
  3813  
  3814  	// The ID of the broker.
  3815  	BrokerId *float64 `locationName:"brokerId" type:"double"`
  3816  
  3817  	// The client subnet to which this broker node belongs.
  3818  	ClientSubnet *string `locationName:"clientSubnet" type:"string"`
  3819  
  3820  	// The virtual private cloud (VPC) of the client.
  3821  	ClientVpcIpAddress *string `locationName:"clientVpcIpAddress" type:"string"`
  3822  
  3823  	// Information about the version of software currently deployed on the Kafka
  3824  	// brokers in the cluster.
  3825  	CurrentBrokerSoftwareInfo *BrokerSoftwareInfo `locationName:"currentBrokerSoftwareInfo" type:"structure"`
  3826  
  3827  	// Endpoints for accessing the broker.
  3828  	Endpoints []*string `locationName:"endpoints" type:"list"`
  3829  }
  3830  
  3831  // String 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 BrokerNodeInfo) String() string {
  3837  	return awsutil.Prettify(s)
  3838  }
  3839  
  3840  // GoString returns the string representation.
  3841  //
  3842  // API parameter values that are decorated as "sensitive" in the API will not
  3843  // be included in the string output. The member name will be present, but the
  3844  // value will be replaced with "sensitive".
  3845  func (s BrokerNodeInfo) GoString() string {
  3846  	return s.String()
  3847  }
  3848  
  3849  // SetAttachedENIId sets the AttachedENIId field's value.
  3850  func (s *BrokerNodeInfo) SetAttachedENIId(v string) *BrokerNodeInfo {
  3851  	s.AttachedENIId = &v
  3852  	return s
  3853  }
  3854  
  3855  // SetBrokerId sets the BrokerId field's value.
  3856  func (s *BrokerNodeInfo) SetBrokerId(v float64) *BrokerNodeInfo {
  3857  	s.BrokerId = &v
  3858  	return s
  3859  }
  3860  
  3861  // SetClientSubnet sets the ClientSubnet field's value.
  3862  func (s *BrokerNodeInfo) SetClientSubnet(v string) *BrokerNodeInfo {
  3863  	s.ClientSubnet = &v
  3864  	return s
  3865  }
  3866  
  3867  // SetClientVpcIpAddress sets the ClientVpcIpAddress field's value.
  3868  func (s *BrokerNodeInfo) SetClientVpcIpAddress(v string) *BrokerNodeInfo {
  3869  	s.ClientVpcIpAddress = &v
  3870  	return s
  3871  }
  3872  
  3873  // SetCurrentBrokerSoftwareInfo sets the CurrentBrokerSoftwareInfo field's value.
  3874  func (s *BrokerNodeInfo) SetCurrentBrokerSoftwareInfo(v *BrokerSoftwareInfo) *BrokerNodeInfo {
  3875  	s.CurrentBrokerSoftwareInfo = v
  3876  	return s
  3877  }
  3878  
  3879  // SetEndpoints sets the Endpoints field's value.
  3880  func (s *BrokerNodeInfo) SetEndpoints(v []*string) *BrokerNodeInfo {
  3881  	s.Endpoints = v
  3882  	return s
  3883  }
  3884  
  3885  // Information about the current software installed on the cluster.
  3886  type BrokerSoftwareInfo struct {
  3887  	_ struct{} `type:"structure"`
  3888  
  3889  	// The Amazon Resource Name (ARN) of the configuration used for the cluster.
  3890  	// This field isn't visible in this preview release.
  3891  	ConfigurationArn *string `locationName:"configurationArn" type:"string"`
  3892  
  3893  	// The revision of the configuration to use. This field isn't visible in this
  3894  	// preview release.
  3895  	ConfigurationRevision *int64 `locationName:"configurationRevision" type:"long"`
  3896  
  3897  	// The version of Apache Kafka.
  3898  	KafkaVersion *string `locationName:"kafkaVersion" type:"string"`
  3899  }
  3900  
  3901  // String returns the string representation.
  3902  //
  3903  // API parameter values that are decorated as "sensitive" in the API will not
  3904  // be included in the string output. The member name will be present, but the
  3905  // value will be replaced with "sensitive".
  3906  func (s BrokerSoftwareInfo) String() string {
  3907  	return awsutil.Prettify(s)
  3908  }
  3909  
  3910  // GoString returns the string representation.
  3911  //
  3912  // API parameter values that are decorated as "sensitive" in the API will not
  3913  // be included in the string output. The member name will be present, but the
  3914  // value will be replaced with "sensitive".
  3915  func (s BrokerSoftwareInfo) GoString() string {
  3916  	return s.String()
  3917  }
  3918  
  3919  // SetConfigurationArn sets the ConfigurationArn field's value.
  3920  func (s *BrokerSoftwareInfo) SetConfigurationArn(v string) *BrokerSoftwareInfo {
  3921  	s.ConfigurationArn = &v
  3922  	return s
  3923  }
  3924  
  3925  // SetConfigurationRevision sets the ConfigurationRevision field's value.
  3926  func (s *BrokerSoftwareInfo) SetConfigurationRevision(v int64) *BrokerSoftwareInfo {
  3927  	s.ConfigurationRevision = &v
  3928  	return s
  3929  }
  3930  
  3931  // SetKafkaVersion sets the KafkaVersion field's value.
  3932  func (s *BrokerSoftwareInfo) SetKafkaVersion(v string) *BrokerSoftwareInfo {
  3933  	s.KafkaVersion = &v
  3934  	return s
  3935  }
  3936  
  3937  // Includes all client authentication information.
  3938  type ClientAuthentication struct {
  3939  	_ struct{} `type:"structure"`
  3940  
  3941  	Sasl *Sasl `locationName:"sasl" type:"structure"`
  3942  
  3943  	// Details for ClientAuthentication using TLS.
  3944  	Tls *Tls `locationName:"tls" type:"structure"`
  3945  
  3946  	// Contains information about unauthenticated traffic to the cluster.
  3947  	Unauthenticated *Unauthenticated `locationName:"unauthenticated" type:"structure"`
  3948  }
  3949  
  3950  // String returns the string representation.
  3951  //
  3952  // API parameter values that are decorated as "sensitive" in the API will not
  3953  // be included in the string output. The member name will be present, but the
  3954  // value will be replaced with "sensitive".
  3955  func (s ClientAuthentication) String() string {
  3956  	return awsutil.Prettify(s)
  3957  }
  3958  
  3959  // GoString returns the string representation.
  3960  //
  3961  // API parameter values that are decorated as "sensitive" in the API will not
  3962  // be included in the string output. The member name will be present, but the
  3963  // value will be replaced with "sensitive".
  3964  func (s ClientAuthentication) GoString() string {
  3965  	return s.String()
  3966  }
  3967  
  3968  // SetSasl sets the Sasl field's value.
  3969  func (s *ClientAuthentication) SetSasl(v *Sasl) *ClientAuthentication {
  3970  	s.Sasl = v
  3971  	return s
  3972  }
  3973  
  3974  // SetTls sets the Tls field's value.
  3975  func (s *ClientAuthentication) SetTls(v *Tls) *ClientAuthentication {
  3976  	s.Tls = v
  3977  	return s
  3978  }
  3979  
  3980  // SetUnauthenticated sets the Unauthenticated field's value.
  3981  func (s *ClientAuthentication) SetUnauthenticated(v *Unauthenticated) *ClientAuthentication {
  3982  	s.Unauthenticated = v
  3983  	return s
  3984  }
  3985  
  3986  // Details of the CloudWatch Logs destination for broker logs.
  3987  type CloudWatchLogs struct {
  3988  	_ struct{} `type:"structure"`
  3989  
  3990  	// Specifies whether broker logs get sent to the specified CloudWatch Logs destination.
  3991  	//
  3992  	// Enabled is a required field
  3993  	Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
  3994  
  3995  	// The CloudWatch log group that is the destination for broker logs.
  3996  	LogGroup *string `locationName:"logGroup" type:"string"`
  3997  }
  3998  
  3999  // String returns the string representation.
  4000  //
  4001  // API parameter values that are decorated as "sensitive" in the API will not
  4002  // be included in the string output. The member name will be present, but the
  4003  // value will be replaced with "sensitive".
  4004  func (s CloudWatchLogs) String() string {
  4005  	return awsutil.Prettify(s)
  4006  }
  4007  
  4008  // GoString returns the string representation.
  4009  //
  4010  // API parameter values that are decorated as "sensitive" in the API will not
  4011  // be included in the string output. The member name will be present, but the
  4012  // value will be replaced with "sensitive".
  4013  func (s CloudWatchLogs) GoString() string {
  4014  	return s.String()
  4015  }
  4016  
  4017  // Validate inspects the fields of the type to determine if they are valid.
  4018  func (s *CloudWatchLogs) Validate() error {
  4019  	invalidParams := request.ErrInvalidParams{Context: "CloudWatchLogs"}
  4020  	if s.Enabled == nil {
  4021  		invalidParams.Add(request.NewErrParamRequired("Enabled"))
  4022  	}
  4023  
  4024  	if invalidParams.Len() > 0 {
  4025  		return invalidParams
  4026  	}
  4027  	return nil
  4028  }
  4029  
  4030  // SetEnabled sets the Enabled field's value.
  4031  func (s *CloudWatchLogs) SetEnabled(v bool) *CloudWatchLogs {
  4032  	s.Enabled = &v
  4033  	return s
  4034  }
  4035  
  4036  // SetLogGroup sets the LogGroup field's value.
  4037  func (s *CloudWatchLogs) SetLogGroup(v string) *CloudWatchLogs {
  4038  	s.LogGroup = &v
  4039  	return s
  4040  }
  4041  
  4042  // Returns information about a cluster.
  4043  type ClusterInfo struct {
  4044  	_ struct{} `type:"structure"`
  4045  
  4046  	// Arn of active cluster operation.
  4047  	ActiveOperationArn *string `locationName:"activeOperationArn" type:"string"`
  4048  
  4049  	// Information about the brokers.
  4050  	BrokerNodeGroupInfo *BrokerNodeGroupInfo `locationName:"brokerNodeGroupInfo" type:"structure"`
  4051  
  4052  	// Includes all client authentication information.
  4053  	ClientAuthentication *ClientAuthentication `locationName:"clientAuthentication" type:"structure"`
  4054  
  4055  	// The Amazon Resource Name (ARN) that uniquely identifies the cluster.
  4056  	ClusterArn *string `locationName:"clusterArn" type:"string"`
  4057  
  4058  	// The name of the cluster.
  4059  	ClusterName *string `locationName:"clusterName" type:"string"`
  4060  
  4061  	// The time when the cluster was created.
  4062  	CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601"`
  4063  
  4064  	// Information about the version of software currently deployed on the Kafka
  4065  	// brokers in the cluster.
  4066  	CurrentBrokerSoftwareInfo *BrokerSoftwareInfo `locationName:"currentBrokerSoftwareInfo" type:"structure"`
  4067  
  4068  	// The current version of the MSK cluster. Cluster versions aren't simple integers.
  4069  	// You can obtain the current version by describing the cluster. An example
  4070  	// version is KTVPDKIKX0DER.
  4071  	CurrentVersion *string `locationName:"currentVersion" type:"string"`
  4072  
  4073  	// Includes all encryption-related information.
  4074  	EncryptionInfo *EncryptionInfo `locationName:"encryptionInfo" type:"structure"`
  4075  
  4076  	// Specifies which metrics are gathered for the MSK cluster. This property has
  4077  	// the following possible values: DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER,
  4078  	// and PER_TOPIC_PER_PARTITION. For a list of the metrics associated with each
  4079  	// of these levels of monitoring, see Monitoring (https://docs.aws.amazon.com/msk/latest/developerguide/monitoring.html).
  4080  	EnhancedMonitoring *string `locationName:"enhancedMonitoring" type:"string" enum:"EnhancedMonitoring"`
  4081  
  4082  	// You can configure your MSK cluster to send broker logs to different destination
  4083  	// types. This is a container for the configuration details related to broker
  4084  	// logs.
  4085  	LoggingInfo *LoggingInfo `locationName:"loggingInfo" type:"structure"`
  4086  
  4087  	// The number of broker nodes in the cluster.
  4088  	NumberOfBrokerNodes *int64 `locationName:"numberOfBrokerNodes" type:"integer"`
  4089  
  4090  	// Settings for open monitoring using Prometheus.
  4091  	OpenMonitoring *OpenMonitoring `locationName:"openMonitoring" type:"structure"`
  4092  
  4093  	// The state of the cluster. The possible states are ACTIVE, CREATING, DELETING,
  4094  	// FAILED, HEALING, MAINTENANCE, REBOOTING_BROKER, and UPDATING.
  4095  	State *string `locationName:"state" type:"string" enum:"ClusterState"`
  4096  
  4097  	// Contains information about the state of the Amazon MSK cluster.
  4098  	StateInfo *StateInfo `locationName:"stateInfo" type:"structure"`
  4099  
  4100  	// Tags attached to the cluster.
  4101  	Tags map[string]*string `locationName:"tags" type:"map"`
  4102  
  4103  	// The connection string to use to connect to the Apache ZooKeeper cluster.
  4104  	ZookeeperConnectString *string `locationName:"zookeeperConnectString" type:"string"`
  4105  
  4106  	// The connection string to use to connect to zookeeper cluster on Tls port.
  4107  	ZookeeperConnectStringTls *string `locationName:"zookeeperConnectStringTls" type:"string"`
  4108  }
  4109  
  4110  // String returns the string representation.
  4111  //
  4112  // API parameter values that are decorated as "sensitive" in the API will not
  4113  // be included in the string output. The member name will be present, but the
  4114  // value will be replaced with "sensitive".
  4115  func (s ClusterInfo) String() string {
  4116  	return awsutil.Prettify(s)
  4117  }
  4118  
  4119  // GoString returns the string representation.
  4120  //
  4121  // API parameter values that are decorated as "sensitive" in the API will not
  4122  // be included in the string output. The member name will be present, but the
  4123  // value will be replaced with "sensitive".
  4124  func (s ClusterInfo) GoString() string {
  4125  	return s.String()
  4126  }
  4127  
  4128  // SetActiveOperationArn sets the ActiveOperationArn field's value.
  4129  func (s *ClusterInfo) SetActiveOperationArn(v string) *ClusterInfo {
  4130  	s.ActiveOperationArn = &v
  4131  	return s
  4132  }
  4133  
  4134  // SetBrokerNodeGroupInfo sets the BrokerNodeGroupInfo field's value.
  4135  func (s *ClusterInfo) SetBrokerNodeGroupInfo(v *BrokerNodeGroupInfo) *ClusterInfo {
  4136  	s.BrokerNodeGroupInfo = v
  4137  	return s
  4138  }
  4139  
  4140  // SetClientAuthentication sets the ClientAuthentication field's value.
  4141  func (s *ClusterInfo) SetClientAuthentication(v *ClientAuthentication) *ClusterInfo {
  4142  	s.ClientAuthentication = v
  4143  	return s
  4144  }
  4145  
  4146  // SetClusterArn sets the ClusterArn field's value.
  4147  func (s *ClusterInfo) SetClusterArn(v string) *ClusterInfo {
  4148  	s.ClusterArn = &v
  4149  	return s
  4150  }
  4151  
  4152  // SetClusterName sets the ClusterName field's value.
  4153  func (s *ClusterInfo) SetClusterName(v string) *ClusterInfo {
  4154  	s.ClusterName = &v
  4155  	return s
  4156  }
  4157  
  4158  // SetCreationTime sets the CreationTime field's value.
  4159  func (s *ClusterInfo) SetCreationTime(v time.Time) *ClusterInfo {
  4160  	s.CreationTime = &v
  4161  	return s
  4162  }
  4163  
  4164  // SetCurrentBrokerSoftwareInfo sets the CurrentBrokerSoftwareInfo field's value.
  4165  func (s *ClusterInfo) SetCurrentBrokerSoftwareInfo(v *BrokerSoftwareInfo) *ClusterInfo {
  4166  	s.CurrentBrokerSoftwareInfo = v
  4167  	return s
  4168  }
  4169  
  4170  // SetCurrentVersion sets the CurrentVersion field's value.
  4171  func (s *ClusterInfo) SetCurrentVersion(v string) *ClusterInfo {
  4172  	s.CurrentVersion = &v
  4173  	return s
  4174  }
  4175  
  4176  // SetEncryptionInfo sets the EncryptionInfo field's value.
  4177  func (s *ClusterInfo) SetEncryptionInfo(v *EncryptionInfo) *ClusterInfo {
  4178  	s.EncryptionInfo = v
  4179  	return s
  4180  }
  4181  
  4182  // SetEnhancedMonitoring sets the EnhancedMonitoring field's value.
  4183  func (s *ClusterInfo) SetEnhancedMonitoring(v string) *ClusterInfo {
  4184  	s.EnhancedMonitoring = &v
  4185  	return s
  4186  }
  4187  
  4188  // SetLoggingInfo sets the LoggingInfo field's value.
  4189  func (s *ClusterInfo) SetLoggingInfo(v *LoggingInfo) *ClusterInfo {
  4190  	s.LoggingInfo = v
  4191  	return s
  4192  }
  4193  
  4194  // SetNumberOfBrokerNodes sets the NumberOfBrokerNodes field's value.
  4195  func (s *ClusterInfo) SetNumberOfBrokerNodes(v int64) *ClusterInfo {
  4196  	s.NumberOfBrokerNodes = &v
  4197  	return s
  4198  }
  4199  
  4200  // SetOpenMonitoring sets the OpenMonitoring field's value.
  4201  func (s *ClusterInfo) SetOpenMonitoring(v *OpenMonitoring) *ClusterInfo {
  4202  	s.OpenMonitoring = v
  4203  	return s
  4204  }
  4205  
  4206  // SetState sets the State field's value.
  4207  func (s *ClusterInfo) SetState(v string) *ClusterInfo {
  4208  	s.State = &v
  4209  	return s
  4210  }
  4211  
  4212  // SetStateInfo sets the StateInfo field's value.
  4213  func (s *ClusterInfo) SetStateInfo(v *StateInfo) *ClusterInfo {
  4214  	s.StateInfo = v
  4215  	return s
  4216  }
  4217  
  4218  // SetTags sets the Tags field's value.
  4219  func (s *ClusterInfo) SetTags(v map[string]*string) *ClusterInfo {
  4220  	s.Tags = v
  4221  	return s
  4222  }
  4223  
  4224  // SetZookeeperConnectString sets the ZookeeperConnectString field's value.
  4225  func (s *ClusterInfo) SetZookeeperConnectString(v string) *ClusterInfo {
  4226  	s.ZookeeperConnectString = &v
  4227  	return s
  4228  }
  4229  
  4230  // SetZookeeperConnectStringTls sets the ZookeeperConnectStringTls field's value.
  4231  func (s *ClusterInfo) SetZookeeperConnectStringTls(v string) *ClusterInfo {
  4232  	s.ZookeeperConnectStringTls = &v
  4233  	return s
  4234  }
  4235  
  4236  // Returns information about a cluster operation.
  4237  type ClusterOperationInfo struct {
  4238  	_ struct{} `type:"structure"`
  4239  
  4240  	// The ID of the API request that triggered this operation.
  4241  	ClientRequestId *string `locationName:"clientRequestId" type:"string"`
  4242  
  4243  	// ARN of the cluster.
  4244  	ClusterArn *string `locationName:"clusterArn" type:"string"`
  4245  
  4246  	// The time at which operation was created.
  4247  	CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601"`
  4248  
  4249  	// The time at which the operation finished.
  4250  	EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"`
  4251  
  4252  	// Describes the error if the operation fails.
  4253  	ErrorInfo *ErrorInfo `locationName:"errorInfo" type:"structure"`
  4254  
  4255  	// ARN of the cluster operation.
  4256  	OperationArn *string `locationName:"operationArn" type:"string"`
  4257  
  4258  	// State of the cluster operation.
  4259  	OperationState *string `locationName:"operationState" type:"string"`
  4260  
  4261  	// Steps completed during the operation.
  4262  	OperationSteps []*ClusterOperationStep `locationName:"operationSteps" type:"list"`
  4263  
  4264  	// Type of the cluster operation.
  4265  	OperationType *string `locationName:"operationType" type:"string"`
  4266  
  4267  	// Information about cluster attributes before a cluster is updated.
  4268  	SourceClusterInfo *MutableClusterInfo `locationName:"sourceClusterInfo" type:"structure"`
  4269  
  4270  	// Information about cluster attributes after a cluster is updated.
  4271  	TargetClusterInfo *MutableClusterInfo `locationName:"targetClusterInfo" type:"structure"`
  4272  }
  4273  
  4274  // String returns the string representation.
  4275  //
  4276  // API parameter values that are decorated as "sensitive" in the API will not
  4277  // be included in the string output. The member name will be present, but the
  4278  // value will be replaced with "sensitive".
  4279  func (s ClusterOperationInfo) String() string {
  4280  	return awsutil.Prettify(s)
  4281  }
  4282  
  4283  // GoString returns the string representation.
  4284  //
  4285  // API parameter values that are decorated as "sensitive" in the API will not
  4286  // be included in the string output. The member name will be present, but the
  4287  // value will be replaced with "sensitive".
  4288  func (s ClusterOperationInfo) GoString() string {
  4289  	return s.String()
  4290  }
  4291  
  4292  // SetClientRequestId sets the ClientRequestId field's value.
  4293  func (s *ClusterOperationInfo) SetClientRequestId(v string) *ClusterOperationInfo {
  4294  	s.ClientRequestId = &v
  4295  	return s
  4296  }
  4297  
  4298  // SetClusterArn sets the ClusterArn field's value.
  4299  func (s *ClusterOperationInfo) SetClusterArn(v string) *ClusterOperationInfo {
  4300  	s.ClusterArn = &v
  4301  	return s
  4302  }
  4303  
  4304  // SetCreationTime sets the CreationTime field's value.
  4305  func (s *ClusterOperationInfo) SetCreationTime(v time.Time) *ClusterOperationInfo {
  4306  	s.CreationTime = &v
  4307  	return s
  4308  }
  4309  
  4310  // SetEndTime sets the EndTime field's value.
  4311  func (s *ClusterOperationInfo) SetEndTime(v time.Time) *ClusterOperationInfo {
  4312  	s.EndTime = &v
  4313  	return s
  4314  }
  4315  
  4316  // SetErrorInfo sets the ErrorInfo field's value.
  4317  func (s *ClusterOperationInfo) SetErrorInfo(v *ErrorInfo) *ClusterOperationInfo {
  4318  	s.ErrorInfo = v
  4319  	return s
  4320  }
  4321  
  4322  // SetOperationArn sets the OperationArn field's value.
  4323  func (s *ClusterOperationInfo) SetOperationArn(v string) *ClusterOperationInfo {
  4324  	s.OperationArn = &v
  4325  	return s
  4326  }
  4327  
  4328  // SetOperationState sets the OperationState field's value.
  4329  func (s *ClusterOperationInfo) SetOperationState(v string) *ClusterOperationInfo {
  4330  	s.OperationState = &v
  4331  	return s
  4332  }
  4333  
  4334  // SetOperationSteps sets the OperationSteps field's value.
  4335  func (s *ClusterOperationInfo) SetOperationSteps(v []*ClusterOperationStep) *ClusterOperationInfo {
  4336  	s.OperationSteps = v
  4337  	return s
  4338  }
  4339  
  4340  // SetOperationType sets the OperationType field's value.
  4341  func (s *ClusterOperationInfo) SetOperationType(v string) *ClusterOperationInfo {
  4342  	s.OperationType = &v
  4343  	return s
  4344  }
  4345  
  4346  // SetSourceClusterInfo sets the SourceClusterInfo field's value.
  4347  func (s *ClusterOperationInfo) SetSourceClusterInfo(v *MutableClusterInfo) *ClusterOperationInfo {
  4348  	s.SourceClusterInfo = v
  4349  	return s
  4350  }
  4351  
  4352  // SetTargetClusterInfo sets the TargetClusterInfo field's value.
  4353  func (s *ClusterOperationInfo) SetTargetClusterInfo(v *MutableClusterInfo) *ClusterOperationInfo {
  4354  	s.TargetClusterInfo = v
  4355  	return s
  4356  }
  4357  
  4358  // Step taken during a cluster operation.
  4359  type ClusterOperationStep struct {
  4360  	_ struct{} `type:"structure"`
  4361  
  4362  	// Information about the step and its status.
  4363  	StepInfo *ClusterOperationStepInfo `locationName:"stepInfo" type:"structure"`
  4364  
  4365  	// The name of the step.
  4366  	StepName *string `locationName:"stepName" type:"string"`
  4367  }
  4368  
  4369  // String returns the string representation.
  4370  //
  4371  // API parameter values that are decorated as "sensitive" in the API will not
  4372  // be included in the string output. The member name will be present, but the
  4373  // value will be replaced with "sensitive".
  4374  func (s ClusterOperationStep) String() string {
  4375  	return awsutil.Prettify(s)
  4376  }
  4377  
  4378  // GoString returns the string representation.
  4379  //
  4380  // API parameter values that are decorated as "sensitive" in the API will not
  4381  // be included in the string output. The member name will be present, but the
  4382  // value will be replaced with "sensitive".
  4383  func (s ClusterOperationStep) GoString() string {
  4384  	return s.String()
  4385  }
  4386  
  4387  // SetStepInfo sets the StepInfo field's value.
  4388  func (s *ClusterOperationStep) SetStepInfo(v *ClusterOperationStepInfo) *ClusterOperationStep {
  4389  	s.StepInfo = v
  4390  	return s
  4391  }
  4392  
  4393  // SetStepName sets the StepName field's value.
  4394  func (s *ClusterOperationStep) SetStepName(v string) *ClusterOperationStep {
  4395  	s.StepName = &v
  4396  	return s
  4397  }
  4398  
  4399  // State information about the operation step.
  4400  type ClusterOperationStepInfo struct {
  4401  	_ struct{} `type:"structure"`
  4402  
  4403  	// The steps current status.
  4404  	StepStatus *string `locationName:"stepStatus" type:"string"`
  4405  }
  4406  
  4407  // String returns the string representation.
  4408  //
  4409  // API parameter values that are decorated as "sensitive" in the API will not
  4410  // be included in the string output. The member name will be present, but the
  4411  // value will be replaced with "sensitive".
  4412  func (s ClusterOperationStepInfo) String() string {
  4413  	return awsutil.Prettify(s)
  4414  }
  4415  
  4416  // GoString returns the string representation.
  4417  //
  4418  // API parameter values that are decorated as "sensitive" in the API will not
  4419  // be included in the string output. The member name will be present, but the
  4420  // value will be replaced with "sensitive".
  4421  func (s ClusterOperationStepInfo) GoString() string {
  4422  	return s.String()
  4423  }
  4424  
  4425  // SetStepStatus sets the StepStatus field's value.
  4426  func (s *ClusterOperationStepInfo) SetStepStatus(v string) *ClusterOperationStepInfo {
  4427  	s.StepStatus = &v
  4428  	return s
  4429  }
  4430  
  4431  // Contains source Kafka versions and compatible target Kafka versions.
  4432  type CompatibleKafkaVersion struct {
  4433  	_ struct{} `type:"structure"`
  4434  
  4435  	SourceVersion *string `locationName:"sourceVersion" type:"string"`
  4436  
  4437  	TargetVersions []*string `locationName:"targetVersions" type:"list"`
  4438  }
  4439  
  4440  // String returns the string representation.
  4441  //
  4442  // API parameter values that are decorated as "sensitive" in the API will not
  4443  // be included in the string output. The member name will be present, but the
  4444  // value will be replaced with "sensitive".
  4445  func (s CompatibleKafkaVersion) String() string {
  4446  	return awsutil.Prettify(s)
  4447  }
  4448  
  4449  // GoString returns the string representation.
  4450  //
  4451  // API parameter values that are decorated as "sensitive" in the API will not
  4452  // be included in the string output. The member name will be present, but the
  4453  // value will be replaced with "sensitive".
  4454  func (s CompatibleKafkaVersion) GoString() string {
  4455  	return s.String()
  4456  }
  4457  
  4458  // SetSourceVersion sets the SourceVersion field's value.
  4459  func (s *CompatibleKafkaVersion) SetSourceVersion(v string) *CompatibleKafkaVersion {
  4460  	s.SourceVersion = &v
  4461  	return s
  4462  }
  4463  
  4464  // SetTargetVersions sets the TargetVersions field's value.
  4465  func (s *CompatibleKafkaVersion) SetTargetVersions(v []*string) *CompatibleKafkaVersion {
  4466  	s.TargetVersions = v
  4467  	return s
  4468  }
  4469  
  4470  // Represents an MSK Configuration.
  4471  type Configuration struct {
  4472  	_ struct{} `type:"structure"`
  4473  
  4474  	// The Amazon Resource Name (ARN) of the configuration.
  4475  	//
  4476  	// Arn is a required field
  4477  	Arn *string `locationName:"arn" type:"string" required:"true"`
  4478  
  4479  	// CreationTime is a required field
  4480  	CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  4481  
  4482  	// The description of the configuration.
  4483  	//
  4484  	// Description is a required field
  4485  	Description *string `locationName:"description" type:"string" required:"true"`
  4486  
  4487  	// An array of the versions of Apache Kafka with which you can use this MSK
  4488  	// configuration. You can use this configuration for an MSK cluster only if
  4489  	// the Apache Kafka version specified for the cluster appears in this array.
  4490  	//
  4491  	// KafkaVersions is a required field
  4492  	KafkaVersions []*string `locationName:"kafkaVersions" type:"list" required:"true"`
  4493  
  4494  	// Latest revision of the configuration.
  4495  	//
  4496  	// LatestRevision is a required field
  4497  	LatestRevision *ConfigurationRevision `locationName:"latestRevision" type:"structure" required:"true"`
  4498  
  4499  	// The name of the configuration. Configuration names are strings that match
  4500  	// the regex "^[0-9A-Za-z-]+$".
  4501  	//
  4502  	// Name is a required field
  4503  	Name *string `locationName:"name" type:"string" required:"true"`
  4504  
  4505  	// The state of a configuration.
  4506  	//
  4507  	// State is a required field
  4508  	State *string `locationName:"state" type:"string" required:"true" enum:"ConfigurationState"`
  4509  }
  4510  
  4511  // String returns the string representation.
  4512  //
  4513  // API parameter values that are decorated as "sensitive" in the API will not
  4514  // be included in the string output. The member name will be present, but the
  4515  // value will be replaced with "sensitive".
  4516  func (s Configuration) String() string {
  4517  	return awsutil.Prettify(s)
  4518  }
  4519  
  4520  // GoString returns the string representation.
  4521  //
  4522  // API parameter values that are decorated as "sensitive" in the API will not
  4523  // be included in the string output. The member name will be present, but the
  4524  // value will be replaced with "sensitive".
  4525  func (s Configuration) GoString() string {
  4526  	return s.String()
  4527  }
  4528  
  4529  // SetArn sets the Arn field's value.
  4530  func (s *Configuration) SetArn(v string) *Configuration {
  4531  	s.Arn = &v
  4532  	return s
  4533  }
  4534  
  4535  // SetCreationTime sets the CreationTime field's value.
  4536  func (s *Configuration) SetCreationTime(v time.Time) *Configuration {
  4537  	s.CreationTime = &v
  4538  	return s
  4539  }
  4540  
  4541  // SetDescription sets the Description field's value.
  4542  func (s *Configuration) SetDescription(v string) *Configuration {
  4543  	s.Description = &v
  4544  	return s
  4545  }
  4546  
  4547  // SetKafkaVersions sets the KafkaVersions field's value.
  4548  func (s *Configuration) SetKafkaVersions(v []*string) *Configuration {
  4549  	s.KafkaVersions = v
  4550  	return s
  4551  }
  4552  
  4553  // SetLatestRevision sets the LatestRevision field's value.
  4554  func (s *Configuration) SetLatestRevision(v *ConfigurationRevision) *Configuration {
  4555  	s.LatestRevision = v
  4556  	return s
  4557  }
  4558  
  4559  // SetName sets the Name field's value.
  4560  func (s *Configuration) SetName(v string) *Configuration {
  4561  	s.Name = &v
  4562  	return s
  4563  }
  4564  
  4565  // SetState sets the State field's value.
  4566  func (s *Configuration) SetState(v string) *Configuration {
  4567  	s.State = &v
  4568  	return s
  4569  }
  4570  
  4571  // Specifies the configuration to use for the brokers.
  4572  type ConfigurationInfo struct {
  4573  	_ struct{} `type:"structure"`
  4574  
  4575  	// ARN of the configuration to use.
  4576  	//
  4577  	// Arn is a required field
  4578  	Arn *string `locationName:"arn" type:"string" required:"true"`
  4579  
  4580  	// The revision of the configuration to use.
  4581  	//
  4582  	// Revision is a required field
  4583  	Revision *int64 `locationName:"revision" type:"long" required:"true"`
  4584  }
  4585  
  4586  // String returns the string representation.
  4587  //
  4588  // API parameter values that are decorated as "sensitive" in the API will not
  4589  // be included in the string output. The member name will be present, but the
  4590  // value will be replaced with "sensitive".
  4591  func (s ConfigurationInfo) String() string {
  4592  	return awsutil.Prettify(s)
  4593  }
  4594  
  4595  // GoString returns the string representation.
  4596  //
  4597  // API parameter values that are decorated as "sensitive" in the API will not
  4598  // be included in the string output. The member name will be present, but the
  4599  // value will be replaced with "sensitive".
  4600  func (s ConfigurationInfo) GoString() string {
  4601  	return s.String()
  4602  }
  4603  
  4604  // Validate inspects the fields of the type to determine if they are valid.
  4605  func (s *ConfigurationInfo) Validate() error {
  4606  	invalidParams := request.ErrInvalidParams{Context: "ConfigurationInfo"}
  4607  	if s.Arn == nil {
  4608  		invalidParams.Add(request.NewErrParamRequired("Arn"))
  4609  	}
  4610  	if s.Revision == nil {
  4611  		invalidParams.Add(request.NewErrParamRequired("Revision"))
  4612  	}
  4613  
  4614  	if invalidParams.Len() > 0 {
  4615  		return invalidParams
  4616  	}
  4617  	return nil
  4618  }
  4619  
  4620  // SetArn sets the Arn field's value.
  4621  func (s *ConfigurationInfo) SetArn(v string) *ConfigurationInfo {
  4622  	s.Arn = &v
  4623  	return s
  4624  }
  4625  
  4626  // SetRevision sets the Revision field's value.
  4627  func (s *ConfigurationInfo) SetRevision(v int64) *ConfigurationInfo {
  4628  	s.Revision = &v
  4629  	return s
  4630  }
  4631  
  4632  // Describes a configuration revision.
  4633  type ConfigurationRevision struct {
  4634  	_ struct{} `type:"structure"`
  4635  
  4636  	// The time when the configuration revision was created.
  4637  	//
  4638  	// CreationTime is a required field
  4639  	CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  4640  
  4641  	// The description of the configuration revision.
  4642  	Description *string `locationName:"description" type:"string"`
  4643  
  4644  	// The revision number.
  4645  	//
  4646  	// Revision is a required field
  4647  	Revision *int64 `locationName:"revision" type:"long" required:"true"`
  4648  }
  4649  
  4650  // String returns the string representation.
  4651  //
  4652  // API parameter values that are decorated as "sensitive" in the API will not
  4653  // be included in the string output. The member name will be present, but the
  4654  // value will be replaced with "sensitive".
  4655  func (s ConfigurationRevision) String() string {
  4656  	return awsutil.Prettify(s)
  4657  }
  4658  
  4659  // GoString returns the string representation.
  4660  //
  4661  // API parameter values that are decorated as "sensitive" in the API will not
  4662  // be included in the string output. The member name will be present, but the
  4663  // value will be replaced with "sensitive".
  4664  func (s ConfigurationRevision) GoString() string {
  4665  	return s.String()
  4666  }
  4667  
  4668  // SetCreationTime sets the CreationTime field's value.
  4669  func (s *ConfigurationRevision) SetCreationTime(v time.Time) *ConfigurationRevision {
  4670  	s.CreationTime = &v
  4671  	return s
  4672  }
  4673  
  4674  // SetDescription sets the Description field's value.
  4675  func (s *ConfigurationRevision) SetDescription(v string) *ConfigurationRevision {
  4676  	s.Description = &v
  4677  	return s
  4678  }
  4679  
  4680  // SetRevision sets the Revision field's value.
  4681  func (s *ConfigurationRevision) SetRevision(v int64) *ConfigurationRevision {
  4682  	s.Revision = &v
  4683  	return s
  4684  }
  4685  
  4686  // Returns information about an error.
  4687  type ConflictException struct {
  4688  	_            struct{}                  `type:"structure"`
  4689  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4690  
  4691  	InvalidParameter *string `locationName:"invalidParameter" type:"string"`
  4692  
  4693  	Message_ *string `locationName:"message" type:"string"`
  4694  }
  4695  
  4696  // String returns the string representation.
  4697  //
  4698  // API parameter values that are decorated as "sensitive" in the API will not
  4699  // be included in the string output. The member name will be present, but the
  4700  // value will be replaced with "sensitive".
  4701  func (s ConflictException) String() string {
  4702  	return awsutil.Prettify(s)
  4703  }
  4704  
  4705  // GoString returns the string representation.
  4706  //
  4707  // API parameter values that are decorated as "sensitive" in the API will not
  4708  // be included in the string output. The member name will be present, but the
  4709  // value will be replaced with "sensitive".
  4710  func (s ConflictException) GoString() string {
  4711  	return s.String()
  4712  }
  4713  
  4714  func newErrorConflictException(v protocol.ResponseMetadata) error {
  4715  	return &ConflictException{
  4716  		RespMetadata: v,
  4717  	}
  4718  }
  4719  
  4720  // Code returns the exception type name.
  4721  func (s *ConflictException) Code() string {
  4722  	return "ConflictException"
  4723  }
  4724  
  4725  // Message returns the exception's message.
  4726  func (s *ConflictException) Message() string {
  4727  	if s.Message_ != nil {
  4728  		return *s.Message_
  4729  	}
  4730  	return ""
  4731  }
  4732  
  4733  // OrigErr always returns nil, satisfies awserr.Error interface.
  4734  func (s *ConflictException) OrigErr() error {
  4735  	return nil
  4736  }
  4737  
  4738  func (s *ConflictException) Error() string {
  4739  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  4740  }
  4741  
  4742  // Status code returns the HTTP status code for the request's response error.
  4743  func (s *ConflictException) StatusCode() int {
  4744  	return s.RespMetadata.StatusCode
  4745  }
  4746  
  4747  // RequestID returns the service's response RequestID for request.
  4748  func (s *ConflictException) RequestID() string {
  4749  	return s.RespMetadata.RequestID
  4750  }
  4751  
  4752  // Creates a cluster.
  4753  type CreateClusterInput struct {
  4754  	_ struct{} `type:"structure"`
  4755  
  4756  	// Information about the brokers.
  4757  	//
  4758  	// BrokerNodeGroupInfo is a required field
  4759  	BrokerNodeGroupInfo *BrokerNodeGroupInfo `locationName:"brokerNodeGroupInfo" type:"structure" required:"true"`
  4760  
  4761  	// Includes all client authentication related information.
  4762  	ClientAuthentication *ClientAuthentication `locationName:"clientAuthentication" type:"structure"`
  4763  
  4764  	// The name of the cluster.
  4765  	//
  4766  	// ClusterName is a required field
  4767  	ClusterName *string `locationName:"clusterName" min:"1" type:"string" required:"true"`
  4768  
  4769  	// Represents the configuration that you want MSK to use for the cluster.
  4770  	ConfigurationInfo *ConfigurationInfo `locationName:"configurationInfo" type:"structure"`
  4771  
  4772  	// Includes all encryption-related information.
  4773  	EncryptionInfo *EncryptionInfo `locationName:"encryptionInfo" type:"structure"`
  4774  
  4775  	// Specifies the level of monitoring for the MSK cluster. The possible values
  4776  	// are DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION.
  4777  	EnhancedMonitoring *string `locationName:"enhancedMonitoring" type:"string" enum:"EnhancedMonitoring"`
  4778  
  4779  	// The version of Apache Kafka.
  4780  	//
  4781  	// KafkaVersion is a required field
  4782  	KafkaVersion *string `locationName:"kafkaVersion" min:"1" type:"string" required:"true"`
  4783  
  4784  	// LoggingInfo details.
  4785  	LoggingInfo *LoggingInfo `locationName:"loggingInfo" type:"structure"`
  4786  
  4787  	// The number of Kafka broker nodes in the Amazon MSK cluster.
  4788  	//
  4789  	// NumberOfBrokerNodes is a required field
  4790  	NumberOfBrokerNodes *int64 `locationName:"numberOfBrokerNodes" min:"1" type:"integer" required:"true"`
  4791  
  4792  	// The settings for open monitoring.
  4793  	OpenMonitoring *OpenMonitoringInfo `locationName:"openMonitoring" type:"structure"`
  4794  
  4795  	// Create tags when creating the cluster.
  4796  	Tags map[string]*string `locationName:"tags" type:"map"`
  4797  }
  4798  
  4799  // String returns the string representation.
  4800  //
  4801  // API parameter values that are decorated as "sensitive" in the API will not
  4802  // be included in the string output. The member name will be present, but the
  4803  // value will be replaced with "sensitive".
  4804  func (s CreateClusterInput) String() string {
  4805  	return awsutil.Prettify(s)
  4806  }
  4807  
  4808  // GoString returns the string representation.
  4809  //
  4810  // API parameter values that are decorated as "sensitive" in the API will not
  4811  // be included in the string output. The member name will be present, but the
  4812  // value will be replaced with "sensitive".
  4813  func (s CreateClusterInput) GoString() string {
  4814  	return s.String()
  4815  }
  4816  
  4817  // Validate inspects the fields of the type to determine if they are valid.
  4818  func (s *CreateClusterInput) Validate() error {
  4819  	invalidParams := request.ErrInvalidParams{Context: "CreateClusterInput"}
  4820  	if s.BrokerNodeGroupInfo == nil {
  4821  		invalidParams.Add(request.NewErrParamRequired("BrokerNodeGroupInfo"))
  4822  	}
  4823  	if s.ClusterName == nil {
  4824  		invalidParams.Add(request.NewErrParamRequired("ClusterName"))
  4825  	}
  4826  	if s.ClusterName != nil && len(*s.ClusterName) < 1 {
  4827  		invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1))
  4828  	}
  4829  	if s.KafkaVersion == nil {
  4830  		invalidParams.Add(request.NewErrParamRequired("KafkaVersion"))
  4831  	}
  4832  	if s.KafkaVersion != nil && len(*s.KafkaVersion) < 1 {
  4833  		invalidParams.Add(request.NewErrParamMinLen("KafkaVersion", 1))
  4834  	}
  4835  	if s.NumberOfBrokerNodes == nil {
  4836  		invalidParams.Add(request.NewErrParamRequired("NumberOfBrokerNodes"))
  4837  	}
  4838  	if s.NumberOfBrokerNodes != nil && *s.NumberOfBrokerNodes < 1 {
  4839  		invalidParams.Add(request.NewErrParamMinValue("NumberOfBrokerNodes", 1))
  4840  	}
  4841  	if s.BrokerNodeGroupInfo != nil {
  4842  		if err := s.BrokerNodeGroupInfo.Validate(); err != nil {
  4843  			invalidParams.AddNested("BrokerNodeGroupInfo", err.(request.ErrInvalidParams))
  4844  		}
  4845  	}
  4846  	if s.ConfigurationInfo != nil {
  4847  		if err := s.ConfigurationInfo.Validate(); err != nil {
  4848  			invalidParams.AddNested("ConfigurationInfo", err.(request.ErrInvalidParams))
  4849  		}
  4850  	}
  4851  	if s.EncryptionInfo != nil {
  4852  		if err := s.EncryptionInfo.Validate(); err != nil {
  4853  			invalidParams.AddNested("EncryptionInfo", err.(request.ErrInvalidParams))
  4854  		}
  4855  	}
  4856  	if s.LoggingInfo != nil {
  4857  		if err := s.LoggingInfo.Validate(); err != nil {
  4858  			invalidParams.AddNested("LoggingInfo", err.(request.ErrInvalidParams))
  4859  		}
  4860  	}
  4861  	if s.OpenMonitoring != nil {
  4862  		if err := s.OpenMonitoring.Validate(); err != nil {
  4863  			invalidParams.AddNested("OpenMonitoring", err.(request.ErrInvalidParams))
  4864  		}
  4865  	}
  4866  
  4867  	if invalidParams.Len() > 0 {
  4868  		return invalidParams
  4869  	}
  4870  	return nil
  4871  }
  4872  
  4873  // SetBrokerNodeGroupInfo sets the BrokerNodeGroupInfo field's value.
  4874  func (s *CreateClusterInput) SetBrokerNodeGroupInfo(v *BrokerNodeGroupInfo) *CreateClusterInput {
  4875  	s.BrokerNodeGroupInfo = v
  4876  	return s
  4877  }
  4878  
  4879  // SetClientAuthentication sets the ClientAuthentication field's value.
  4880  func (s *CreateClusterInput) SetClientAuthentication(v *ClientAuthentication) *CreateClusterInput {
  4881  	s.ClientAuthentication = v
  4882  	return s
  4883  }
  4884  
  4885  // SetClusterName sets the ClusterName field's value.
  4886  func (s *CreateClusterInput) SetClusterName(v string) *CreateClusterInput {
  4887  	s.ClusterName = &v
  4888  	return s
  4889  }
  4890  
  4891  // SetConfigurationInfo sets the ConfigurationInfo field's value.
  4892  func (s *CreateClusterInput) SetConfigurationInfo(v *ConfigurationInfo) *CreateClusterInput {
  4893  	s.ConfigurationInfo = v
  4894  	return s
  4895  }
  4896  
  4897  // SetEncryptionInfo sets the EncryptionInfo field's value.
  4898  func (s *CreateClusterInput) SetEncryptionInfo(v *EncryptionInfo) *CreateClusterInput {
  4899  	s.EncryptionInfo = v
  4900  	return s
  4901  }
  4902  
  4903  // SetEnhancedMonitoring sets the EnhancedMonitoring field's value.
  4904  func (s *CreateClusterInput) SetEnhancedMonitoring(v string) *CreateClusterInput {
  4905  	s.EnhancedMonitoring = &v
  4906  	return s
  4907  }
  4908  
  4909  // SetKafkaVersion sets the KafkaVersion field's value.
  4910  func (s *CreateClusterInput) SetKafkaVersion(v string) *CreateClusterInput {
  4911  	s.KafkaVersion = &v
  4912  	return s
  4913  }
  4914  
  4915  // SetLoggingInfo sets the LoggingInfo field's value.
  4916  func (s *CreateClusterInput) SetLoggingInfo(v *LoggingInfo) *CreateClusterInput {
  4917  	s.LoggingInfo = v
  4918  	return s
  4919  }
  4920  
  4921  // SetNumberOfBrokerNodes sets the NumberOfBrokerNodes field's value.
  4922  func (s *CreateClusterInput) SetNumberOfBrokerNodes(v int64) *CreateClusterInput {
  4923  	s.NumberOfBrokerNodes = &v
  4924  	return s
  4925  }
  4926  
  4927  // SetOpenMonitoring sets the OpenMonitoring field's value.
  4928  func (s *CreateClusterInput) SetOpenMonitoring(v *OpenMonitoringInfo) *CreateClusterInput {
  4929  	s.OpenMonitoring = v
  4930  	return s
  4931  }
  4932  
  4933  // SetTags sets the Tags field's value.
  4934  func (s *CreateClusterInput) SetTags(v map[string]*string) *CreateClusterInput {
  4935  	s.Tags = v
  4936  	return s
  4937  }
  4938  
  4939  // Returns information about the created cluster.
  4940  type CreateClusterOutput struct {
  4941  	_ struct{} `type:"structure"`
  4942  
  4943  	// The Amazon Resource Name (ARN) of the cluster.
  4944  	ClusterArn *string `locationName:"clusterArn" type:"string"`
  4945  
  4946  	// The name of the MSK cluster.
  4947  	ClusterName *string `locationName:"clusterName" type:"string"`
  4948  
  4949  	// The state of the cluster. The possible states are ACTIVE, CREATING, DELETING,
  4950  	// FAILED, HEALING, MAINTENANCE, REBOOTING_BROKER, and UPDATING.
  4951  	State *string `locationName:"state" type:"string" enum:"ClusterState"`
  4952  }
  4953  
  4954  // String returns the string representation.
  4955  //
  4956  // API parameter values that are decorated as "sensitive" in the API will not
  4957  // be included in the string output. The member name will be present, but the
  4958  // value will be replaced with "sensitive".
  4959  func (s CreateClusterOutput) String() string {
  4960  	return awsutil.Prettify(s)
  4961  }
  4962  
  4963  // GoString returns the string representation.
  4964  //
  4965  // API parameter values that are decorated as "sensitive" in the API will not
  4966  // be included in the string output. The member name will be present, but the
  4967  // value will be replaced with "sensitive".
  4968  func (s CreateClusterOutput) GoString() string {
  4969  	return s.String()
  4970  }
  4971  
  4972  // SetClusterArn sets the ClusterArn field's value.
  4973  func (s *CreateClusterOutput) SetClusterArn(v string) *CreateClusterOutput {
  4974  	s.ClusterArn = &v
  4975  	return s
  4976  }
  4977  
  4978  // SetClusterName sets the ClusterName field's value.
  4979  func (s *CreateClusterOutput) SetClusterName(v string) *CreateClusterOutput {
  4980  	s.ClusterName = &v
  4981  	return s
  4982  }
  4983  
  4984  // SetState sets the State field's value.
  4985  func (s *CreateClusterOutput) SetState(v string) *CreateClusterOutput {
  4986  	s.State = &v
  4987  	return s
  4988  }
  4989  
  4990  // Request body for CreateConfiguration.
  4991  type CreateConfigurationInput struct {
  4992  	_ struct{} `type:"structure"`
  4993  
  4994  	// The description of the configuration.
  4995  	Description *string `locationName:"description" type:"string"`
  4996  
  4997  	// The versions of Apache Kafka with which you can use this MSK configuration.
  4998  	KafkaVersions []*string `locationName:"kafkaVersions" type:"list"`
  4999  
  5000  	// The name of the configuration. Configuration names are strings that match
  5001  	// the regex "^[0-9A-Za-z-]+$".
  5002  	//
  5003  	// Name is a required field
  5004  	Name *string `locationName:"name" type:"string" required:"true"`
  5005  
  5006  	// ServerProperties is automatically base64 encoded/decoded by the SDK.
  5007  	//
  5008  	// ServerProperties is a required field
  5009  	ServerProperties []byte `locationName:"serverProperties" type:"blob" required:"true"`
  5010  }
  5011  
  5012  // String returns the string representation.
  5013  //
  5014  // API parameter values that are decorated as "sensitive" in the API will not
  5015  // be included in the string output. The member name will be present, but the
  5016  // value will be replaced with "sensitive".
  5017  func (s CreateConfigurationInput) String() string {
  5018  	return awsutil.Prettify(s)
  5019  }
  5020  
  5021  // GoString returns the string representation.
  5022  //
  5023  // API parameter values that are decorated as "sensitive" in the API will not
  5024  // be included in the string output. The member name will be present, but the
  5025  // value will be replaced with "sensitive".
  5026  func (s CreateConfigurationInput) GoString() string {
  5027  	return s.String()
  5028  }
  5029  
  5030  // Validate inspects the fields of the type to determine if they are valid.
  5031  func (s *CreateConfigurationInput) Validate() error {
  5032  	invalidParams := request.ErrInvalidParams{Context: "CreateConfigurationInput"}
  5033  	if s.Name == nil {
  5034  		invalidParams.Add(request.NewErrParamRequired("Name"))
  5035  	}
  5036  	if s.ServerProperties == nil {
  5037  		invalidParams.Add(request.NewErrParamRequired("ServerProperties"))
  5038  	}
  5039  
  5040  	if invalidParams.Len() > 0 {
  5041  		return invalidParams
  5042  	}
  5043  	return nil
  5044  }
  5045  
  5046  // SetDescription sets the Description field's value.
  5047  func (s *CreateConfigurationInput) SetDescription(v string) *CreateConfigurationInput {
  5048  	s.Description = &v
  5049  	return s
  5050  }
  5051  
  5052  // SetKafkaVersions sets the KafkaVersions field's value.
  5053  func (s *CreateConfigurationInput) SetKafkaVersions(v []*string) *CreateConfigurationInput {
  5054  	s.KafkaVersions = v
  5055  	return s
  5056  }
  5057  
  5058  // SetName sets the Name field's value.
  5059  func (s *CreateConfigurationInput) SetName(v string) *CreateConfigurationInput {
  5060  	s.Name = &v
  5061  	return s
  5062  }
  5063  
  5064  // SetServerProperties sets the ServerProperties field's value.
  5065  func (s *CreateConfigurationInput) SetServerProperties(v []byte) *CreateConfigurationInput {
  5066  	s.ServerProperties = v
  5067  	return s
  5068  }
  5069  
  5070  // Response body for CreateConfiguration
  5071  type CreateConfigurationOutput struct {
  5072  	_ struct{} `type:"structure"`
  5073  
  5074  	// The Amazon Resource Name (ARN) of the configuration.
  5075  	Arn *string `locationName:"arn" type:"string"`
  5076  
  5077  	// The time when the configuration was created.
  5078  	CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601"`
  5079  
  5080  	// Latest revision of the configuration.
  5081  	LatestRevision *ConfigurationRevision `locationName:"latestRevision" type:"structure"`
  5082  
  5083  	// The name of the configuration. Configuration names are strings that match
  5084  	// the regex "^[0-9A-Za-z-]+$".
  5085  	Name *string `locationName:"name" type:"string"`
  5086  
  5087  	// The state of the configuration. The possible states are ACTIVE, DELETING
  5088  	// and DELETE_FAILED.
  5089  	State *string `locationName:"state" type:"string" enum:"ConfigurationState"`
  5090  }
  5091  
  5092  // String returns the string representation.
  5093  //
  5094  // API parameter values that are decorated as "sensitive" in the API will not
  5095  // be included in the string output. The member name will be present, but the
  5096  // value will be replaced with "sensitive".
  5097  func (s CreateConfigurationOutput) String() string {
  5098  	return awsutil.Prettify(s)
  5099  }
  5100  
  5101  // GoString returns the string representation.
  5102  //
  5103  // API parameter values that are decorated as "sensitive" in the API will not
  5104  // be included in the string output. The member name will be present, but the
  5105  // value will be replaced with "sensitive".
  5106  func (s CreateConfigurationOutput) GoString() string {
  5107  	return s.String()
  5108  }
  5109  
  5110  // SetArn sets the Arn field's value.
  5111  func (s *CreateConfigurationOutput) SetArn(v string) *CreateConfigurationOutput {
  5112  	s.Arn = &v
  5113  	return s
  5114  }
  5115  
  5116  // SetCreationTime sets the CreationTime field's value.
  5117  func (s *CreateConfigurationOutput) SetCreationTime(v time.Time) *CreateConfigurationOutput {
  5118  	s.CreationTime = &v
  5119  	return s
  5120  }
  5121  
  5122  // SetLatestRevision sets the LatestRevision field's value.
  5123  func (s *CreateConfigurationOutput) SetLatestRevision(v *ConfigurationRevision) *CreateConfigurationOutput {
  5124  	s.LatestRevision = v
  5125  	return s
  5126  }
  5127  
  5128  // SetName sets the Name field's value.
  5129  func (s *CreateConfigurationOutput) SetName(v string) *CreateConfigurationOutput {
  5130  	s.Name = &v
  5131  	return s
  5132  }
  5133  
  5134  // SetState sets the State field's value.
  5135  func (s *CreateConfigurationOutput) SetState(v string) *CreateConfigurationOutput {
  5136  	s.State = &v
  5137  	return s
  5138  }
  5139  
  5140  type DeleteClusterInput struct {
  5141  	_ struct{} `type:"structure" nopayload:"true"`
  5142  
  5143  	// ClusterArn is a required field
  5144  	ClusterArn *string `location:"uri" locationName:"clusterArn" type:"string" required:"true"`
  5145  
  5146  	CurrentVersion *string `location:"querystring" locationName:"currentVersion" type:"string"`
  5147  }
  5148  
  5149  // String returns the string representation.
  5150  //
  5151  // API parameter values that are decorated as "sensitive" in the API will not
  5152  // be included in the string output. The member name will be present, but the
  5153  // value will be replaced with "sensitive".
  5154  func (s DeleteClusterInput) String() string {
  5155  	return awsutil.Prettify(s)
  5156  }
  5157  
  5158  // GoString returns the string representation.
  5159  //
  5160  // API parameter values that are decorated as "sensitive" in the API will not
  5161  // be included in the string output. The member name will be present, but the
  5162  // value will be replaced with "sensitive".
  5163  func (s DeleteClusterInput) GoString() string {
  5164  	return s.String()
  5165  }
  5166  
  5167  // Validate inspects the fields of the type to determine if they are valid.
  5168  func (s *DeleteClusterInput) Validate() error {
  5169  	invalidParams := request.ErrInvalidParams{Context: "DeleteClusterInput"}
  5170  	if s.ClusterArn == nil {
  5171  		invalidParams.Add(request.NewErrParamRequired("ClusterArn"))
  5172  	}
  5173  	if s.ClusterArn != nil && len(*s.ClusterArn) < 1 {
  5174  		invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1))
  5175  	}
  5176  
  5177  	if invalidParams.Len() > 0 {
  5178  		return invalidParams
  5179  	}
  5180  	return nil
  5181  }
  5182  
  5183  // SetClusterArn sets the ClusterArn field's value.
  5184  func (s *DeleteClusterInput) SetClusterArn(v string) *DeleteClusterInput {
  5185  	s.ClusterArn = &v
  5186  	return s
  5187  }
  5188  
  5189  // SetCurrentVersion sets the CurrentVersion field's value.
  5190  func (s *DeleteClusterInput) SetCurrentVersion(v string) *DeleteClusterInput {
  5191  	s.CurrentVersion = &v
  5192  	return s
  5193  }
  5194  
  5195  // Returns information about the deleted cluster.
  5196  type DeleteClusterOutput struct {
  5197  	_ struct{} `type:"structure"`
  5198  
  5199  	// The Amazon Resource Name (ARN) of the cluster.
  5200  	ClusterArn *string `locationName:"clusterArn" type:"string"`
  5201  
  5202  	// The state of the cluster. The possible states are ACTIVE, CREATING, DELETING,
  5203  	// FAILED, HEALING, MAINTENANCE, REBOOTING_BROKER, and UPDATING.
  5204  	State *string `locationName:"state" type:"string" enum:"ClusterState"`
  5205  }
  5206  
  5207  // String returns the string representation.
  5208  //
  5209  // API parameter values that are decorated as "sensitive" in the API will not
  5210  // be included in the string output. The member name will be present, but the
  5211  // value will be replaced with "sensitive".
  5212  func (s DeleteClusterOutput) String() string {
  5213  	return awsutil.Prettify(s)
  5214  }
  5215  
  5216  // GoString returns the string representation.
  5217  //
  5218  // API parameter values that are decorated as "sensitive" in the API will not
  5219  // be included in the string output. The member name will be present, but the
  5220  // value will be replaced with "sensitive".
  5221  func (s DeleteClusterOutput) GoString() string {
  5222  	return s.String()
  5223  }
  5224  
  5225  // SetClusterArn sets the ClusterArn field's value.
  5226  func (s *DeleteClusterOutput) SetClusterArn(v string) *DeleteClusterOutput {
  5227  	s.ClusterArn = &v
  5228  	return s
  5229  }
  5230  
  5231  // SetState sets the State field's value.
  5232  func (s *DeleteClusterOutput) SetState(v string) *DeleteClusterOutput {
  5233  	s.State = &v
  5234  	return s
  5235  }
  5236  
  5237  // Request body for DeleteConfiguration.
  5238  type DeleteConfigurationInput struct {
  5239  	_ struct{} `type:"structure" nopayload:"true"`
  5240  
  5241  	// The Amazon Resource Name (ARN) of the configuration.
  5242  	//
  5243  	// Arn is a required field
  5244  	Arn *string `location:"uri" locationName:"arn" type:"string" required:"true"`
  5245  }
  5246  
  5247  // String returns the string representation.
  5248  //
  5249  // API parameter values that are decorated as "sensitive" in the API will not
  5250  // be included in the string output. The member name will be present, but the
  5251  // value will be replaced with "sensitive".
  5252  func (s DeleteConfigurationInput) String() string {
  5253  	return awsutil.Prettify(s)
  5254  }
  5255  
  5256  // GoString returns the string representation.
  5257  //
  5258  // API parameter values that are decorated as "sensitive" in the API will not
  5259  // be included in the string output. The member name will be present, but the
  5260  // value will be replaced with "sensitive".
  5261  func (s DeleteConfigurationInput) GoString() string {
  5262  	return s.String()
  5263  }
  5264  
  5265  // Validate inspects the fields of the type to determine if they are valid.
  5266  func (s *DeleteConfigurationInput) Validate() error {
  5267  	invalidParams := request.ErrInvalidParams{Context: "DeleteConfigurationInput"}
  5268  	if s.Arn == nil {
  5269  		invalidParams.Add(request.NewErrParamRequired("Arn"))
  5270  	}
  5271  	if s.Arn != nil && len(*s.Arn) < 1 {
  5272  		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
  5273  	}
  5274  
  5275  	if invalidParams.Len() > 0 {
  5276  		return invalidParams
  5277  	}
  5278  	return nil
  5279  }
  5280  
  5281  // SetArn sets the Arn field's value.
  5282  func (s *DeleteConfigurationInput) SetArn(v string) *DeleteConfigurationInput {
  5283  	s.Arn = &v
  5284  	return s
  5285  }
  5286  
  5287  // Response body for DeleteConfiguration.
  5288  type DeleteConfigurationOutput struct {
  5289  	_ struct{} `type:"structure"`
  5290  
  5291  	// The Amazon Resource Name (ARN) of the configuration.
  5292  	Arn *string `locationName:"arn" type:"string"`
  5293  
  5294  	// The state of the configuration. The possible states are ACTIVE, DELETING
  5295  	// and DELETE_FAILED.
  5296  	State *string `locationName:"state" type:"string" enum:"ConfigurationState"`
  5297  }
  5298  
  5299  // String returns the string representation.
  5300  //
  5301  // API parameter values that are decorated as "sensitive" in the API will not
  5302  // be included in the string output. The member name will be present, but the
  5303  // value will be replaced with "sensitive".
  5304  func (s DeleteConfigurationOutput) String() string {
  5305  	return awsutil.Prettify(s)
  5306  }
  5307  
  5308  // GoString returns the string representation.
  5309  //
  5310  // API parameter values that are decorated as "sensitive" in the API will not
  5311  // be included in the string output. The member name will be present, but the
  5312  // value will be replaced with "sensitive".
  5313  func (s DeleteConfigurationOutput) GoString() string {
  5314  	return s.String()
  5315  }
  5316  
  5317  // SetArn sets the Arn field's value.
  5318  func (s *DeleteConfigurationOutput) SetArn(v string) *DeleteConfigurationOutput {
  5319  	s.Arn = &v
  5320  	return s
  5321  }
  5322  
  5323  // SetState sets the State field's value.
  5324  func (s *DeleteConfigurationOutput) SetState(v string) *DeleteConfigurationOutput {
  5325  	s.State = &v
  5326  	return s
  5327  }
  5328  
  5329  type DescribeClusterInput struct {
  5330  	_ struct{} `type:"structure" nopayload:"true"`
  5331  
  5332  	// ClusterArn is a required field
  5333  	ClusterArn *string `location:"uri" locationName:"clusterArn" type:"string" required:"true"`
  5334  }
  5335  
  5336  // String returns the string representation.
  5337  //
  5338  // API parameter values that are decorated as "sensitive" in the API will not
  5339  // be included in the string output. The member name will be present, but the
  5340  // value will be replaced with "sensitive".
  5341  func (s DescribeClusterInput) String() string {
  5342  	return awsutil.Prettify(s)
  5343  }
  5344  
  5345  // GoString returns the string representation.
  5346  //
  5347  // API parameter values that are decorated as "sensitive" in the API will not
  5348  // be included in the string output. The member name will be present, but the
  5349  // value will be replaced with "sensitive".
  5350  func (s DescribeClusterInput) GoString() string {
  5351  	return s.String()
  5352  }
  5353  
  5354  // Validate inspects the fields of the type to determine if they are valid.
  5355  func (s *DescribeClusterInput) Validate() error {
  5356  	invalidParams := request.ErrInvalidParams{Context: "DescribeClusterInput"}
  5357  	if s.ClusterArn == nil {
  5358  		invalidParams.Add(request.NewErrParamRequired("ClusterArn"))
  5359  	}
  5360  	if s.ClusterArn != nil && len(*s.ClusterArn) < 1 {
  5361  		invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1))
  5362  	}
  5363  
  5364  	if invalidParams.Len() > 0 {
  5365  		return invalidParams
  5366  	}
  5367  	return nil
  5368  }
  5369  
  5370  // SetClusterArn sets the ClusterArn field's value.
  5371  func (s *DescribeClusterInput) SetClusterArn(v string) *DescribeClusterInput {
  5372  	s.ClusterArn = &v
  5373  	return s
  5374  }
  5375  
  5376  type DescribeClusterOperationInput struct {
  5377  	_ struct{} `type:"structure" nopayload:"true"`
  5378  
  5379  	// ClusterOperationArn is a required field
  5380  	ClusterOperationArn *string `location:"uri" locationName:"clusterOperationArn" type:"string" required:"true"`
  5381  }
  5382  
  5383  // String returns the string representation.
  5384  //
  5385  // API parameter values that are decorated as "sensitive" in the API will not
  5386  // be included in the string output. The member name will be present, but the
  5387  // value will be replaced with "sensitive".
  5388  func (s DescribeClusterOperationInput) String() string {
  5389  	return awsutil.Prettify(s)
  5390  }
  5391  
  5392  // GoString returns the string representation.
  5393  //
  5394  // API parameter values that are decorated as "sensitive" in the API will not
  5395  // be included in the string output. The member name will be present, but the
  5396  // value will be replaced with "sensitive".
  5397  func (s DescribeClusterOperationInput) GoString() string {
  5398  	return s.String()
  5399  }
  5400  
  5401  // Validate inspects the fields of the type to determine if they are valid.
  5402  func (s *DescribeClusterOperationInput) Validate() error {
  5403  	invalidParams := request.ErrInvalidParams{Context: "DescribeClusterOperationInput"}
  5404  	if s.ClusterOperationArn == nil {
  5405  		invalidParams.Add(request.NewErrParamRequired("ClusterOperationArn"))
  5406  	}
  5407  	if s.ClusterOperationArn != nil && len(*s.ClusterOperationArn) < 1 {
  5408  		invalidParams.Add(request.NewErrParamMinLen("ClusterOperationArn", 1))
  5409  	}
  5410  
  5411  	if invalidParams.Len() > 0 {
  5412  		return invalidParams
  5413  	}
  5414  	return nil
  5415  }
  5416  
  5417  // SetClusterOperationArn sets the ClusterOperationArn field's value.
  5418  func (s *DescribeClusterOperationInput) SetClusterOperationArn(v string) *DescribeClusterOperationInput {
  5419  	s.ClusterOperationArn = &v
  5420  	return s
  5421  }
  5422  
  5423  // Information about a cluster operation.
  5424  type DescribeClusterOperationOutput struct {
  5425  	_ struct{} `type:"structure"`
  5426  
  5427  	// Cluster operation information
  5428  	ClusterOperationInfo *ClusterOperationInfo `locationName:"clusterOperationInfo" type:"structure"`
  5429  }
  5430  
  5431  // String returns the string representation.
  5432  //
  5433  // API parameter values that are decorated as "sensitive" in the API will not
  5434  // be included in the string output. The member name will be present, but the
  5435  // value will be replaced with "sensitive".
  5436  func (s DescribeClusterOperationOutput) String() string {
  5437  	return awsutil.Prettify(s)
  5438  }
  5439  
  5440  // GoString returns the string representation.
  5441  //
  5442  // API parameter values that are decorated as "sensitive" in the API will not
  5443  // be included in the string output. The member name will be present, but the
  5444  // value will be replaced with "sensitive".
  5445  func (s DescribeClusterOperationOutput) GoString() string {
  5446  	return s.String()
  5447  }
  5448  
  5449  // SetClusterOperationInfo sets the ClusterOperationInfo field's value.
  5450  func (s *DescribeClusterOperationOutput) SetClusterOperationInfo(v *ClusterOperationInfo) *DescribeClusterOperationOutput {
  5451  	s.ClusterOperationInfo = v
  5452  	return s
  5453  }
  5454  
  5455  // Returns information about a cluster.
  5456  type DescribeClusterOutput struct {
  5457  	_ struct{} `type:"structure"`
  5458  
  5459  	// The cluster information.
  5460  	ClusterInfo *ClusterInfo `locationName:"clusterInfo" type:"structure"`
  5461  }
  5462  
  5463  // String returns the string representation.
  5464  //
  5465  // API parameter values that are decorated as "sensitive" in the API will not
  5466  // be included in the string output. The member name will be present, but the
  5467  // value will be replaced with "sensitive".
  5468  func (s DescribeClusterOutput) String() string {
  5469  	return awsutil.Prettify(s)
  5470  }
  5471  
  5472  // GoString returns the string representation.
  5473  //
  5474  // API parameter values that are decorated as "sensitive" in the API will not
  5475  // be included in the string output. The member name will be present, but the
  5476  // value will be replaced with "sensitive".
  5477  func (s DescribeClusterOutput) GoString() string {
  5478  	return s.String()
  5479  }
  5480  
  5481  // SetClusterInfo sets the ClusterInfo field's value.
  5482  func (s *DescribeClusterOutput) SetClusterInfo(v *ClusterInfo) *DescribeClusterOutput {
  5483  	s.ClusterInfo = v
  5484  	return s
  5485  }
  5486  
  5487  type DescribeConfigurationInput struct {
  5488  	_ struct{} `type:"structure" nopayload:"true"`
  5489  
  5490  	// Arn is a required field
  5491  	Arn *string `location:"uri" locationName:"arn" type:"string" required:"true"`
  5492  }
  5493  
  5494  // String returns the string representation.
  5495  //
  5496  // API parameter values that are decorated as "sensitive" in the API will not
  5497  // be included in the string output. The member name will be present, but the
  5498  // value will be replaced with "sensitive".
  5499  func (s DescribeConfigurationInput) String() string {
  5500  	return awsutil.Prettify(s)
  5501  }
  5502  
  5503  // GoString returns the string representation.
  5504  //
  5505  // API parameter values that are decorated as "sensitive" in the API will not
  5506  // be included in the string output. The member name will be present, but the
  5507  // value will be replaced with "sensitive".
  5508  func (s DescribeConfigurationInput) GoString() string {
  5509  	return s.String()
  5510  }
  5511  
  5512  // Validate inspects the fields of the type to determine if they are valid.
  5513  func (s *DescribeConfigurationInput) Validate() error {
  5514  	invalidParams := request.ErrInvalidParams{Context: "DescribeConfigurationInput"}
  5515  	if s.Arn == nil {
  5516  		invalidParams.Add(request.NewErrParamRequired("Arn"))
  5517  	}
  5518  	if s.Arn != nil && len(*s.Arn) < 1 {
  5519  		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
  5520  	}
  5521  
  5522  	if invalidParams.Len() > 0 {
  5523  		return invalidParams
  5524  	}
  5525  	return nil
  5526  }
  5527  
  5528  // SetArn sets the Arn field's value.
  5529  func (s *DescribeConfigurationInput) SetArn(v string) *DescribeConfigurationInput {
  5530  	s.Arn = &v
  5531  	return s
  5532  }
  5533  
  5534  // Response body for DescribeConfiguration.
  5535  type DescribeConfigurationOutput struct {
  5536  	_ struct{} `type:"structure"`
  5537  
  5538  	// The Amazon Resource Name (ARN) of the configuration.
  5539  	Arn *string `locationName:"arn" type:"string"`
  5540  
  5541  	// The time when the configuration was created.
  5542  	CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601"`
  5543  
  5544  	// The description of the configuration.
  5545  	Description *string `locationName:"description" type:"string"`
  5546  
  5547  	// The versions of Apache Kafka with which you can use this MSK configuration.
  5548  	KafkaVersions []*string `locationName:"kafkaVersions" type:"list"`
  5549  
  5550  	// Latest revision of the configuration.
  5551  	LatestRevision *ConfigurationRevision `locationName:"latestRevision" type:"structure"`
  5552  
  5553  	// The name of the configuration. Configuration names are strings that match
  5554  	// the regex "^[0-9A-Za-z-]+$".
  5555  	Name *string `locationName:"name" type:"string"`
  5556  
  5557  	// The state of the configuration. The possible states are ACTIVE, DELETING
  5558  	// and DELETE_FAILED.
  5559  	State *string `locationName:"state" type:"string" enum:"ConfigurationState"`
  5560  }
  5561  
  5562  // String returns the string representation.
  5563  //
  5564  // API parameter values that are decorated as "sensitive" in the API will not
  5565  // be included in the string output. The member name will be present, but the
  5566  // value will be replaced with "sensitive".
  5567  func (s DescribeConfigurationOutput) String() string {
  5568  	return awsutil.Prettify(s)
  5569  }
  5570  
  5571  // GoString returns the string representation.
  5572  //
  5573  // API parameter values that are decorated as "sensitive" in the API will not
  5574  // be included in the string output. The member name will be present, but the
  5575  // value will be replaced with "sensitive".
  5576  func (s DescribeConfigurationOutput) GoString() string {
  5577  	return s.String()
  5578  }
  5579  
  5580  // SetArn sets the Arn field's value.
  5581  func (s *DescribeConfigurationOutput) SetArn(v string) *DescribeConfigurationOutput {
  5582  	s.Arn = &v
  5583  	return s
  5584  }
  5585  
  5586  // SetCreationTime sets the CreationTime field's value.
  5587  func (s *DescribeConfigurationOutput) SetCreationTime(v time.Time) *DescribeConfigurationOutput {
  5588  	s.CreationTime = &v
  5589  	return s
  5590  }
  5591  
  5592  // SetDescription sets the Description field's value.
  5593  func (s *DescribeConfigurationOutput) SetDescription(v string) *DescribeConfigurationOutput {
  5594  	s.Description = &v
  5595  	return s
  5596  }
  5597  
  5598  // SetKafkaVersions sets the KafkaVersions field's value.
  5599  func (s *DescribeConfigurationOutput) SetKafkaVersions(v []*string) *DescribeConfigurationOutput {
  5600  	s.KafkaVersions = v
  5601  	return s
  5602  }
  5603  
  5604  // SetLatestRevision sets the LatestRevision field's value.
  5605  func (s *DescribeConfigurationOutput) SetLatestRevision(v *ConfigurationRevision) *DescribeConfigurationOutput {
  5606  	s.LatestRevision = v
  5607  	return s
  5608  }
  5609  
  5610  // SetName sets the Name field's value.
  5611  func (s *DescribeConfigurationOutput) SetName(v string) *DescribeConfigurationOutput {
  5612  	s.Name = &v
  5613  	return s
  5614  }
  5615  
  5616  // SetState sets the State field's value.
  5617  func (s *DescribeConfigurationOutput) SetState(v string) *DescribeConfigurationOutput {
  5618  	s.State = &v
  5619  	return s
  5620  }
  5621  
  5622  type DescribeConfigurationRevisionInput struct {
  5623  	_ struct{} `type:"structure" nopayload:"true"`
  5624  
  5625  	// Arn is a required field
  5626  	Arn *string `location:"uri" locationName:"arn" type:"string" required:"true"`
  5627  
  5628  	// Revision is a required field
  5629  	Revision *int64 `location:"uri" locationName:"revision" type:"long" required:"true"`
  5630  }
  5631  
  5632  // String returns the string representation.
  5633  //
  5634  // API parameter values that are decorated as "sensitive" in the API will not
  5635  // be included in the string output. The member name will be present, but the
  5636  // value will be replaced with "sensitive".
  5637  func (s DescribeConfigurationRevisionInput) String() string {
  5638  	return awsutil.Prettify(s)
  5639  }
  5640  
  5641  // GoString returns the string representation.
  5642  //
  5643  // API parameter values that are decorated as "sensitive" in the API will not
  5644  // be included in the string output. The member name will be present, but the
  5645  // value will be replaced with "sensitive".
  5646  func (s DescribeConfigurationRevisionInput) GoString() string {
  5647  	return s.String()
  5648  }
  5649  
  5650  // Validate inspects the fields of the type to determine if they are valid.
  5651  func (s *DescribeConfigurationRevisionInput) Validate() error {
  5652  	invalidParams := request.ErrInvalidParams{Context: "DescribeConfigurationRevisionInput"}
  5653  	if s.Arn == nil {
  5654  		invalidParams.Add(request.NewErrParamRequired("Arn"))
  5655  	}
  5656  	if s.Arn != nil && len(*s.Arn) < 1 {
  5657  		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
  5658  	}
  5659  	if s.Revision == nil {
  5660  		invalidParams.Add(request.NewErrParamRequired("Revision"))
  5661  	}
  5662  
  5663  	if invalidParams.Len() > 0 {
  5664  		return invalidParams
  5665  	}
  5666  	return nil
  5667  }
  5668  
  5669  // SetArn sets the Arn field's value.
  5670  func (s *DescribeConfigurationRevisionInput) SetArn(v string) *DescribeConfigurationRevisionInput {
  5671  	s.Arn = &v
  5672  	return s
  5673  }
  5674  
  5675  // SetRevision sets the Revision field's value.
  5676  func (s *DescribeConfigurationRevisionInput) SetRevision(v int64) *DescribeConfigurationRevisionInput {
  5677  	s.Revision = &v
  5678  	return s
  5679  }
  5680  
  5681  // Response body for DescribeConfigurationRevision.
  5682  type DescribeConfigurationRevisionOutput struct {
  5683  	_ struct{} `type:"structure"`
  5684  
  5685  	// The Amazon Resource Name (ARN) of the configuration.
  5686  	Arn *string `locationName:"arn" type:"string"`
  5687  
  5688  	// The time when the configuration was created.
  5689  	CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601"`
  5690  
  5691  	// The description of the configuration.
  5692  	Description *string `locationName:"description" type:"string"`
  5693  
  5694  	// The revision number.
  5695  	Revision *int64 `locationName:"revision" type:"long"`
  5696  
  5697  	// ServerProperties is automatically base64 encoded/decoded by the SDK.
  5698  	ServerProperties []byte `locationName:"serverProperties" type:"blob"`
  5699  }
  5700  
  5701  // String returns the string representation.
  5702  //
  5703  // API parameter values that are decorated as "sensitive" in the API will not
  5704  // be included in the string output. The member name will be present, but the
  5705  // value will be replaced with "sensitive".
  5706  func (s DescribeConfigurationRevisionOutput) String() string {
  5707  	return awsutil.Prettify(s)
  5708  }
  5709  
  5710  // GoString returns the string representation.
  5711  //
  5712  // API parameter values that are decorated as "sensitive" in the API will not
  5713  // be included in the string output. The member name will be present, but the
  5714  // value will be replaced with "sensitive".
  5715  func (s DescribeConfigurationRevisionOutput) GoString() string {
  5716  	return s.String()
  5717  }
  5718  
  5719  // SetArn sets the Arn field's value.
  5720  func (s *DescribeConfigurationRevisionOutput) SetArn(v string) *DescribeConfigurationRevisionOutput {
  5721  	s.Arn = &v
  5722  	return s
  5723  }
  5724  
  5725  // SetCreationTime sets the CreationTime field's value.
  5726  func (s *DescribeConfigurationRevisionOutput) SetCreationTime(v time.Time) *DescribeConfigurationRevisionOutput {
  5727  	s.CreationTime = &v
  5728  	return s
  5729  }
  5730  
  5731  // SetDescription sets the Description field's value.
  5732  func (s *DescribeConfigurationRevisionOutput) SetDescription(v string) *DescribeConfigurationRevisionOutput {
  5733  	s.Description = &v
  5734  	return s
  5735  }
  5736  
  5737  // SetRevision sets the Revision field's value.
  5738  func (s *DescribeConfigurationRevisionOutput) SetRevision(v int64) *DescribeConfigurationRevisionOutput {
  5739  	s.Revision = &v
  5740  	return s
  5741  }
  5742  
  5743  // SetServerProperties sets the ServerProperties field's value.
  5744  func (s *DescribeConfigurationRevisionOutput) SetServerProperties(v []byte) *DescribeConfigurationRevisionOutput {
  5745  	s.ServerProperties = v
  5746  	return s
  5747  }
  5748  
  5749  // Contains information about the EBS storage volumes attached to Kafka broker
  5750  // nodes.
  5751  type EBSStorageInfo struct {
  5752  	_ struct{} `type:"structure"`
  5753  
  5754  	// The size in GiB of the EBS volume for the data drive on each broker node.
  5755  	VolumeSize *int64 `locationName:"volumeSize" min:"1" type:"integer"`
  5756  }
  5757  
  5758  // String returns the string representation.
  5759  //
  5760  // API parameter values that are decorated as "sensitive" in the API will not
  5761  // be included in the string output. The member name will be present, but the
  5762  // value will be replaced with "sensitive".
  5763  func (s EBSStorageInfo) String() string {
  5764  	return awsutil.Prettify(s)
  5765  }
  5766  
  5767  // GoString returns the string representation.
  5768  //
  5769  // API parameter values that are decorated as "sensitive" in the API will not
  5770  // be included in the string output. The member name will be present, but the
  5771  // value will be replaced with "sensitive".
  5772  func (s EBSStorageInfo) GoString() string {
  5773  	return s.String()
  5774  }
  5775  
  5776  // Validate inspects the fields of the type to determine if they are valid.
  5777  func (s *EBSStorageInfo) Validate() error {
  5778  	invalidParams := request.ErrInvalidParams{Context: "EBSStorageInfo"}
  5779  	if s.VolumeSize != nil && *s.VolumeSize < 1 {
  5780  		invalidParams.Add(request.NewErrParamMinValue("VolumeSize", 1))
  5781  	}
  5782  
  5783  	if invalidParams.Len() > 0 {
  5784  		return invalidParams
  5785  	}
  5786  	return nil
  5787  }
  5788  
  5789  // SetVolumeSize sets the VolumeSize field's value.
  5790  func (s *EBSStorageInfo) SetVolumeSize(v int64) *EBSStorageInfo {
  5791  	s.VolumeSize = &v
  5792  	return s
  5793  }
  5794  
  5795  // The data-volume encryption details.
  5796  type EncryptionAtRest struct {
  5797  	_ struct{} `type:"structure"`
  5798  
  5799  	// The ARN of the AWS KMS key for encrypting data at rest. If you don't specify
  5800  	// a KMS key, MSK creates one for you and uses it.
  5801  	//
  5802  	// DataVolumeKMSKeyId is a required field
  5803  	DataVolumeKMSKeyId *string `locationName:"dataVolumeKMSKeyId" type:"string" required:"true"`
  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 EncryptionAtRest) 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 EncryptionAtRest) 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 *EncryptionAtRest) Validate() error {
  5826  	invalidParams := request.ErrInvalidParams{Context: "EncryptionAtRest"}
  5827  	if s.DataVolumeKMSKeyId == nil {
  5828  		invalidParams.Add(request.NewErrParamRequired("DataVolumeKMSKeyId"))
  5829  	}
  5830  
  5831  	if invalidParams.Len() > 0 {
  5832  		return invalidParams
  5833  	}
  5834  	return nil
  5835  }
  5836  
  5837  // SetDataVolumeKMSKeyId sets the DataVolumeKMSKeyId field's value.
  5838  func (s *EncryptionAtRest) SetDataVolumeKMSKeyId(v string) *EncryptionAtRest {
  5839  	s.DataVolumeKMSKeyId = &v
  5840  	return s
  5841  }
  5842  
  5843  // The settings for encrypting data in transit.
  5844  type EncryptionInTransit struct {
  5845  	_ struct{} `type:"structure"`
  5846  
  5847  	// Indicates the encryption setting for data in transit between clients and
  5848  	// brokers. You must set it to one of the following values.
  5849  	//
  5850  	// TLS means that client-broker communication is enabled with TLS only.
  5851  	//
  5852  	// TLS_PLAINTEXT means that client-broker communication is enabled for both
  5853  	// TLS-encrypted, as well as plaintext data.
  5854  	//
  5855  	// PLAINTEXT means that client-broker communication is enabled in plaintext
  5856  	// only.
  5857  	//
  5858  	// The default value is TLS.
  5859  	ClientBroker *string `locationName:"clientBroker" type:"string" enum:"ClientBroker"`
  5860  
  5861  	// When set to true, it indicates that data communication among the broker nodes
  5862  	// of the cluster is encrypted. When set to false, the communication happens
  5863  	// in plaintext.
  5864  	//
  5865  	// The default value is true.
  5866  	InCluster *bool `locationName:"inCluster" type:"boolean"`
  5867  }
  5868  
  5869  // String returns the string representation.
  5870  //
  5871  // API parameter values that are decorated as "sensitive" in the API will not
  5872  // be included in the string output. The member name will be present, but the
  5873  // value will be replaced with "sensitive".
  5874  func (s EncryptionInTransit) String() string {
  5875  	return awsutil.Prettify(s)
  5876  }
  5877  
  5878  // GoString returns the string representation.
  5879  //
  5880  // API parameter values that are decorated as "sensitive" in the API will not
  5881  // be included in the string output. The member name will be present, but the
  5882  // value will be replaced with "sensitive".
  5883  func (s EncryptionInTransit) GoString() string {
  5884  	return s.String()
  5885  }
  5886  
  5887  // SetClientBroker sets the ClientBroker field's value.
  5888  func (s *EncryptionInTransit) SetClientBroker(v string) *EncryptionInTransit {
  5889  	s.ClientBroker = &v
  5890  	return s
  5891  }
  5892  
  5893  // SetInCluster sets the InCluster field's value.
  5894  func (s *EncryptionInTransit) SetInCluster(v bool) *EncryptionInTransit {
  5895  	s.InCluster = &v
  5896  	return s
  5897  }
  5898  
  5899  // Includes encryption-related information, such as the AWS KMS key used for
  5900  // encrypting data at rest and whether you want MSK to encrypt your data in
  5901  // transit.
  5902  type EncryptionInfo struct {
  5903  	_ struct{} `type:"structure"`
  5904  
  5905  	// The data-volume encryption details.
  5906  	EncryptionAtRest *EncryptionAtRest `locationName:"encryptionAtRest" type:"structure"`
  5907  
  5908  	// The details for encryption in transit.
  5909  	EncryptionInTransit *EncryptionInTransit `locationName:"encryptionInTransit" type:"structure"`
  5910  }
  5911  
  5912  // String returns the string representation.
  5913  //
  5914  // API parameter values that are decorated as "sensitive" in the API will not
  5915  // be included in the string output. The member name will be present, but the
  5916  // value will be replaced with "sensitive".
  5917  func (s EncryptionInfo) String() string {
  5918  	return awsutil.Prettify(s)
  5919  }
  5920  
  5921  // GoString returns the string representation.
  5922  //
  5923  // API parameter values that are decorated as "sensitive" in the API will not
  5924  // be included in the string output. The member name will be present, but the
  5925  // value will be replaced with "sensitive".
  5926  func (s EncryptionInfo) GoString() string {
  5927  	return s.String()
  5928  }
  5929  
  5930  // Validate inspects the fields of the type to determine if they are valid.
  5931  func (s *EncryptionInfo) Validate() error {
  5932  	invalidParams := request.ErrInvalidParams{Context: "EncryptionInfo"}
  5933  	if s.EncryptionAtRest != nil {
  5934  		if err := s.EncryptionAtRest.Validate(); err != nil {
  5935  			invalidParams.AddNested("EncryptionAtRest", err.(request.ErrInvalidParams))
  5936  		}
  5937  	}
  5938  
  5939  	if invalidParams.Len() > 0 {
  5940  		return invalidParams
  5941  	}
  5942  	return nil
  5943  }
  5944  
  5945  // SetEncryptionAtRest sets the EncryptionAtRest field's value.
  5946  func (s *EncryptionInfo) SetEncryptionAtRest(v *EncryptionAtRest) *EncryptionInfo {
  5947  	s.EncryptionAtRest = v
  5948  	return s
  5949  }
  5950  
  5951  // SetEncryptionInTransit sets the EncryptionInTransit field's value.
  5952  func (s *EncryptionInfo) SetEncryptionInTransit(v *EncryptionInTransit) *EncryptionInfo {
  5953  	s.EncryptionInTransit = v
  5954  	return s
  5955  }
  5956  
  5957  // Returns information about an error state of the cluster.
  5958  type ErrorInfo struct {
  5959  	_ struct{} `type:"structure"`
  5960  
  5961  	// A number describing the error programmatically.
  5962  	ErrorCode *string `locationName:"errorCode" type:"string"`
  5963  
  5964  	// An optional field to provide more details about the error.
  5965  	ErrorString *string `locationName:"errorString" type:"string"`
  5966  }
  5967  
  5968  // String returns the string representation.
  5969  //
  5970  // API parameter values that are decorated as "sensitive" in the API will not
  5971  // be included in the string output. The member name will be present, but the
  5972  // value will be replaced with "sensitive".
  5973  func (s ErrorInfo) String() string {
  5974  	return awsutil.Prettify(s)
  5975  }
  5976  
  5977  // GoString returns the string representation.
  5978  //
  5979  // API parameter values that are decorated as "sensitive" in the API will not
  5980  // be included in the string output. The member name will be present, but the
  5981  // value will be replaced with "sensitive".
  5982  func (s ErrorInfo) GoString() string {
  5983  	return s.String()
  5984  }
  5985  
  5986  // SetErrorCode sets the ErrorCode field's value.
  5987  func (s *ErrorInfo) SetErrorCode(v string) *ErrorInfo {
  5988  	s.ErrorCode = &v
  5989  	return s
  5990  }
  5991  
  5992  // SetErrorString sets the ErrorString field's value.
  5993  func (s *ErrorInfo) SetErrorString(v string) *ErrorInfo {
  5994  	s.ErrorString = &v
  5995  	return s
  5996  }
  5997  
  5998  // Firehose details for BrokerLogs.
  5999  type Firehose struct {
  6000  	_ struct{} `type:"structure"`
  6001  
  6002  	// The Kinesis Data Firehose delivery stream that is the destination for broker
  6003  	// logs.
  6004  	DeliveryStream *string `locationName:"deliveryStream" type:"string"`
  6005  
  6006  	// Specifies whether broker logs get sent to the specified Kinesis Data Firehose
  6007  	// delivery stream.
  6008  	//
  6009  	// Enabled is a required field
  6010  	Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
  6011  }
  6012  
  6013  // String returns the string representation.
  6014  //
  6015  // API parameter values that are decorated as "sensitive" in the API will not
  6016  // be included in the string output. The member name will be present, but the
  6017  // value will be replaced with "sensitive".
  6018  func (s Firehose) String() string {
  6019  	return awsutil.Prettify(s)
  6020  }
  6021  
  6022  // GoString returns the string representation.
  6023  //
  6024  // API parameter values that are decorated as "sensitive" in the API will not
  6025  // be included in the string output. The member name will be present, but the
  6026  // value will be replaced with "sensitive".
  6027  func (s Firehose) GoString() string {
  6028  	return s.String()
  6029  }
  6030  
  6031  // Validate inspects the fields of the type to determine if they are valid.
  6032  func (s *Firehose) Validate() error {
  6033  	invalidParams := request.ErrInvalidParams{Context: "Firehose"}
  6034  	if s.Enabled == nil {
  6035  		invalidParams.Add(request.NewErrParamRequired("Enabled"))
  6036  	}
  6037  
  6038  	if invalidParams.Len() > 0 {
  6039  		return invalidParams
  6040  	}
  6041  	return nil
  6042  }
  6043  
  6044  // SetDeliveryStream sets the DeliveryStream field's value.
  6045  func (s *Firehose) SetDeliveryStream(v string) *Firehose {
  6046  	s.DeliveryStream = &v
  6047  	return s
  6048  }
  6049  
  6050  // SetEnabled sets the Enabled field's value.
  6051  func (s *Firehose) SetEnabled(v bool) *Firehose {
  6052  	s.Enabled = &v
  6053  	return s
  6054  }
  6055  
  6056  // Returns information about an error.
  6057  type ForbiddenException struct {
  6058  	_            struct{}                  `type:"structure"`
  6059  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6060  
  6061  	InvalidParameter *string `locationName:"invalidParameter" type:"string"`
  6062  
  6063  	Message_ *string `locationName:"message" type:"string"`
  6064  }
  6065  
  6066  // String returns the string representation.
  6067  //
  6068  // API parameter values that are decorated as "sensitive" in the API will not
  6069  // be included in the string output. The member name will be present, but the
  6070  // value will be replaced with "sensitive".
  6071  func (s ForbiddenException) String() string {
  6072  	return awsutil.Prettify(s)
  6073  }
  6074  
  6075  // GoString returns the string representation.
  6076  //
  6077  // API parameter values that are decorated as "sensitive" in the API will not
  6078  // be included in the string output. The member name will be present, but the
  6079  // value will be replaced with "sensitive".
  6080  func (s ForbiddenException) GoString() string {
  6081  	return s.String()
  6082  }
  6083  
  6084  func newErrorForbiddenException(v protocol.ResponseMetadata) error {
  6085  	return &ForbiddenException{
  6086  		RespMetadata: v,
  6087  	}
  6088  }
  6089  
  6090  // Code returns the exception type name.
  6091  func (s *ForbiddenException) Code() string {
  6092  	return "ForbiddenException"
  6093  }
  6094  
  6095  // Message returns the exception's message.
  6096  func (s *ForbiddenException) Message() string {
  6097  	if s.Message_ != nil {
  6098  		return *s.Message_
  6099  	}
  6100  	return ""
  6101  }
  6102  
  6103  // OrigErr always returns nil, satisfies awserr.Error interface.
  6104  func (s *ForbiddenException) OrigErr() error {
  6105  	return nil
  6106  }
  6107  
  6108  func (s *ForbiddenException) Error() string {
  6109  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  6110  }
  6111  
  6112  // Status code returns the HTTP status code for the request's response error.
  6113  func (s *ForbiddenException) StatusCode() int {
  6114  	return s.RespMetadata.StatusCode
  6115  }
  6116  
  6117  // RequestID returns the service's response RequestID for request.
  6118  func (s *ForbiddenException) RequestID() string {
  6119  	return s.RespMetadata.RequestID
  6120  }
  6121  
  6122  type GetBootstrapBrokersInput struct {
  6123  	_ struct{} `type:"structure" nopayload:"true"`
  6124  
  6125  	// ClusterArn is a required field
  6126  	ClusterArn *string `location:"uri" locationName:"clusterArn" type:"string" required:"true"`
  6127  }
  6128  
  6129  // String returns the string representation.
  6130  //
  6131  // API parameter values that are decorated as "sensitive" in the API will not
  6132  // be included in the string output. The member name will be present, but the
  6133  // value will be replaced with "sensitive".
  6134  func (s GetBootstrapBrokersInput) String() string {
  6135  	return awsutil.Prettify(s)
  6136  }
  6137  
  6138  // GoString returns the string representation.
  6139  //
  6140  // API parameter values that are decorated as "sensitive" in the API will not
  6141  // be included in the string output. The member name will be present, but the
  6142  // value will be replaced with "sensitive".
  6143  func (s GetBootstrapBrokersInput) GoString() string {
  6144  	return s.String()
  6145  }
  6146  
  6147  // Validate inspects the fields of the type to determine if they are valid.
  6148  func (s *GetBootstrapBrokersInput) Validate() error {
  6149  	invalidParams := request.ErrInvalidParams{Context: "GetBootstrapBrokersInput"}
  6150  	if s.ClusterArn == nil {
  6151  		invalidParams.Add(request.NewErrParamRequired("ClusterArn"))
  6152  	}
  6153  	if s.ClusterArn != nil && len(*s.ClusterArn) < 1 {
  6154  		invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1))
  6155  	}
  6156  
  6157  	if invalidParams.Len() > 0 {
  6158  		return invalidParams
  6159  	}
  6160  	return nil
  6161  }
  6162  
  6163  // SetClusterArn sets the ClusterArn field's value.
  6164  func (s *GetBootstrapBrokersInput) SetClusterArn(v string) *GetBootstrapBrokersInput {
  6165  	s.ClusterArn = &v
  6166  	return s
  6167  }
  6168  
  6169  // Returns a string containing one or more hostname:port pairs.
  6170  type GetBootstrapBrokersOutput struct {
  6171  	_ struct{} `type:"structure"`
  6172  
  6173  	// A string containing one or more hostname:port pairs.
  6174  	BootstrapBrokerString *string `locationName:"bootstrapBrokerString" type:"string"`
  6175  
  6176  	// A string that contains one or more DNS names (or IP addresses) and SASL IAM
  6177  	// port pairs. The following is an example.
  6178  	//  { "BootstrapBrokerStringSaslIam": "b-3.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9098,b-1.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9098,b-2.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9098"}
  6179  	BootstrapBrokerStringSaslIam *string `locationName:"bootstrapBrokerStringSaslIam" type:"string"`
  6180  
  6181  	// A string containing one or more DNS names (or IP) and SASL SCRAM port pairs.
  6182  	// The following is an example.
  6183  	//  { "BootstrapBrokerStringSaslScram": "b-3.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9096,b-1.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9096,b-2.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9096"}
  6184  	BootstrapBrokerStringSaslScram *string `locationName:"bootstrapBrokerStringSaslScram" type:"string"`
  6185  
  6186  	// A string containing one or more DNS names (or IP) and TLS port pairs. The
  6187  	// following is an example.
  6188  	//  { "BootstrapBrokerStringTls": "b-3.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9094,b-1.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9094,b-2.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9094"}
  6189  	BootstrapBrokerStringTls *string `locationName:"bootstrapBrokerStringTls" type:"string"`
  6190  }
  6191  
  6192  // String returns the string representation.
  6193  //
  6194  // API parameter values that are decorated as "sensitive" in the API will not
  6195  // be included in the string output. The member name will be present, but the
  6196  // value will be replaced with "sensitive".
  6197  func (s GetBootstrapBrokersOutput) String() string {
  6198  	return awsutil.Prettify(s)
  6199  }
  6200  
  6201  // GoString returns the string representation.
  6202  //
  6203  // API parameter values that are decorated as "sensitive" in the API will not
  6204  // be included in the string output. The member name will be present, but the
  6205  // value will be replaced with "sensitive".
  6206  func (s GetBootstrapBrokersOutput) GoString() string {
  6207  	return s.String()
  6208  }
  6209  
  6210  // SetBootstrapBrokerString sets the BootstrapBrokerString field's value.
  6211  func (s *GetBootstrapBrokersOutput) SetBootstrapBrokerString(v string) *GetBootstrapBrokersOutput {
  6212  	s.BootstrapBrokerString = &v
  6213  	return s
  6214  }
  6215  
  6216  // SetBootstrapBrokerStringSaslIam sets the BootstrapBrokerStringSaslIam field's value.
  6217  func (s *GetBootstrapBrokersOutput) SetBootstrapBrokerStringSaslIam(v string) *GetBootstrapBrokersOutput {
  6218  	s.BootstrapBrokerStringSaslIam = &v
  6219  	return s
  6220  }
  6221  
  6222  // SetBootstrapBrokerStringSaslScram sets the BootstrapBrokerStringSaslScram field's value.
  6223  func (s *GetBootstrapBrokersOutput) SetBootstrapBrokerStringSaslScram(v string) *GetBootstrapBrokersOutput {
  6224  	s.BootstrapBrokerStringSaslScram = &v
  6225  	return s
  6226  }
  6227  
  6228  // SetBootstrapBrokerStringTls sets the BootstrapBrokerStringTls field's value.
  6229  func (s *GetBootstrapBrokersOutput) SetBootstrapBrokerStringTls(v string) *GetBootstrapBrokersOutput {
  6230  	s.BootstrapBrokerStringTls = &v
  6231  	return s
  6232  }
  6233  
  6234  type GetCompatibleKafkaVersionsInput struct {
  6235  	_ struct{} `type:"structure" nopayload:"true"`
  6236  
  6237  	ClusterArn *string `location:"querystring" locationName:"clusterArn" type:"string"`
  6238  }
  6239  
  6240  // String returns the string representation.
  6241  //
  6242  // API parameter values that are decorated as "sensitive" in the API will not
  6243  // be included in the string output. The member name will be present, but the
  6244  // value will be replaced with "sensitive".
  6245  func (s GetCompatibleKafkaVersionsInput) String() string {
  6246  	return awsutil.Prettify(s)
  6247  }
  6248  
  6249  // GoString returns the string representation.
  6250  //
  6251  // API parameter values that are decorated as "sensitive" in the API will not
  6252  // be included in the string output. The member name will be present, but the
  6253  // value will be replaced with "sensitive".
  6254  func (s GetCompatibleKafkaVersionsInput) GoString() string {
  6255  	return s.String()
  6256  }
  6257  
  6258  // SetClusterArn sets the ClusterArn field's value.
  6259  func (s *GetCompatibleKafkaVersionsInput) SetClusterArn(v string) *GetCompatibleKafkaVersionsInput {
  6260  	s.ClusterArn = &v
  6261  	return s
  6262  }
  6263  
  6264  // Response body for GetCompatibleKafkaVersions.
  6265  type GetCompatibleKafkaVersionsOutput struct {
  6266  	_ struct{} `type:"structure"`
  6267  
  6268  	// A list of CompatibleKafkaVersion objects.
  6269  	CompatibleKafkaVersions []*CompatibleKafkaVersion `locationName:"compatibleKafkaVersions" type:"list"`
  6270  }
  6271  
  6272  // String returns the string representation.
  6273  //
  6274  // API parameter values that are decorated as "sensitive" in the API will not
  6275  // be included in the string output. The member name will be present, but the
  6276  // value will be replaced with "sensitive".
  6277  func (s GetCompatibleKafkaVersionsOutput) String() string {
  6278  	return awsutil.Prettify(s)
  6279  }
  6280  
  6281  // GoString 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 GetCompatibleKafkaVersionsOutput) GoString() string {
  6287  	return s.String()
  6288  }
  6289  
  6290  // SetCompatibleKafkaVersions sets the CompatibleKafkaVersions field's value.
  6291  func (s *GetCompatibleKafkaVersionsOutput) SetCompatibleKafkaVersions(v []*CompatibleKafkaVersion) *GetCompatibleKafkaVersionsOutput {
  6292  	s.CompatibleKafkaVersions = v
  6293  	return s
  6294  }
  6295  
  6296  type Iam struct {
  6297  	_ struct{} `type:"structure"`
  6298  
  6299  	Enabled *bool `locationName:"enabled" type:"boolean"`
  6300  }
  6301  
  6302  // String returns the string representation.
  6303  //
  6304  // API parameter values that are decorated as "sensitive" in the API will not
  6305  // be included in the string output. The member name will be present, but the
  6306  // value will be replaced with "sensitive".
  6307  func (s Iam) String() string {
  6308  	return awsutil.Prettify(s)
  6309  }
  6310  
  6311  // GoString returns the string representation.
  6312  //
  6313  // API parameter values that are decorated as "sensitive" in the API will not
  6314  // be included in the string output. The member name will be present, but the
  6315  // value will be replaced with "sensitive".
  6316  func (s Iam) GoString() string {
  6317  	return s.String()
  6318  }
  6319  
  6320  // SetEnabled sets the Enabled field's value.
  6321  func (s *Iam) SetEnabled(v bool) *Iam {
  6322  	s.Enabled = &v
  6323  	return s
  6324  }
  6325  
  6326  // Returns information about an error.
  6327  type InternalServerErrorException struct {
  6328  	_            struct{}                  `type:"structure"`
  6329  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6330  
  6331  	InvalidParameter *string `locationName:"invalidParameter" type:"string"`
  6332  
  6333  	Message_ *string `locationName:"message" type:"string"`
  6334  }
  6335  
  6336  // String returns the string representation.
  6337  //
  6338  // API parameter values that are decorated as "sensitive" in the API will not
  6339  // be included in the string output. The member name will be present, but the
  6340  // value will be replaced with "sensitive".
  6341  func (s InternalServerErrorException) String() string {
  6342  	return awsutil.Prettify(s)
  6343  }
  6344  
  6345  // GoString returns the string representation.
  6346  //
  6347  // API parameter values that are decorated as "sensitive" in the API will not
  6348  // be included in the string output. The member name will be present, but the
  6349  // value will be replaced with "sensitive".
  6350  func (s InternalServerErrorException) GoString() string {
  6351  	return s.String()
  6352  }
  6353  
  6354  func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error {
  6355  	return &InternalServerErrorException{
  6356  		RespMetadata: v,
  6357  	}
  6358  }
  6359  
  6360  // Code returns the exception type name.
  6361  func (s *InternalServerErrorException) Code() string {
  6362  	return "InternalServerErrorException"
  6363  }
  6364  
  6365  // Message returns the exception's message.
  6366  func (s *InternalServerErrorException) Message() string {
  6367  	if s.Message_ != nil {
  6368  		return *s.Message_
  6369  	}
  6370  	return ""
  6371  }
  6372  
  6373  // OrigErr always returns nil, satisfies awserr.Error interface.
  6374  func (s *InternalServerErrorException) OrigErr() error {
  6375  	return nil
  6376  }
  6377  
  6378  func (s *InternalServerErrorException) Error() string {
  6379  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  6380  }
  6381  
  6382  // Status code returns the HTTP status code for the request's response error.
  6383  func (s *InternalServerErrorException) StatusCode() int {
  6384  	return s.RespMetadata.StatusCode
  6385  }
  6386  
  6387  // RequestID returns the service's response RequestID for request.
  6388  func (s *InternalServerErrorException) RequestID() string {
  6389  	return s.RespMetadata.RequestID
  6390  }
  6391  
  6392  // Indicates whether you want to enable or disable the JMX Exporter.
  6393  type JmxExporter struct {
  6394  	_ struct{} `type:"structure"`
  6395  
  6396  	// Indicates whether you want to enable or disable the JMX Exporter.
  6397  	//
  6398  	// EnabledInBroker is a required field
  6399  	EnabledInBroker *bool `locationName:"enabledInBroker" type:"boolean" required:"true"`
  6400  }
  6401  
  6402  // String returns the string representation.
  6403  //
  6404  // API parameter values that are decorated as "sensitive" in the API will not
  6405  // be included in the string output. The member name will be present, but the
  6406  // value will be replaced with "sensitive".
  6407  func (s JmxExporter) String() string {
  6408  	return awsutil.Prettify(s)
  6409  }
  6410  
  6411  // GoString returns the string representation.
  6412  //
  6413  // API parameter values that are decorated as "sensitive" in the API will not
  6414  // be included in the string output. The member name will be present, but the
  6415  // value will be replaced with "sensitive".
  6416  func (s JmxExporter) GoString() string {
  6417  	return s.String()
  6418  }
  6419  
  6420  // SetEnabledInBroker sets the EnabledInBroker field's value.
  6421  func (s *JmxExporter) SetEnabledInBroker(v bool) *JmxExporter {
  6422  	s.EnabledInBroker = &v
  6423  	return s
  6424  }
  6425  
  6426  // Indicates whether you want to enable or disable the JMX Exporter.
  6427  type JmxExporterInfo struct {
  6428  	_ struct{} `type:"structure"`
  6429  
  6430  	// JMX Exporter being enabled in broker.
  6431  	//
  6432  	// EnabledInBroker is a required field
  6433  	EnabledInBroker *bool `locationName:"enabledInBroker" type:"boolean" required:"true"`
  6434  }
  6435  
  6436  // String returns the string representation.
  6437  //
  6438  // API parameter values that are decorated as "sensitive" in the API will not
  6439  // be included in the string output. The member name will be present, but the
  6440  // value will be replaced with "sensitive".
  6441  func (s JmxExporterInfo) String() string {
  6442  	return awsutil.Prettify(s)
  6443  }
  6444  
  6445  // GoString returns the string representation.
  6446  //
  6447  // API parameter values that are decorated as "sensitive" in the API will not
  6448  // be included in the string output. The member name will be present, but the
  6449  // value will be replaced with "sensitive".
  6450  func (s JmxExporterInfo) GoString() string {
  6451  	return s.String()
  6452  }
  6453  
  6454  // Validate inspects the fields of the type to determine if they are valid.
  6455  func (s *JmxExporterInfo) Validate() error {
  6456  	invalidParams := request.ErrInvalidParams{Context: "JmxExporterInfo"}
  6457  	if s.EnabledInBroker == nil {
  6458  		invalidParams.Add(request.NewErrParamRequired("EnabledInBroker"))
  6459  	}
  6460  
  6461  	if invalidParams.Len() > 0 {
  6462  		return invalidParams
  6463  	}
  6464  	return nil
  6465  }
  6466  
  6467  // SetEnabledInBroker sets the EnabledInBroker field's value.
  6468  func (s *JmxExporterInfo) SetEnabledInBroker(v bool) *JmxExporterInfo {
  6469  	s.EnabledInBroker = &v
  6470  	return s
  6471  }
  6472  
  6473  // Information about a Kafka version.
  6474  type KafkaVersion struct {
  6475  	_ struct{} `type:"structure"`
  6476  
  6477  	// The status of the Apache Kafka version.
  6478  	Status *string `locationName:"status" type:"string" enum:"KafkaVersionStatus"`
  6479  
  6480  	// The Kafka version.
  6481  	Version *string `locationName:"version" type:"string"`
  6482  }
  6483  
  6484  // String returns the string representation.
  6485  //
  6486  // API parameter values that are decorated as "sensitive" in the API will not
  6487  // be included in the string output. The member name will be present, but the
  6488  // value will be replaced with "sensitive".
  6489  func (s KafkaVersion) String() string {
  6490  	return awsutil.Prettify(s)
  6491  }
  6492  
  6493  // GoString returns the string representation.
  6494  //
  6495  // API parameter values that are decorated as "sensitive" in the API will not
  6496  // be included in the string output. The member name will be present, but the
  6497  // value will be replaced with "sensitive".
  6498  func (s KafkaVersion) GoString() string {
  6499  	return s.String()
  6500  }
  6501  
  6502  // SetStatus sets the Status field's value.
  6503  func (s *KafkaVersion) SetStatus(v string) *KafkaVersion {
  6504  	s.Status = &v
  6505  	return s
  6506  }
  6507  
  6508  // SetVersion sets the Version field's value.
  6509  func (s *KafkaVersion) SetVersion(v string) *KafkaVersion {
  6510  	s.Version = &v
  6511  	return s
  6512  }
  6513  
  6514  type ListClusterOperationsInput struct {
  6515  	_ struct{} `type:"structure" nopayload:"true"`
  6516  
  6517  	// ClusterArn is a required field
  6518  	ClusterArn *string `location:"uri" locationName:"clusterArn" type:"string" required:"true"`
  6519  
  6520  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  6521  
  6522  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  6523  }
  6524  
  6525  // String returns the string representation.
  6526  //
  6527  // API parameter values that are decorated as "sensitive" in the API will not
  6528  // be included in the string output. The member name will be present, but the
  6529  // value will be replaced with "sensitive".
  6530  func (s ListClusterOperationsInput) String() string {
  6531  	return awsutil.Prettify(s)
  6532  }
  6533  
  6534  // GoString returns the string representation.
  6535  //
  6536  // API parameter values that are decorated as "sensitive" in the API will not
  6537  // be included in the string output. The member name will be present, but the
  6538  // value will be replaced with "sensitive".
  6539  func (s ListClusterOperationsInput) GoString() string {
  6540  	return s.String()
  6541  }
  6542  
  6543  // Validate inspects the fields of the type to determine if they are valid.
  6544  func (s *ListClusterOperationsInput) Validate() error {
  6545  	invalidParams := request.ErrInvalidParams{Context: "ListClusterOperationsInput"}
  6546  	if s.ClusterArn == nil {
  6547  		invalidParams.Add(request.NewErrParamRequired("ClusterArn"))
  6548  	}
  6549  	if s.ClusterArn != nil && len(*s.ClusterArn) < 1 {
  6550  		invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1))
  6551  	}
  6552  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6553  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6554  	}
  6555  
  6556  	if invalidParams.Len() > 0 {
  6557  		return invalidParams
  6558  	}
  6559  	return nil
  6560  }
  6561  
  6562  // SetClusterArn sets the ClusterArn field's value.
  6563  func (s *ListClusterOperationsInput) SetClusterArn(v string) *ListClusterOperationsInput {
  6564  	s.ClusterArn = &v
  6565  	return s
  6566  }
  6567  
  6568  // SetMaxResults sets the MaxResults field's value.
  6569  func (s *ListClusterOperationsInput) SetMaxResults(v int64) *ListClusterOperationsInput {
  6570  	s.MaxResults = &v
  6571  	return s
  6572  }
  6573  
  6574  // SetNextToken sets the NextToken field's value.
  6575  func (s *ListClusterOperationsInput) SetNextToken(v string) *ListClusterOperationsInput {
  6576  	s.NextToken = &v
  6577  	return s
  6578  }
  6579  
  6580  // The response contains an array containing cluster operation information and
  6581  // a next token if the response is truncated.
  6582  type ListClusterOperationsOutput struct {
  6583  	_ struct{} `type:"structure"`
  6584  
  6585  	// An array of cluster operation information objects.
  6586  	ClusterOperationInfoList []*ClusterOperationInfo `locationName:"clusterOperationInfoList" type:"list"`
  6587  
  6588  	// If the response of ListClusterOperations is truncated, it returns a NextToken
  6589  	// in the response. This Nexttoken should be sent in the subsequent request
  6590  	// to ListClusterOperations.
  6591  	NextToken *string `locationName:"nextToken" type:"string"`
  6592  }
  6593  
  6594  // String returns the string representation.
  6595  //
  6596  // API parameter values that are decorated as "sensitive" in the API will not
  6597  // be included in the string output. The member name will be present, but the
  6598  // value will be replaced with "sensitive".
  6599  func (s ListClusterOperationsOutput) String() string {
  6600  	return awsutil.Prettify(s)
  6601  }
  6602  
  6603  // GoString returns the string representation.
  6604  //
  6605  // API parameter values that are decorated as "sensitive" in the API will not
  6606  // be included in the string output. The member name will be present, but the
  6607  // value will be replaced with "sensitive".
  6608  func (s ListClusterOperationsOutput) GoString() string {
  6609  	return s.String()
  6610  }
  6611  
  6612  // SetClusterOperationInfoList sets the ClusterOperationInfoList field's value.
  6613  func (s *ListClusterOperationsOutput) SetClusterOperationInfoList(v []*ClusterOperationInfo) *ListClusterOperationsOutput {
  6614  	s.ClusterOperationInfoList = v
  6615  	return s
  6616  }
  6617  
  6618  // SetNextToken sets the NextToken field's value.
  6619  func (s *ListClusterOperationsOutput) SetNextToken(v string) *ListClusterOperationsOutput {
  6620  	s.NextToken = &v
  6621  	return s
  6622  }
  6623  
  6624  type ListClustersInput struct {
  6625  	_ struct{} `type:"structure" nopayload:"true"`
  6626  
  6627  	ClusterNameFilter *string `location:"querystring" locationName:"clusterNameFilter" type:"string"`
  6628  
  6629  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  6630  
  6631  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  6632  }
  6633  
  6634  // String returns the string representation.
  6635  //
  6636  // API parameter values that are decorated as "sensitive" in the API will not
  6637  // be included in the string output. The member name will be present, but the
  6638  // value will be replaced with "sensitive".
  6639  func (s ListClustersInput) String() string {
  6640  	return awsutil.Prettify(s)
  6641  }
  6642  
  6643  // GoString returns the string representation.
  6644  //
  6645  // API parameter values that are decorated as "sensitive" in the API will not
  6646  // be included in the string output. The member name will be present, but the
  6647  // value will be replaced with "sensitive".
  6648  func (s ListClustersInput) GoString() string {
  6649  	return s.String()
  6650  }
  6651  
  6652  // Validate inspects the fields of the type to determine if they are valid.
  6653  func (s *ListClustersInput) Validate() error {
  6654  	invalidParams := request.ErrInvalidParams{Context: "ListClustersInput"}
  6655  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6656  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6657  	}
  6658  
  6659  	if invalidParams.Len() > 0 {
  6660  		return invalidParams
  6661  	}
  6662  	return nil
  6663  }
  6664  
  6665  // SetClusterNameFilter sets the ClusterNameFilter field's value.
  6666  func (s *ListClustersInput) SetClusterNameFilter(v string) *ListClustersInput {
  6667  	s.ClusterNameFilter = &v
  6668  	return s
  6669  }
  6670  
  6671  // SetMaxResults sets the MaxResults field's value.
  6672  func (s *ListClustersInput) SetMaxResults(v int64) *ListClustersInput {
  6673  	s.MaxResults = &v
  6674  	return s
  6675  }
  6676  
  6677  // SetNextToken sets the NextToken field's value.
  6678  func (s *ListClustersInput) SetNextToken(v string) *ListClustersInput {
  6679  	s.NextToken = &v
  6680  	return s
  6681  }
  6682  
  6683  // The response contains an array containing cluster information and a next
  6684  // token if the response is truncated.
  6685  type ListClustersOutput struct {
  6686  	_ struct{} `type:"structure"`
  6687  
  6688  	// Information on each of the MSK clusters in the response.
  6689  	ClusterInfoList []*ClusterInfo `locationName:"clusterInfoList" type:"list"`
  6690  
  6691  	// The paginated results marker. When the result of a ListClusters operation
  6692  	// is truncated, the call returns NextToken in the response. To get another
  6693  	// batch of clusters, provide this token in your next request.
  6694  	NextToken *string `locationName:"nextToken" type:"string"`
  6695  }
  6696  
  6697  // String returns the string representation.
  6698  //
  6699  // API parameter values that are decorated as "sensitive" in the API will not
  6700  // be included in the string output. The member name will be present, but the
  6701  // value will be replaced with "sensitive".
  6702  func (s ListClustersOutput) String() string {
  6703  	return awsutil.Prettify(s)
  6704  }
  6705  
  6706  // GoString returns the string representation.
  6707  //
  6708  // API parameter values that are decorated as "sensitive" in the API will not
  6709  // be included in the string output. The member name will be present, but the
  6710  // value will be replaced with "sensitive".
  6711  func (s ListClustersOutput) GoString() string {
  6712  	return s.String()
  6713  }
  6714  
  6715  // SetClusterInfoList sets the ClusterInfoList field's value.
  6716  func (s *ListClustersOutput) SetClusterInfoList(v []*ClusterInfo) *ListClustersOutput {
  6717  	s.ClusterInfoList = v
  6718  	return s
  6719  }
  6720  
  6721  // SetNextToken sets the NextToken field's value.
  6722  func (s *ListClustersOutput) SetNextToken(v string) *ListClustersOutput {
  6723  	s.NextToken = &v
  6724  	return s
  6725  }
  6726  
  6727  type ListConfigurationRevisionsInput struct {
  6728  	_ struct{} `type:"structure" nopayload:"true"`
  6729  
  6730  	// Arn is a required field
  6731  	Arn *string `location:"uri" locationName:"arn" type:"string" required:"true"`
  6732  
  6733  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  6734  
  6735  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  6736  }
  6737  
  6738  // String returns the string representation.
  6739  //
  6740  // API parameter values that are decorated as "sensitive" in the API will not
  6741  // be included in the string output. The member name will be present, but the
  6742  // value will be replaced with "sensitive".
  6743  func (s ListConfigurationRevisionsInput) String() string {
  6744  	return awsutil.Prettify(s)
  6745  }
  6746  
  6747  // GoString returns the string representation.
  6748  //
  6749  // API parameter values that are decorated as "sensitive" in the API will not
  6750  // be included in the string output. The member name will be present, but the
  6751  // value will be replaced with "sensitive".
  6752  func (s ListConfigurationRevisionsInput) GoString() string {
  6753  	return s.String()
  6754  }
  6755  
  6756  // Validate inspects the fields of the type to determine if they are valid.
  6757  func (s *ListConfigurationRevisionsInput) Validate() error {
  6758  	invalidParams := request.ErrInvalidParams{Context: "ListConfigurationRevisionsInput"}
  6759  	if s.Arn == nil {
  6760  		invalidParams.Add(request.NewErrParamRequired("Arn"))
  6761  	}
  6762  	if s.Arn != nil && len(*s.Arn) < 1 {
  6763  		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
  6764  	}
  6765  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6766  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6767  	}
  6768  
  6769  	if invalidParams.Len() > 0 {
  6770  		return invalidParams
  6771  	}
  6772  	return nil
  6773  }
  6774  
  6775  // SetArn sets the Arn field's value.
  6776  func (s *ListConfigurationRevisionsInput) SetArn(v string) *ListConfigurationRevisionsInput {
  6777  	s.Arn = &v
  6778  	return s
  6779  }
  6780  
  6781  // SetMaxResults sets the MaxResults field's value.
  6782  func (s *ListConfigurationRevisionsInput) SetMaxResults(v int64) *ListConfigurationRevisionsInput {
  6783  	s.MaxResults = &v
  6784  	return s
  6785  }
  6786  
  6787  // SetNextToken sets the NextToken field's value.
  6788  func (s *ListConfigurationRevisionsInput) SetNextToken(v string) *ListConfigurationRevisionsInput {
  6789  	s.NextToken = &v
  6790  	return s
  6791  }
  6792  
  6793  // Information about revisions of an MSK configuration.
  6794  type ListConfigurationRevisionsOutput struct {
  6795  	_ struct{} `type:"structure"`
  6796  
  6797  	// Paginated results marker.
  6798  	NextToken *string `locationName:"nextToken" type:"string"`
  6799  
  6800  	// List of ConfigurationRevision objects.
  6801  	Revisions []*ConfigurationRevision `locationName:"revisions" type:"list"`
  6802  }
  6803  
  6804  // String returns the string representation.
  6805  //
  6806  // API parameter values that are decorated as "sensitive" in the API will not
  6807  // be included in the string output. The member name will be present, but the
  6808  // value will be replaced with "sensitive".
  6809  func (s ListConfigurationRevisionsOutput) String() string {
  6810  	return awsutil.Prettify(s)
  6811  }
  6812  
  6813  // GoString returns the string representation.
  6814  //
  6815  // API parameter values that are decorated as "sensitive" in the API will not
  6816  // be included in the string output. The member name will be present, but the
  6817  // value will be replaced with "sensitive".
  6818  func (s ListConfigurationRevisionsOutput) GoString() string {
  6819  	return s.String()
  6820  }
  6821  
  6822  // SetNextToken sets the NextToken field's value.
  6823  func (s *ListConfigurationRevisionsOutput) SetNextToken(v string) *ListConfigurationRevisionsOutput {
  6824  	s.NextToken = &v
  6825  	return s
  6826  }
  6827  
  6828  // SetRevisions sets the Revisions field's value.
  6829  func (s *ListConfigurationRevisionsOutput) SetRevisions(v []*ConfigurationRevision) *ListConfigurationRevisionsOutput {
  6830  	s.Revisions = v
  6831  	return s
  6832  }
  6833  
  6834  type ListConfigurationsInput struct {
  6835  	_ struct{} `type:"structure" nopayload:"true"`
  6836  
  6837  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  6838  
  6839  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  6840  }
  6841  
  6842  // String returns the string representation.
  6843  //
  6844  // API parameter values that are decorated as "sensitive" in the API will not
  6845  // be included in the string output. The member name will be present, but the
  6846  // value will be replaced with "sensitive".
  6847  func (s ListConfigurationsInput) String() string {
  6848  	return awsutil.Prettify(s)
  6849  }
  6850  
  6851  // GoString returns the string representation.
  6852  //
  6853  // API parameter values that are decorated as "sensitive" in the API will not
  6854  // be included in the string output. The member name will be present, but the
  6855  // value will be replaced with "sensitive".
  6856  func (s ListConfigurationsInput) GoString() string {
  6857  	return s.String()
  6858  }
  6859  
  6860  // Validate inspects the fields of the type to determine if they are valid.
  6861  func (s *ListConfigurationsInput) Validate() error {
  6862  	invalidParams := request.ErrInvalidParams{Context: "ListConfigurationsInput"}
  6863  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6864  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6865  	}
  6866  
  6867  	if invalidParams.Len() > 0 {
  6868  		return invalidParams
  6869  	}
  6870  	return nil
  6871  }
  6872  
  6873  // SetMaxResults sets the MaxResults field's value.
  6874  func (s *ListConfigurationsInput) SetMaxResults(v int64) *ListConfigurationsInput {
  6875  	s.MaxResults = &v
  6876  	return s
  6877  }
  6878  
  6879  // SetNextToken sets the NextToken field's value.
  6880  func (s *ListConfigurationsInput) SetNextToken(v string) *ListConfigurationsInput {
  6881  	s.NextToken = &v
  6882  	return s
  6883  }
  6884  
  6885  // The response contains an array of Configuration and a next token if the response
  6886  // is truncated.
  6887  type ListConfigurationsOutput struct {
  6888  	_ struct{} `type:"structure"`
  6889  
  6890  	// An array of MSK configurations.
  6891  	Configurations []*Configuration `locationName:"configurations" type:"list"`
  6892  
  6893  	// The paginated results marker. When the result of a ListConfigurations operation
  6894  	// is truncated, the call returns NextToken in the response. To get another
  6895  	// batch of configurations, provide this token in your next request.
  6896  	NextToken *string `locationName:"nextToken" type:"string"`
  6897  }
  6898  
  6899  // String returns the string representation.
  6900  //
  6901  // API parameter values that are decorated as "sensitive" in the API will not
  6902  // be included in the string output. The member name will be present, but the
  6903  // value will be replaced with "sensitive".
  6904  func (s ListConfigurationsOutput) String() string {
  6905  	return awsutil.Prettify(s)
  6906  }
  6907  
  6908  // GoString returns the string representation.
  6909  //
  6910  // API parameter values that are decorated as "sensitive" in the API will not
  6911  // be included in the string output. The member name will be present, but the
  6912  // value will be replaced with "sensitive".
  6913  func (s ListConfigurationsOutput) GoString() string {
  6914  	return s.String()
  6915  }
  6916  
  6917  // SetConfigurations sets the Configurations field's value.
  6918  func (s *ListConfigurationsOutput) SetConfigurations(v []*Configuration) *ListConfigurationsOutput {
  6919  	s.Configurations = v
  6920  	return s
  6921  }
  6922  
  6923  // SetNextToken sets the NextToken field's value.
  6924  func (s *ListConfigurationsOutput) SetNextToken(v string) *ListConfigurationsOutput {
  6925  	s.NextToken = &v
  6926  	return s
  6927  }
  6928  
  6929  type ListKafkaVersionsInput struct {
  6930  	_ struct{} `type:"structure" nopayload:"true"`
  6931  
  6932  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  6933  
  6934  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  6935  }
  6936  
  6937  // String returns the string representation.
  6938  //
  6939  // API parameter values that are decorated as "sensitive" in the API will not
  6940  // be included in the string output. The member name will be present, but the
  6941  // value will be replaced with "sensitive".
  6942  func (s ListKafkaVersionsInput) String() string {
  6943  	return awsutil.Prettify(s)
  6944  }
  6945  
  6946  // GoString returns the string representation.
  6947  //
  6948  // API parameter values that are decorated as "sensitive" in the API will not
  6949  // be included in the string output. The member name will be present, but the
  6950  // value will be replaced with "sensitive".
  6951  func (s ListKafkaVersionsInput) GoString() string {
  6952  	return s.String()
  6953  }
  6954  
  6955  // Validate inspects the fields of the type to determine if they are valid.
  6956  func (s *ListKafkaVersionsInput) Validate() error {
  6957  	invalidParams := request.ErrInvalidParams{Context: "ListKafkaVersionsInput"}
  6958  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6959  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6960  	}
  6961  
  6962  	if invalidParams.Len() > 0 {
  6963  		return invalidParams
  6964  	}
  6965  	return nil
  6966  }
  6967  
  6968  // SetMaxResults sets the MaxResults field's value.
  6969  func (s *ListKafkaVersionsInput) SetMaxResults(v int64) *ListKafkaVersionsInput {
  6970  	s.MaxResults = &v
  6971  	return s
  6972  }
  6973  
  6974  // SetNextToken sets the NextToken field's value.
  6975  func (s *ListKafkaVersionsInput) SetNextToken(v string) *ListKafkaVersionsInput {
  6976  	s.NextToken = &v
  6977  	return s
  6978  }
  6979  
  6980  // Response for ListKafkaVersions.
  6981  type ListKafkaVersionsOutput struct {
  6982  	_ struct{} `type:"structure"`
  6983  
  6984  	// An array of Kafka version objects.
  6985  	KafkaVersions []*KafkaVersion `locationName:"kafkaVersions" type:"list"`
  6986  
  6987  	// Paginated results marker.
  6988  	NextToken *string `locationName:"nextToken" type:"string"`
  6989  }
  6990  
  6991  // String returns the string representation.
  6992  //
  6993  // API parameter values that are decorated as "sensitive" in the API will not
  6994  // be included in the string output. The member name will be present, but the
  6995  // value will be replaced with "sensitive".
  6996  func (s ListKafkaVersionsOutput) String() string {
  6997  	return awsutil.Prettify(s)
  6998  }
  6999  
  7000  // GoString returns the string representation.
  7001  //
  7002  // API parameter values that are decorated as "sensitive" in the API will not
  7003  // be included in the string output. The member name will be present, but the
  7004  // value will be replaced with "sensitive".
  7005  func (s ListKafkaVersionsOutput) GoString() string {
  7006  	return s.String()
  7007  }
  7008  
  7009  // SetKafkaVersions sets the KafkaVersions field's value.
  7010  func (s *ListKafkaVersionsOutput) SetKafkaVersions(v []*KafkaVersion) *ListKafkaVersionsOutput {
  7011  	s.KafkaVersions = v
  7012  	return s
  7013  }
  7014  
  7015  // SetNextToken sets the NextToken field's value.
  7016  func (s *ListKafkaVersionsOutput) SetNextToken(v string) *ListKafkaVersionsOutput {
  7017  	s.NextToken = &v
  7018  	return s
  7019  }
  7020  
  7021  type ListNodesInput struct {
  7022  	_ struct{} `type:"structure" nopayload:"true"`
  7023  
  7024  	// ClusterArn is a required field
  7025  	ClusterArn *string `location:"uri" locationName:"clusterArn" type:"string" required:"true"`
  7026  
  7027  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  7028  
  7029  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  7030  }
  7031  
  7032  // String returns the string representation.
  7033  //
  7034  // API parameter values that are decorated as "sensitive" in the API will not
  7035  // be included in the string output. The member name will be present, but the
  7036  // value will be replaced with "sensitive".
  7037  func (s ListNodesInput) String() string {
  7038  	return awsutil.Prettify(s)
  7039  }
  7040  
  7041  // GoString returns the string representation.
  7042  //
  7043  // API parameter values that are decorated as "sensitive" in the API will not
  7044  // be included in the string output. The member name will be present, but the
  7045  // value will be replaced with "sensitive".
  7046  func (s ListNodesInput) GoString() string {
  7047  	return s.String()
  7048  }
  7049  
  7050  // Validate inspects the fields of the type to determine if they are valid.
  7051  func (s *ListNodesInput) Validate() error {
  7052  	invalidParams := request.ErrInvalidParams{Context: "ListNodesInput"}
  7053  	if s.ClusterArn == nil {
  7054  		invalidParams.Add(request.NewErrParamRequired("ClusterArn"))
  7055  	}
  7056  	if s.ClusterArn != nil && len(*s.ClusterArn) < 1 {
  7057  		invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1))
  7058  	}
  7059  	if s.MaxResults != nil && *s.MaxResults < 1 {
  7060  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7061  	}
  7062  
  7063  	if invalidParams.Len() > 0 {
  7064  		return invalidParams
  7065  	}
  7066  	return nil
  7067  }
  7068  
  7069  // SetClusterArn sets the ClusterArn field's value.
  7070  func (s *ListNodesInput) SetClusterArn(v string) *ListNodesInput {
  7071  	s.ClusterArn = &v
  7072  	return s
  7073  }
  7074  
  7075  // SetMaxResults sets the MaxResults field's value.
  7076  func (s *ListNodesInput) SetMaxResults(v int64) *ListNodesInput {
  7077  	s.MaxResults = &v
  7078  	return s
  7079  }
  7080  
  7081  // SetNextToken sets the NextToken field's value.
  7082  func (s *ListNodesInput) SetNextToken(v string) *ListNodesInput {
  7083  	s.NextToken = &v
  7084  	return s
  7085  }
  7086  
  7087  // Information about nodes in the cluster.
  7088  type ListNodesOutput struct {
  7089  	_ struct{} `type:"structure"`
  7090  
  7091  	// The paginated results marker. When the result of a ListNodes operation is
  7092  	// truncated, the call returns NextToken in the response. To get another batch
  7093  	// of nodes, provide this token in your next request.
  7094  	NextToken *string `locationName:"nextToken" type:"string"`
  7095  
  7096  	// List containing a NodeInfo object.
  7097  	NodeInfoList []*NodeInfo `locationName:"nodeInfoList" type:"list"`
  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 ListNodesOutput) 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 ListNodesOutput) GoString() string {
  7115  	return s.String()
  7116  }
  7117  
  7118  // SetNextToken sets the NextToken field's value.
  7119  func (s *ListNodesOutput) SetNextToken(v string) *ListNodesOutput {
  7120  	s.NextToken = &v
  7121  	return s
  7122  }
  7123  
  7124  // SetNodeInfoList sets the NodeInfoList field's value.
  7125  func (s *ListNodesOutput) SetNodeInfoList(v []*NodeInfo) *ListNodesOutput {
  7126  	s.NodeInfoList = v
  7127  	return s
  7128  }
  7129  
  7130  type ListScramSecretsInput struct {
  7131  	_ struct{} `type:"structure" nopayload:"true"`
  7132  
  7133  	// ClusterArn is a required field
  7134  	ClusterArn *string `location:"uri" locationName:"clusterArn" type:"string" required:"true"`
  7135  
  7136  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  7137  
  7138  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  7139  }
  7140  
  7141  // String returns the string representation.
  7142  //
  7143  // API parameter values that are decorated as "sensitive" in the API will not
  7144  // be included in the string output. The member name will be present, but the
  7145  // value will be replaced with "sensitive".
  7146  func (s ListScramSecretsInput) String() string {
  7147  	return awsutil.Prettify(s)
  7148  }
  7149  
  7150  // GoString returns the string representation.
  7151  //
  7152  // API parameter values that are decorated as "sensitive" in the API will not
  7153  // be included in the string output. The member name will be present, but the
  7154  // value will be replaced with "sensitive".
  7155  func (s ListScramSecretsInput) GoString() string {
  7156  	return s.String()
  7157  }
  7158  
  7159  // Validate inspects the fields of the type to determine if they are valid.
  7160  func (s *ListScramSecretsInput) Validate() error {
  7161  	invalidParams := request.ErrInvalidParams{Context: "ListScramSecretsInput"}
  7162  	if s.ClusterArn == nil {
  7163  		invalidParams.Add(request.NewErrParamRequired("ClusterArn"))
  7164  	}
  7165  	if s.ClusterArn != nil && len(*s.ClusterArn) < 1 {
  7166  		invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1))
  7167  	}
  7168  	if s.MaxResults != nil && *s.MaxResults < 1 {
  7169  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7170  	}
  7171  
  7172  	if invalidParams.Len() > 0 {
  7173  		return invalidParams
  7174  	}
  7175  	return nil
  7176  }
  7177  
  7178  // SetClusterArn sets the ClusterArn field's value.
  7179  func (s *ListScramSecretsInput) SetClusterArn(v string) *ListScramSecretsInput {
  7180  	s.ClusterArn = &v
  7181  	return s
  7182  }
  7183  
  7184  // SetMaxResults sets the MaxResults field's value.
  7185  func (s *ListScramSecretsInput) SetMaxResults(v int64) *ListScramSecretsInput {
  7186  	s.MaxResults = &v
  7187  	return s
  7188  }
  7189  
  7190  // SetNextToken sets the NextToken field's value.
  7191  func (s *ListScramSecretsInput) SetNextToken(v string) *ListScramSecretsInput {
  7192  	s.NextToken = &v
  7193  	return s
  7194  }
  7195  
  7196  // Information about scram secrets associated to the cluster.
  7197  type ListScramSecretsOutput struct {
  7198  	_ struct{} `type:"structure"`
  7199  
  7200  	// Paginated results marker.
  7201  	NextToken *string `locationName:"nextToken" type:"string"`
  7202  
  7203  	// The list of scram secrets associated with the cluster.
  7204  	SecretArnList []*string `locationName:"secretArnList" type:"list"`
  7205  }
  7206  
  7207  // String returns the string representation.
  7208  //
  7209  // API parameter values that are decorated as "sensitive" in the API will not
  7210  // be included in the string output. The member name will be present, but the
  7211  // value will be replaced with "sensitive".
  7212  func (s ListScramSecretsOutput) String() string {
  7213  	return awsutil.Prettify(s)
  7214  }
  7215  
  7216  // GoString returns the string representation.
  7217  //
  7218  // API parameter values that are decorated as "sensitive" in the API will not
  7219  // be included in the string output. The member name will be present, but the
  7220  // value will be replaced with "sensitive".
  7221  func (s ListScramSecretsOutput) GoString() string {
  7222  	return s.String()
  7223  }
  7224  
  7225  // SetNextToken sets the NextToken field's value.
  7226  func (s *ListScramSecretsOutput) SetNextToken(v string) *ListScramSecretsOutput {
  7227  	s.NextToken = &v
  7228  	return s
  7229  }
  7230  
  7231  // SetSecretArnList sets the SecretArnList field's value.
  7232  func (s *ListScramSecretsOutput) SetSecretArnList(v []*string) *ListScramSecretsOutput {
  7233  	s.SecretArnList = v
  7234  	return s
  7235  }
  7236  
  7237  type ListTagsForResourceInput struct {
  7238  	_ struct{} `type:"structure" nopayload:"true"`
  7239  
  7240  	// ResourceArn is a required field
  7241  	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
  7242  }
  7243  
  7244  // String returns the string representation.
  7245  //
  7246  // API parameter values that are decorated as "sensitive" in the API will not
  7247  // be included in the string output. The member name will be present, but the
  7248  // value will be replaced with "sensitive".
  7249  func (s ListTagsForResourceInput) String() string {
  7250  	return awsutil.Prettify(s)
  7251  }
  7252  
  7253  // GoString returns the string representation.
  7254  //
  7255  // API parameter values that are decorated as "sensitive" in the API will not
  7256  // be included in the string output. The member name will be present, but the
  7257  // value will be replaced with "sensitive".
  7258  func (s ListTagsForResourceInput) GoString() string {
  7259  	return s.String()
  7260  }
  7261  
  7262  // Validate inspects the fields of the type to determine if they are valid.
  7263  func (s *ListTagsForResourceInput) Validate() error {
  7264  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
  7265  	if s.ResourceArn == nil {
  7266  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  7267  	}
  7268  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  7269  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  7270  	}
  7271  
  7272  	if invalidParams.Len() > 0 {
  7273  		return invalidParams
  7274  	}
  7275  	return nil
  7276  }
  7277  
  7278  // SetResourceArn sets the ResourceArn field's value.
  7279  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
  7280  	s.ResourceArn = &v
  7281  	return s
  7282  }
  7283  
  7284  // Response of listing tags for a resource.
  7285  type ListTagsForResourceOutput struct {
  7286  	_ struct{} `type:"structure"`
  7287  
  7288  	// The key-value pair for the resource tag.
  7289  	Tags map[string]*string `locationName:"tags" type:"map"`
  7290  }
  7291  
  7292  // String returns the string representation.
  7293  //
  7294  // API parameter values that are decorated as "sensitive" in the API will not
  7295  // be included in the string output. The member name will be present, but the
  7296  // value will be replaced with "sensitive".
  7297  func (s ListTagsForResourceOutput) String() string {
  7298  	return awsutil.Prettify(s)
  7299  }
  7300  
  7301  // GoString returns the string representation.
  7302  //
  7303  // API parameter values that are decorated as "sensitive" in the API will not
  7304  // be included in the string output. The member name will be present, but the
  7305  // value will be replaced with "sensitive".
  7306  func (s ListTagsForResourceOutput) GoString() string {
  7307  	return s.String()
  7308  }
  7309  
  7310  // SetTags sets the Tags field's value.
  7311  func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
  7312  	s.Tags = v
  7313  	return s
  7314  }
  7315  
  7316  // You can configure your MSK cluster to send broker logs to different destination
  7317  // types. This is a container for the configuration details related to broker
  7318  // logs.
  7319  type LoggingInfo struct {
  7320  	_ struct{} `type:"structure"`
  7321  
  7322  	// You can configure your MSK cluster to send broker logs to different destination
  7323  	// types. This configuration specifies the details of these destinations.
  7324  	//
  7325  	// BrokerLogs is a required field
  7326  	BrokerLogs *BrokerLogs `locationName:"brokerLogs" type:"structure" required:"true"`
  7327  }
  7328  
  7329  // String returns the string representation.
  7330  //
  7331  // API parameter values that are decorated as "sensitive" in the API will not
  7332  // be included in the string output. The member name will be present, but the
  7333  // value will be replaced with "sensitive".
  7334  func (s LoggingInfo) String() string {
  7335  	return awsutil.Prettify(s)
  7336  }
  7337  
  7338  // GoString returns the string representation.
  7339  //
  7340  // API parameter values that are decorated as "sensitive" in the API will not
  7341  // be included in the string output. The member name will be present, but the
  7342  // value will be replaced with "sensitive".
  7343  func (s LoggingInfo) GoString() string {
  7344  	return s.String()
  7345  }
  7346  
  7347  // Validate inspects the fields of the type to determine if they are valid.
  7348  func (s *LoggingInfo) Validate() error {
  7349  	invalidParams := request.ErrInvalidParams{Context: "LoggingInfo"}
  7350  	if s.BrokerLogs == nil {
  7351  		invalidParams.Add(request.NewErrParamRequired("BrokerLogs"))
  7352  	}
  7353  	if s.BrokerLogs != nil {
  7354  		if err := s.BrokerLogs.Validate(); err != nil {
  7355  			invalidParams.AddNested("BrokerLogs", err.(request.ErrInvalidParams))
  7356  		}
  7357  	}
  7358  
  7359  	if invalidParams.Len() > 0 {
  7360  		return invalidParams
  7361  	}
  7362  	return nil
  7363  }
  7364  
  7365  // SetBrokerLogs sets the BrokerLogs field's value.
  7366  func (s *LoggingInfo) SetBrokerLogs(v *BrokerLogs) *LoggingInfo {
  7367  	s.BrokerLogs = v
  7368  	return s
  7369  }
  7370  
  7371  // Information about cluster attributes that can be updated via update APIs.
  7372  type MutableClusterInfo struct {
  7373  	_ struct{} `type:"structure"`
  7374  
  7375  	// Specifies the size of the EBS volume and the ID of the associated broker.
  7376  	BrokerEBSVolumeInfo []*BrokerEBSVolumeInfo `locationName:"brokerEBSVolumeInfo" type:"list"`
  7377  
  7378  	// Includes all client authentication related information.
  7379  	ClientAuthentication *ClientAuthentication `locationName:"clientAuthentication" type:"structure"`
  7380  
  7381  	// Information about the changes in the configuration of the brokers.
  7382  	ConfigurationInfo *ConfigurationInfo `locationName:"configurationInfo" type:"structure"`
  7383  
  7384  	// Includes all encryption-related information.
  7385  	EncryptionInfo *EncryptionInfo `locationName:"encryptionInfo" type:"structure"`
  7386  
  7387  	// Specifies which Apache Kafka metrics Amazon MSK gathers and sends to Amazon
  7388  	// CloudWatch for this cluster.
  7389  	EnhancedMonitoring *string `locationName:"enhancedMonitoring" type:"string" enum:"EnhancedMonitoring"`
  7390  
  7391  	InstanceType *string `locationName:"instanceType" type:"string"`
  7392  
  7393  	KafkaVersion *string `locationName:"kafkaVersion" type:"string"`
  7394  
  7395  	// LoggingInfo details.
  7396  	LoggingInfo *LoggingInfo `locationName:"loggingInfo" type:"structure"`
  7397  
  7398  	// The number of broker nodes in the cluster.
  7399  	NumberOfBrokerNodes *int64 `locationName:"numberOfBrokerNodes" type:"integer"`
  7400  
  7401  	// Settings for open monitoring using Prometheus.
  7402  	OpenMonitoring *OpenMonitoring `locationName:"openMonitoring" type:"structure"`
  7403  }
  7404  
  7405  // String returns the string representation.
  7406  //
  7407  // API parameter values that are decorated as "sensitive" in the API will not
  7408  // be included in the string output. The member name will be present, but the
  7409  // value will be replaced with "sensitive".
  7410  func (s MutableClusterInfo) String() string {
  7411  	return awsutil.Prettify(s)
  7412  }
  7413  
  7414  // GoString returns the string representation.
  7415  //
  7416  // API parameter values that are decorated as "sensitive" in the API will not
  7417  // be included in the string output. The member name will be present, but the
  7418  // value will be replaced with "sensitive".
  7419  func (s MutableClusterInfo) GoString() string {
  7420  	return s.String()
  7421  }
  7422  
  7423  // SetBrokerEBSVolumeInfo sets the BrokerEBSVolumeInfo field's value.
  7424  func (s *MutableClusterInfo) SetBrokerEBSVolumeInfo(v []*BrokerEBSVolumeInfo) *MutableClusterInfo {
  7425  	s.BrokerEBSVolumeInfo = v
  7426  	return s
  7427  }
  7428  
  7429  // SetClientAuthentication sets the ClientAuthentication field's value.
  7430  func (s *MutableClusterInfo) SetClientAuthentication(v *ClientAuthentication) *MutableClusterInfo {
  7431  	s.ClientAuthentication = v
  7432  	return s
  7433  }
  7434  
  7435  // SetConfigurationInfo sets the ConfigurationInfo field's value.
  7436  func (s *MutableClusterInfo) SetConfigurationInfo(v *ConfigurationInfo) *MutableClusterInfo {
  7437  	s.ConfigurationInfo = v
  7438  	return s
  7439  }
  7440  
  7441  // SetEncryptionInfo sets the EncryptionInfo field's value.
  7442  func (s *MutableClusterInfo) SetEncryptionInfo(v *EncryptionInfo) *MutableClusterInfo {
  7443  	s.EncryptionInfo = v
  7444  	return s
  7445  }
  7446  
  7447  // SetEnhancedMonitoring sets the EnhancedMonitoring field's value.
  7448  func (s *MutableClusterInfo) SetEnhancedMonitoring(v string) *MutableClusterInfo {
  7449  	s.EnhancedMonitoring = &v
  7450  	return s
  7451  }
  7452  
  7453  // SetInstanceType sets the InstanceType field's value.
  7454  func (s *MutableClusterInfo) SetInstanceType(v string) *MutableClusterInfo {
  7455  	s.InstanceType = &v
  7456  	return s
  7457  }
  7458  
  7459  // SetKafkaVersion sets the KafkaVersion field's value.
  7460  func (s *MutableClusterInfo) SetKafkaVersion(v string) *MutableClusterInfo {
  7461  	s.KafkaVersion = &v
  7462  	return s
  7463  }
  7464  
  7465  // SetLoggingInfo sets the LoggingInfo field's value.
  7466  func (s *MutableClusterInfo) SetLoggingInfo(v *LoggingInfo) *MutableClusterInfo {
  7467  	s.LoggingInfo = v
  7468  	return s
  7469  }
  7470  
  7471  // SetNumberOfBrokerNodes sets the NumberOfBrokerNodes field's value.
  7472  func (s *MutableClusterInfo) SetNumberOfBrokerNodes(v int64) *MutableClusterInfo {
  7473  	s.NumberOfBrokerNodes = &v
  7474  	return s
  7475  }
  7476  
  7477  // SetOpenMonitoring sets the OpenMonitoring field's value.
  7478  func (s *MutableClusterInfo) SetOpenMonitoring(v *OpenMonitoring) *MutableClusterInfo {
  7479  	s.OpenMonitoring = v
  7480  	return s
  7481  }
  7482  
  7483  // Indicates whether you want to enable or disable the Node Exporter.
  7484  type NodeExporter struct {
  7485  	_ struct{} `type:"structure"`
  7486  
  7487  	// Indicates whether you want to enable or disable the Node Exporter.
  7488  	//
  7489  	// EnabledInBroker is a required field
  7490  	EnabledInBroker *bool `locationName:"enabledInBroker" type:"boolean" required:"true"`
  7491  }
  7492  
  7493  // String returns the string representation.
  7494  //
  7495  // API parameter values that are decorated as "sensitive" in the API will not
  7496  // be included in the string output. The member name will be present, but the
  7497  // value will be replaced with "sensitive".
  7498  func (s NodeExporter) String() string {
  7499  	return awsutil.Prettify(s)
  7500  }
  7501  
  7502  // GoString returns the string representation.
  7503  //
  7504  // API parameter values that are decorated as "sensitive" in the API will not
  7505  // be included in the string output. The member name will be present, but the
  7506  // value will be replaced with "sensitive".
  7507  func (s NodeExporter) GoString() string {
  7508  	return s.String()
  7509  }
  7510  
  7511  // SetEnabledInBroker sets the EnabledInBroker field's value.
  7512  func (s *NodeExporter) SetEnabledInBroker(v bool) *NodeExporter {
  7513  	s.EnabledInBroker = &v
  7514  	return s
  7515  }
  7516  
  7517  // Indicates whether you want to enable or disable the Node Exporter.
  7518  type NodeExporterInfo struct {
  7519  	_ struct{} `type:"structure"`
  7520  
  7521  	// Node Exporter being enabled in broker.
  7522  	//
  7523  	// EnabledInBroker is a required field
  7524  	EnabledInBroker *bool `locationName:"enabledInBroker" type:"boolean" required:"true"`
  7525  }
  7526  
  7527  // String returns the string representation.
  7528  //
  7529  // API parameter values that are decorated as "sensitive" in the API will not
  7530  // be included in the string output. The member name will be present, but the
  7531  // value will be replaced with "sensitive".
  7532  func (s NodeExporterInfo) String() string {
  7533  	return awsutil.Prettify(s)
  7534  }
  7535  
  7536  // GoString returns the string representation.
  7537  //
  7538  // API parameter values that are decorated as "sensitive" in the API will not
  7539  // be included in the string output. The member name will be present, but the
  7540  // value will be replaced with "sensitive".
  7541  func (s NodeExporterInfo) GoString() string {
  7542  	return s.String()
  7543  }
  7544  
  7545  // Validate inspects the fields of the type to determine if they are valid.
  7546  func (s *NodeExporterInfo) Validate() error {
  7547  	invalidParams := request.ErrInvalidParams{Context: "NodeExporterInfo"}
  7548  	if s.EnabledInBroker == nil {
  7549  		invalidParams.Add(request.NewErrParamRequired("EnabledInBroker"))
  7550  	}
  7551  
  7552  	if invalidParams.Len() > 0 {
  7553  		return invalidParams
  7554  	}
  7555  	return nil
  7556  }
  7557  
  7558  // SetEnabledInBroker sets the EnabledInBroker field's value.
  7559  func (s *NodeExporterInfo) SetEnabledInBroker(v bool) *NodeExporterInfo {
  7560  	s.EnabledInBroker = &v
  7561  	return s
  7562  }
  7563  
  7564  // The node information object.
  7565  type NodeInfo struct {
  7566  	_ struct{} `type:"structure"`
  7567  
  7568  	// The start time.
  7569  	AddedToClusterTime *string `locationName:"addedToClusterTime" type:"string"`
  7570  
  7571  	// The broker node info.
  7572  	BrokerNodeInfo *BrokerNodeInfo `locationName:"brokerNodeInfo" type:"structure"`
  7573  
  7574  	// The instance type.
  7575  	InstanceType *string `locationName:"instanceType" type:"string"`
  7576  
  7577  	// The Amazon Resource Name (ARN) of the node.
  7578  	NodeARN *string `locationName:"nodeARN" type:"string"`
  7579  
  7580  	// The node type.
  7581  	NodeType *string `locationName:"nodeType" type:"string" enum:"NodeType"`
  7582  
  7583  	// The ZookeeperNodeInfo.
  7584  	ZookeeperNodeInfo *ZookeeperNodeInfo `locationName:"zookeeperNodeInfo" type:"structure"`
  7585  }
  7586  
  7587  // String returns the string representation.
  7588  //
  7589  // API parameter values that are decorated as "sensitive" in the API will not
  7590  // be included in the string output. The member name will be present, but the
  7591  // value will be replaced with "sensitive".
  7592  func (s NodeInfo) String() string {
  7593  	return awsutil.Prettify(s)
  7594  }
  7595  
  7596  // GoString returns the string representation.
  7597  //
  7598  // API parameter values that are decorated as "sensitive" in the API will not
  7599  // be included in the string output. The member name will be present, but the
  7600  // value will be replaced with "sensitive".
  7601  func (s NodeInfo) GoString() string {
  7602  	return s.String()
  7603  }
  7604  
  7605  // SetAddedToClusterTime sets the AddedToClusterTime field's value.
  7606  func (s *NodeInfo) SetAddedToClusterTime(v string) *NodeInfo {
  7607  	s.AddedToClusterTime = &v
  7608  	return s
  7609  }
  7610  
  7611  // SetBrokerNodeInfo sets the BrokerNodeInfo field's value.
  7612  func (s *NodeInfo) SetBrokerNodeInfo(v *BrokerNodeInfo) *NodeInfo {
  7613  	s.BrokerNodeInfo = v
  7614  	return s
  7615  }
  7616  
  7617  // SetInstanceType sets the InstanceType field's value.
  7618  func (s *NodeInfo) SetInstanceType(v string) *NodeInfo {
  7619  	s.InstanceType = &v
  7620  	return s
  7621  }
  7622  
  7623  // SetNodeARN sets the NodeARN field's value.
  7624  func (s *NodeInfo) SetNodeARN(v string) *NodeInfo {
  7625  	s.NodeARN = &v
  7626  	return s
  7627  }
  7628  
  7629  // SetNodeType sets the NodeType field's value.
  7630  func (s *NodeInfo) SetNodeType(v string) *NodeInfo {
  7631  	s.NodeType = &v
  7632  	return s
  7633  }
  7634  
  7635  // SetZookeeperNodeInfo sets the ZookeeperNodeInfo field's value.
  7636  func (s *NodeInfo) SetZookeeperNodeInfo(v *ZookeeperNodeInfo) *NodeInfo {
  7637  	s.ZookeeperNodeInfo = v
  7638  	return s
  7639  }
  7640  
  7641  // Returns information about an error.
  7642  type NotFoundException struct {
  7643  	_            struct{}                  `type:"structure"`
  7644  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7645  
  7646  	InvalidParameter *string `locationName:"invalidParameter" type:"string"`
  7647  
  7648  	Message_ *string `locationName:"message" type:"string"`
  7649  }
  7650  
  7651  // String returns the string representation.
  7652  //
  7653  // API parameter values that are decorated as "sensitive" in the API will not
  7654  // be included in the string output. The member name will be present, but the
  7655  // value will be replaced with "sensitive".
  7656  func (s NotFoundException) String() string {
  7657  	return awsutil.Prettify(s)
  7658  }
  7659  
  7660  // GoString returns the string representation.
  7661  //
  7662  // API parameter values that are decorated as "sensitive" in the API will not
  7663  // be included in the string output. The member name will be present, but the
  7664  // value will be replaced with "sensitive".
  7665  func (s NotFoundException) GoString() string {
  7666  	return s.String()
  7667  }
  7668  
  7669  func newErrorNotFoundException(v protocol.ResponseMetadata) error {
  7670  	return &NotFoundException{
  7671  		RespMetadata: v,
  7672  	}
  7673  }
  7674  
  7675  // Code returns the exception type name.
  7676  func (s *NotFoundException) Code() string {
  7677  	return "NotFoundException"
  7678  }
  7679  
  7680  // Message returns the exception's message.
  7681  func (s *NotFoundException) Message() string {
  7682  	if s.Message_ != nil {
  7683  		return *s.Message_
  7684  	}
  7685  	return ""
  7686  }
  7687  
  7688  // OrigErr always returns nil, satisfies awserr.Error interface.
  7689  func (s *NotFoundException) OrigErr() error {
  7690  	return nil
  7691  }
  7692  
  7693  func (s *NotFoundException) Error() string {
  7694  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  7695  }
  7696  
  7697  // Status code returns the HTTP status code for the request's response error.
  7698  func (s *NotFoundException) StatusCode() int {
  7699  	return s.RespMetadata.StatusCode
  7700  }
  7701  
  7702  // RequestID returns the service's response RequestID for request.
  7703  func (s *NotFoundException) RequestID() string {
  7704  	return s.RespMetadata.RequestID
  7705  }
  7706  
  7707  // JMX and Node monitoring for the MSK cluster.
  7708  type OpenMonitoring struct {
  7709  	_ struct{} `type:"structure"`
  7710  
  7711  	// Prometheus settings.
  7712  	//
  7713  	// Prometheus is a required field
  7714  	Prometheus *Prometheus `locationName:"prometheus" type:"structure" required:"true"`
  7715  }
  7716  
  7717  // String returns the string representation.
  7718  //
  7719  // API parameter values that are decorated as "sensitive" in the API will not
  7720  // be included in the string output. The member name will be present, but the
  7721  // value will be replaced with "sensitive".
  7722  func (s OpenMonitoring) String() string {
  7723  	return awsutil.Prettify(s)
  7724  }
  7725  
  7726  // GoString returns the string representation.
  7727  //
  7728  // API parameter values that are decorated as "sensitive" in the API will not
  7729  // be included in the string output. The member name will be present, but the
  7730  // value will be replaced with "sensitive".
  7731  func (s OpenMonitoring) GoString() string {
  7732  	return s.String()
  7733  }
  7734  
  7735  // SetPrometheus sets the Prometheus field's value.
  7736  func (s *OpenMonitoring) SetPrometheus(v *Prometheus) *OpenMonitoring {
  7737  	s.Prometheus = v
  7738  	return s
  7739  }
  7740  
  7741  // JMX and Node monitoring for the MSK cluster.
  7742  type OpenMonitoringInfo struct {
  7743  	_ struct{} `type:"structure"`
  7744  
  7745  	// Prometheus settings.
  7746  	//
  7747  	// Prometheus is a required field
  7748  	Prometheus *PrometheusInfo `locationName:"prometheus" type:"structure" required:"true"`
  7749  }
  7750  
  7751  // String returns the string representation.
  7752  //
  7753  // API parameter values that are decorated as "sensitive" in the API will not
  7754  // be included in the string output. The member name will be present, but the
  7755  // value will be replaced with "sensitive".
  7756  func (s OpenMonitoringInfo) String() string {
  7757  	return awsutil.Prettify(s)
  7758  }
  7759  
  7760  // GoString returns the string representation.
  7761  //
  7762  // API parameter values that are decorated as "sensitive" in the API will not
  7763  // be included in the string output. The member name will be present, but the
  7764  // value will be replaced with "sensitive".
  7765  func (s OpenMonitoringInfo) GoString() string {
  7766  	return s.String()
  7767  }
  7768  
  7769  // Validate inspects the fields of the type to determine if they are valid.
  7770  func (s *OpenMonitoringInfo) Validate() error {
  7771  	invalidParams := request.ErrInvalidParams{Context: "OpenMonitoringInfo"}
  7772  	if s.Prometheus == nil {
  7773  		invalidParams.Add(request.NewErrParamRequired("Prometheus"))
  7774  	}
  7775  	if s.Prometheus != nil {
  7776  		if err := s.Prometheus.Validate(); err != nil {
  7777  			invalidParams.AddNested("Prometheus", err.(request.ErrInvalidParams))
  7778  		}
  7779  	}
  7780  
  7781  	if invalidParams.Len() > 0 {
  7782  		return invalidParams
  7783  	}
  7784  	return nil
  7785  }
  7786  
  7787  // SetPrometheus sets the Prometheus field's value.
  7788  func (s *OpenMonitoringInfo) SetPrometheus(v *PrometheusInfo) *OpenMonitoringInfo {
  7789  	s.Prometheus = v
  7790  	return s
  7791  }
  7792  
  7793  // Prometheus settings for open monitoring.
  7794  type Prometheus struct {
  7795  	_ struct{} `type:"structure"`
  7796  
  7797  	// Indicates whether you want to enable or disable the JMX Exporter.
  7798  	JmxExporter *JmxExporter `locationName:"jmxExporter" type:"structure"`
  7799  
  7800  	// Indicates whether you want to enable or disable the Node Exporter.
  7801  	NodeExporter *NodeExporter `locationName:"nodeExporter" type:"structure"`
  7802  }
  7803  
  7804  // String returns the string representation.
  7805  //
  7806  // API parameter values that are decorated as "sensitive" in the API will not
  7807  // be included in the string output. The member name will be present, but the
  7808  // value will be replaced with "sensitive".
  7809  func (s Prometheus) String() string {
  7810  	return awsutil.Prettify(s)
  7811  }
  7812  
  7813  // GoString returns the string representation.
  7814  //
  7815  // API parameter values that are decorated as "sensitive" in the API will not
  7816  // be included in the string output. The member name will be present, but the
  7817  // value will be replaced with "sensitive".
  7818  func (s Prometheus) GoString() string {
  7819  	return s.String()
  7820  }
  7821  
  7822  // SetJmxExporter sets the JmxExporter field's value.
  7823  func (s *Prometheus) SetJmxExporter(v *JmxExporter) *Prometheus {
  7824  	s.JmxExporter = v
  7825  	return s
  7826  }
  7827  
  7828  // SetNodeExporter sets the NodeExporter field's value.
  7829  func (s *Prometheus) SetNodeExporter(v *NodeExporter) *Prometheus {
  7830  	s.NodeExporter = v
  7831  	return s
  7832  }
  7833  
  7834  // Prometheus settings.
  7835  type PrometheusInfo struct {
  7836  	_ struct{} `type:"structure"`
  7837  
  7838  	// JMX Exporter settings.
  7839  	JmxExporter *JmxExporterInfo `locationName:"jmxExporter" type:"structure"`
  7840  
  7841  	// Node Exporter settings.
  7842  	NodeExporter *NodeExporterInfo `locationName:"nodeExporter" type:"structure"`
  7843  }
  7844  
  7845  // String returns the string representation.
  7846  //
  7847  // API parameter values that are decorated as "sensitive" in the API will not
  7848  // be included in the string output. The member name will be present, but the
  7849  // value will be replaced with "sensitive".
  7850  func (s PrometheusInfo) String() string {
  7851  	return awsutil.Prettify(s)
  7852  }
  7853  
  7854  // GoString returns the string representation.
  7855  //
  7856  // API parameter values that are decorated as "sensitive" in the API will not
  7857  // be included in the string output. The member name will be present, but the
  7858  // value will be replaced with "sensitive".
  7859  func (s PrometheusInfo) GoString() string {
  7860  	return s.String()
  7861  }
  7862  
  7863  // Validate inspects the fields of the type to determine if they are valid.
  7864  func (s *PrometheusInfo) Validate() error {
  7865  	invalidParams := request.ErrInvalidParams{Context: "PrometheusInfo"}
  7866  	if s.JmxExporter != nil {
  7867  		if err := s.JmxExporter.Validate(); err != nil {
  7868  			invalidParams.AddNested("JmxExporter", err.(request.ErrInvalidParams))
  7869  		}
  7870  	}
  7871  	if s.NodeExporter != nil {
  7872  		if err := s.NodeExporter.Validate(); err != nil {
  7873  			invalidParams.AddNested("NodeExporter", err.(request.ErrInvalidParams))
  7874  		}
  7875  	}
  7876  
  7877  	if invalidParams.Len() > 0 {
  7878  		return invalidParams
  7879  	}
  7880  	return nil
  7881  }
  7882  
  7883  // SetJmxExporter sets the JmxExporter field's value.
  7884  func (s *PrometheusInfo) SetJmxExporter(v *JmxExporterInfo) *PrometheusInfo {
  7885  	s.JmxExporter = v
  7886  	return s
  7887  }
  7888  
  7889  // SetNodeExporter sets the NodeExporter field's value.
  7890  func (s *PrometheusInfo) SetNodeExporter(v *NodeExporterInfo) *PrometheusInfo {
  7891  	s.NodeExporter = v
  7892  	return s
  7893  }
  7894  
  7895  // Request body for RebootBrokerNode action.
  7896  type RebootBrokerInput struct {
  7897  	_ struct{} `type:"structure"`
  7898  
  7899  	// The list of broker ids to be rebooted.
  7900  	//
  7901  	// BrokerIds is a required field
  7902  	BrokerIds []*string `locationName:"brokerIds" type:"list" required:"true"`
  7903  
  7904  	// ClusterArn is a required field
  7905  	ClusterArn *string `location:"uri" locationName:"clusterArn" type:"string" required:"true"`
  7906  }
  7907  
  7908  // String returns the string representation.
  7909  //
  7910  // API parameter values that are decorated as "sensitive" in the API will not
  7911  // be included in the string output. The member name will be present, but the
  7912  // value will be replaced with "sensitive".
  7913  func (s RebootBrokerInput) String() string {
  7914  	return awsutil.Prettify(s)
  7915  }
  7916  
  7917  // GoString returns the string representation.
  7918  //
  7919  // API parameter values that are decorated as "sensitive" in the API will not
  7920  // be included in the string output. The member name will be present, but the
  7921  // value will be replaced with "sensitive".
  7922  func (s RebootBrokerInput) GoString() string {
  7923  	return s.String()
  7924  }
  7925  
  7926  // Validate inspects the fields of the type to determine if they are valid.
  7927  func (s *RebootBrokerInput) Validate() error {
  7928  	invalidParams := request.ErrInvalidParams{Context: "RebootBrokerInput"}
  7929  	if s.BrokerIds == nil {
  7930  		invalidParams.Add(request.NewErrParamRequired("BrokerIds"))
  7931  	}
  7932  	if s.ClusterArn == nil {
  7933  		invalidParams.Add(request.NewErrParamRequired("ClusterArn"))
  7934  	}
  7935  	if s.ClusterArn != nil && len(*s.ClusterArn) < 1 {
  7936  		invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1))
  7937  	}
  7938  
  7939  	if invalidParams.Len() > 0 {
  7940  		return invalidParams
  7941  	}
  7942  	return nil
  7943  }
  7944  
  7945  // SetBrokerIds sets the BrokerIds field's value.
  7946  func (s *RebootBrokerInput) SetBrokerIds(v []*string) *RebootBrokerInput {
  7947  	s.BrokerIds = v
  7948  	return s
  7949  }
  7950  
  7951  // SetClusterArn sets the ClusterArn field's value.
  7952  func (s *RebootBrokerInput) SetClusterArn(v string) *RebootBrokerInput {
  7953  	s.ClusterArn = &v
  7954  	return s
  7955  }
  7956  
  7957  // Response body for RebootBrokers action.
  7958  type RebootBrokerOutput struct {
  7959  	_ struct{} `type:"structure"`
  7960  
  7961  	// The Amazon Resource Name (ARN) of the cluster.
  7962  	ClusterArn *string `locationName:"clusterArn" type:"string"`
  7963  
  7964  	// The Amazon Resource Name (ARN) of the cluster operation.
  7965  	ClusterOperationArn *string `locationName:"clusterOperationArn" type:"string"`
  7966  }
  7967  
  7968  // String returns the string representation.
  7969  //
  7970  // API parameter values that are decorated as "sensitive" in the API will not
  7971  // be included in the string output. The member name will be present, but the
  7972  // value will be replaced with "sensitive".
  7973  func (s RebootBrokerOutput) String() string {
  7974  	return awsutil.Prettify(s)
  7975  }
  7976  
  7977  // GoString returns the string representation.
  7978  //
  7979  // API parameter values that are decorated as "sensitive" in the API will not
  7980  // be included in the string output. The member name will be present, but the
  7981  // value will be replaced with "sensitive".
  7982  func (s RebootBrokerOutput) GoString() string {
  7983  	return s.String()
  7984  }
  7985  
  7986  // SetClusterArn sets the ClusterArn field's value.
  7987  func (s *RebootBrokerOutput) SetClusterArn(v string) *RebootBrokerOutput {
  7988  	s.ClusterArn = &v
  7989  	return s
  7990  }
  7991  
  7992  // SetClusterOperationArn sets the ClusterOperationArn field's value.
  7993  func (s *RebootBrokerOutput) SetClusterOperationArn(v string) *RebootBrokerOutput {
  7994  	s.ClusterOperationArn = &v
  7995  	return s
  7996  }
  7997  
  7998  // The details of the Amazon S3 destination for broker logs.
  7999  type S3 struct {
  8000  	_ struct{} `type:"structure"`
  8001  
  8002  	// The name of the S3 bucket that is the destination for broker logs.
  8003  	Bucket *string `locationName:"bucket" type:"string"`
  8004  
  8005  	// Specifies whether broker logs get sent to the specified Amazon S3 destination.
  8006  	//
  8007  	// Enabled is a required field
  8008  	Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
  8009  
  8010  	// The S3 prefix that is the destination for broker logs.
  8011  	Prefix *string `locationName:"prefix" type:"string"`
  8012  }
  8013  
  8014  // String returns the string representation.
  8015  //
  8016  // API parameter values that are decorated as "sensitive" in the API will not
  8017  // be included in the string output. The member name will be present, but the
  8018  // value will be replaced with "sensitive".
  8019  func (s S3) String() string {
  8020  	return awsutil.Prettify(s)
  8021  }
  8022  
  8023  // GoString returns the string representation.
  8024  //
  8025  // API parameter values that are decorated as "sensitive" in the API will not
  8026  // be included in the string output. The member name will be present, but the
  8027  // value will be replaced with "sensitive".
  8028  func (s S3) GoString() string {
  8029  	return s.String()
  8030  }
  8031  
  8032  // Validate inspects the fields of the type to determine if they are valid.
  8033  func (s *S3) Validate() error {
  8034  	invalidParams := request.ErrInvalidParams{Context: "S3"}
  8035  	if s.Enabled == nil {
  8036  		invalidParams.Add(request.NewErrParamRequired("Enabled"))
  8037  	}
  8038  
  8039  	if invalidParams.Len() > 0 {
  8040  		return invalidParams
  8041  	}
  8042  	return nil
  8043  }
  8044  
  8045  // SetBucket sets the Bucket field's value.
  8046  func (s *S3) SetBucket(v string) *S3 {
  8047  	s.Bucket = &v
  8048  	return s
  8049  }
  8050  
  8051  // SetEnabled sets the Enabled field's value.
  8052  func (s *S3) SetEnabled(v bool) *S3 {
  8053  	s.Enabled = &v
  8054  	return s
  8055  }
  8056  
  8057  // SetPrefix sets the Prefix field's value.
  8058  func (s *S3) SetPrefix(v string) *S3 {
  8059  	s.Prefix = &v
  8060  	return s
  8061  }
  8062  
  8063  type Sasl struct {
  8064  	_ struct{} `type:"structure"`
  8065  
  8066  	Iam *Iam `locationName:"iam" type:"structure"`
  8067  
  8068  	Scram *Scram `locationName:"scram" type:"structure"`
  8069  }
  8070  
  8071  // String returns the string representation.
  8072  //
  8073  // API parameter values that are decorated as "sensitive" in the API will not
  8074  // be included in the string output. The member name will be present, but the
  8075  // value will be replaced with "sensitive".
  8076  func (s Sasl) String() string {
  8077  	return awsutil.Prettify(s)
  8078  }
  8079  
  8080  // GoString returns the string representation.
  8081  //
  8082  // API parameter values that are decorated as "sensitive" in the API will not
  8083  // be included in the string output. The member name will be present, but the
  8084  // value will be replaced with "sensitive".
  8085  func (s Sasl) GoString() string {
  8086  	return s.String()
  8087  }
  8088  
  8089  // SetIam sets the Iam field's value.
  8090  func (s *Sasl) SetIam(v *Iam) *Sasl {
  8091  	s.Iam = v
  8092  	return s
  8093  }
  8094  
  8095  // SetScram sets the Scram field's value.
  8096  func (s *Sasl) SetScram(v *Scram) *Sasl {
  8097  	s.Scram = v
  8098  	return s
  8099  }
  8100  
  8101  type Scram struct {
  8102  	_ struct{} `type:"structure"`
  8103  
  8104  	// SASL/SCRAM authentication is enabled or not.
  8105  	Enabled *bool `locationName:"enabled" type:"boolean"`
  8106  }
  8107  
  8108  // String returns the string representation.
  8109  //
  8110  // API parameter values that are decorated as "sensitive" in the API will not
  8111  // be included in the string output. The member name will be present, but the
  8112  // value will be replaced with "sensitive".
  8113  func (s Scram) String() string {
  8114  	return awsutil.Prettify(s)
  8115  }
  8116  
  8117  // GoString returns the string representation.
  8118  //
  8119  // API parameter values that are decorated as "sensitive" in the API will not
  8120  // be included in the string output. The member name will be present, but the
  8121  // value will be replaced with "sensitive".
  8122  func (s Scram) GoString() string {
  8123  	return s.String()
  8124  }
  8125  
  8126  // SetEnabled sets the Enabled field's value.
  8127  func (s *Scram) SetEnabled(v bool) *Scram {
  8128  	s.Enabled = &v
  8129  	return s
  8130  }
  8131  
  8132  // Returns information about an error.
  8133  type ServiceUnavailableException struct {
  8134  	_            struct{}                  `type:"structure"`
  8135  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8136  
  8137  	InvalidParameter *string `locationName:"invalidParameter" type:"string"`
  8138  
  8139  	Message_ *string `locationName:"message" type:"string"`
  8140  }
  8141  
  8142  // String returns the string representation.
  8143  //
  8144  // API parameter values that are decorated as "sensitive" in the API will not
  8145  // be included in the string output. The member name will be present, but the
  8146  // value will be replaced with "sensitive".
  8147  func (s ServiceUnavailableException) String() string {
  8148  	return awsutil.Prettify(s)
  8149  }
  8150  
  8151  // GoString returns the string representation.
  8152  //
  8153  // API parameter values that are decorated as "sensitive" in the API will not
  8154  // be included in the string output. The member name will be present, but the
  8155  // value will be replaced with "sensitive".
  8156  func (s ServiceUnavailableException) GoString() string {
  8157  	return s.String()
  8158  }
  8159  
  8160  func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
  8161  	return &ServiceUnavailableException{
  8162  		RespMetadata: v,
  8163  	}
  8164  }
  8165  
  8166  // Code returns the exception type name.
  8167  func (s *ServiceUnavailableException) Code() string {
  8168  	return "ServiceUnavailableException"
  8169  }
  8170  
  8171  // Message returns the exception's message.
  8172  func (s *ServiceUnavailableException) Message() string {
  8173  	if s.Message_ != nil {
  8174  		return *s.Message_
  8175  	}
  8176  	return ""
  8177  }
  8178  
  8179  // OrigErr always returns nil, satisfies awserr.Error interface.
  8180  func (s *ServiceUnavailableException) OrigErr() error {
  8181  	return nil
  8182  }
  8183  
  8184  func (s *ServiceUnavailableException) Error() string {
  8185  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  8186  }
  8187  
  8188  // Status code returns the HTTP status code for the request's response error.
  8189  func (s *ServiceUnavailableException) StatusCode() int {
  8190  	return s.RespMetadata.StatusCode
  8191  }
  8192  
  8193  // RequestID returns the service's response RequestID for request.
  8194  func (s *ServiceUnavailableException) RequestID() string {
  8195  	return s.RespMetadata.RequestID
  8196  }
  8197  
  8198  // Contains information about the state of the Amazon MSK cluster.
  8199  type StateInfo struct {
  8200  	_ struct{} `type:"structure"`
  8201  
  8202  	// If the cluster is in an unusable state, this field contains the code that
  8203  	// describes the issue.
  8204  	Code *string `locationName:"code" type:"string"`
  8205  
  8206  	// If the cluster is in an unusable state, this field contains a message that
  8207  	// describes the issue.
  8208  	Message *string `locationName:"message" type:"string"`
  8209  }
  8210  
  8211  // String returns the string representation.
  8212  //
  8213  // API parameter values that are decorated as "sensitive" in the API will not
  8214  // be included in the string output. The member name will be present, but the
  8215  // value will be replaced with "sensitive".
  8216  func (s StateInfo) String() string {
  8217  	return awsutil.Prettify(s)
  8218  }
  8219  
  8220  // GoString returns the string representation.
  8221  //
  8222  // API parameter values that are decorated as "sensitive" in the API will not
  8223  // be included in the string output. The member name will be present, but the
  8224  // value will be replaced with "sensitive".
  8225  func (s StateInfo) GoString() string {
  8226  	return s.String()
  8227  }
  8228  
  8229  // SetCode sets the Code field's value.
  8230  func (s *StateInfo) SetCode(v string) *StateInfo {
  8231  	s.Code = &v
  8232  	return s
  8233  }
  8234  
  8235  // SetMessage sets the Message field's value.
  8236  func (s *StateInfo) SetMessage(v string) *StateInfo {
  8237  	s.Message = &v
  8238  	return s
  8239  }
  8240  
  8241  // Contains information about storage volumes attached to MSK broker nodes.
  8242  type StorageInfo struct {
  8243  	_ struct{} `type:"structure"`
  8244  
  8245  	// EBS volume information.
  8246  	EbsStorageInfo *EBSStorageInfo `locationName:"ebsStorageInfo" type:"structure"`
  8247  }
  8248  
  8249  // String returns the string representation.
  8250  //
  8251  // API parameter values that are decorated as "sensitive" in the API will not
  8252  // be included in the string output. The member name will be present, but the
  8253  // value will be replaced with "sensitive".
  8254  func (s StorageInfo) String() string {
  8255  	return awsutil.Prettify(s)
  8256  }
  8257  
  8258  // GoString returns the string representation.
  8259  //
  8260  // API parameter values that are decorated as "sensitive" in the API will not
  8261  // be included in the string output. The member name will be present, but the
  8262  // value will be replaced with "sensitive".
  8263  func (s StorageInfo) GoString() string {
  8264  	return s.String()
  8265  }
  8266  
  8267  // Validate inspects the fields of the type to determine if they are valid.
  8268  func (s *StorageInfo) Validate() error {
  8269  	invalidParams := request.ErrInvalidParams{Context: "StorageInfo"}
  8270  	if s.EbsStorageInfo != nil {
  8271  		if err := s.EbsStorageInfo.Validate(); err != nil {
  8272  			invalidParams.AddNested("EbsStorageInfo", err.(request.ErrInvalidParams))
  8273  		}
  8274  	}
  8275  
  8276  	if invalidParams.Len() > 0 {
  8277  		return invalidParams
  8278  	}
  8279  	return nil
  8280  }
  8281  
  8282  // SetEbsStorageInfo sets the EbsStorageInfo field's value.
  8283  func (s *StorageInfo) SetEbsStorageInfo(v *EBSStorageInfo) *StorageInfo {
  8284  	s.EbsStorageInfo = v
  8285  	return s
  8286  }
  8287  
  8288  // Tag a resource.
  8289  type TagResourceInput struct {
  8290  	_ struct{} `type:"structure"`
  8291  
  8292  	// ResourceArn is a required field
  8293  	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
  8294  
  8295  	// The key-value pair for the resource tag.
  8296  	//
  8297  	// Tags is a required field
  8298  	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
  8299  }
  8300  
  8301  // String returns the string representation.
  8302  //
  8303  // API parameter values that are decorated as "sensitive" in the API will not
  8304  // be included in the string output. The member name will be present, but the
  8305  // value will be replaced with "sensitive".
  8306  func (s TagResourceInput) String() string {
  8307  	return awsutil.Prettify(s)
  8308  }
  8309  
  8310  // GoString returns the string representation.
  8311  //
  8312  // API parameter values that are decorated as "sensitive" in the API will not
  8313  // be included in the string output. The member name will be present, but the
  8314  // value will be replaced with "sensitive".
  8315  func (s TagResourceInput) GoString() string {
  8316  	return s.String()
  8317  }
  8318  
  8319  // Validate inspects the fields of the type to determine if they are valid.
  8320  func (s *TagResourceInput) Validate() error {
  8321  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
  8322  	if s.ResourceArn == nil {
  8323  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  8324  	}
  8325  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  8326  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  8327  	}
  8328  	if s.Tags == nil {
  8329  		invalidParams.Add(request.NewErrParamRequired("Tags"))
  8330  	}
  8331  
  8332  	if invalidParams.Len() > 0 {
  8333  		return invalidParams
  8334  	}
  8335  	return nil
  8336  }
  8337  
  8338  // SetResourceArn sets the ResourceArn field's value.
  8339  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
  8340  	s.ResourceArn = &v
  8341  	return s
  8342  }
  8343  
  8344  // SetTags sets the Tags field's value.
  8345  func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
  8346  	s.Tags = v
  8347  	return s
  8348  }
  8349  
  8350  type TagResourceOutput struct {
  8351  	_ struct{} `type:"structure" nopayload:"true"`
  8352  }
  8353  
  8354  // String returns the string representation.
  8355  //
  8356  // API parameter values that are decorated as "sensitive" in the API will not
  8357  // be included in the string output. The member name will be present, but the
  8358  // value will be replaced with "sensitive".
  8359  func (s TagResourceOutput) String() string {
  8360  	return awsutil.Prettify(s)
  8361  }
  8362  
  8363  // GoString returns the string representation.
  8364  //
  8365  // API parameter values that are decorated as "sensitive" in the API will not
  8366  // be included in the string output. The member name will be present, but the
  8367  // value will be replaced with "sensitive".
  8368  func (s TagResourceOutput) GoString() string {
  8369  	return s.String()
  8370  }
  8371  
  8372  // Details for client authentication using TLS.
  8373  type Tls struct {
  8374  	_ struct{} `type:"structure"`
  8375  
  8376  	// List of ACM Certificate Authority ARNs.
  8377  	CertificateAuthorityArnList []*string `locationName:"certificateAuthorityArnList" type:"list"`
  8378  
  8379  	// TLS authentication is enabled or not.
  8380  	Enabled *bool `locationName:"enabled" type:"boolean"`
  8381  }
  8382  
  8383  // String returns the string representation.
  8384  //
  8385  // API parameter values that are decorated as "sensitive" in the API will not
  8386  // be included in the string output. The member name will be present, but the
  8387  // value will be replaced with "sensitive".
  8388  func (s Tls) String() string {
  8389  	return awsutil.Prettify(s)
  8390  }
  8391  
  8392  // GoString returns the string representation.
  8393  //
  8394  // API parameter values that are decorated as "sensitive" in the API will not
  8395  // be included in the string output. The member name will be present, but the
  8396  // value will be replaced with "sensitive".
  8397  func (s Tls) GoString() string {
  8398  	return s.String()
  8399  }
  8400  
  8401  // SetCertificateAuthorityArnList sets the CertificateAuthorityArnList field's value.
  8402  func (s *Tls) SetCertificateAuthorityArnList(v []*string) *Tls {
  8403  	s.CertificateAuthorityArnList = v
  8404  	return s
  8405  }
  8406  
  8407  // SetEnabled sets the Enabled field's value.
  8408  func (s *Tls) SetEnabled(v bool) *Tls {
  8409  	s.Enabled = &v
  8410  	return s
  8411  }
  8412  
  8413  // Returns information about an error.
  8414  type TooManyRequestsException struct {
  8415  	_            struct{}                  `type:"structure"`
  8416  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8417  
  8418  	InvalidParameter *string `locationName:"invalidParameter" type:"string"`
  8419  
  8420  	Message_ *string `locationName:"message" type:"string"`
  8421  }
  8422  
  8423  // String returns the string representation.
  8424  //
  8425  // API parameter values that are decorated as "sensitive" in the API will not
  8426  // be included in the string output. The member name will be present, but the
  8427  // value will be replaced with "sensitive".
  8428  func (s TooManyRequestsException) String() string {
  8429  	return awsutil.Prettify(s)
  8430  }
  8431  
  8432  // GoString returns the string representation.
  8433  //
  8434  // API parameter values that are decorated as "sensitive" in the API will not
  8435  // be included in the string output. The member name will be present, but the
  8436  // value will be replaced with "sensitive".
  8437  func (s TooManyRequestsException) GoString() string {
  8438  	return s.String()
  8439  }
  8440  
  8441  func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error {
  8442  	return &TooManyRequestsException{
  8443  		RespMetadata: v,
  8444  	}
  8445  }
  8446  
  8447  // Code returns the exception type name.
  8448  func (s *TooManyRequestsException) Code() string {
  8449  	return "TooManyRequestsException"
  8450  }
  8451  
  8452  // Message returns the exception's message.
  8453  func (s *TooManyRequestsException) Message() string {
  8454  	if s.Message_ != nil {
  8455  		return *s.Message_
  8456  	}
  8457  	return ""
  8458  }
  8459  
  8460  // OrigErr always returns nil, satisfies awserr.Error interface.
  8461  func (s *TooManyRequestsException) OrigErr() error {
  8462  	return nil
  8463  }
  8464  
  8465  func (s *TooManyRequestsException) Error() string {
  8466  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  8467  }
  8468  
  8469  // Status code returns the HTTP status code for the request's response error.
  8470  func (s *TooManyRequestsException) StatusCode() int {
  8471  	return s.RespMetadata.StatusCode
  8472  }
  8473  
  8474  // RequestID returns the service's response RequestID for request.
  8475  func (s *TooManyRequestsException) RequestID() string {
  8476  	return s.RespMetadata.RequestID
  8477  }
  8478  
  8479  // Contains information about unauthenticated traffic to the cluster.
  8480  type Unauthenticated struct {
  8481  	_ struct{} `type:"structure"`
  8482  
  8483  	// Specifies whether you want to enable or disable unauthenticated traffic to
  8484  	// your cluster.
  8485  	Enabled *bool `locationName:"enabled" type:"boolean"`
  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 Unauthenticated) 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 Unauthenticated) GoString() string {
  8503  	return s.String()
  8504  }
  8505  
  8506  // SetEnabled sets the Enabled field's value.
  8507  func (s *Unauthenticated) SetEnabled(v bool) *Unauthenticated {
  8508  	s.Enabled = &v
  8509  	return s
  8510  }
  8511  
  8512  // Returns information about an error.
  8513  type UnauthorizedException struct {
  8514  	_            struct{}                  `type:"structure"`
  8515  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8516  
  8517  	InvalidParameter *string `locationName:"invalidParameter" type:"string"`
  8518  
  8519  	Message_ *string `locationName:"message" type:"string"`
  8520  }
  8521  
  8522  // String returns the string representation.
  8523  //
  8524  // API parameter values that are decorated as "sensitive" in the API will not
  8525  // be included in the string output. The member name will be present, but the
  8526  // value will be replaced with "sensitive".
  8527  func (s UnauthorizedException) String() string {
  8528  	return awsutil.Prettify(s)
  8529  }
  8530  
  8531  // GoString returns the string representation.
  8532  //
  8533  // API parameter values that are decorated as "sensitive" in the API will not
  8534  // be included in the string output. The member name will be present, but the
  8535  // value will be replaced with "sensitive".
  8536  func (s UnauthorizedException) GoString() string {
  8537  	return s.String()
  8538  }
  8539  
  8540  func newErrorUnauthorizedException(v protocol.ResponseMetadata) error {
  8541  	return &UnauthorizedException{
  8542  		RespMetadata: v,
  8543  	}
  8544  }
  8545  
  8546  // Code returns the exception type name.
  8547  func (s *UnauthorizedException) Code() string {
  8548  	return "UnauthorizedException"
  8549  }
  8550  
  8551  // Message returns the exception's message.
  8552  func (s *UnauthorizedException) Message() string {
  8553  	if s.Message_ != nil {
  8554  		return *s.Message_
  8555  	}
  8556  	return ""
  8557  }
  8558  
  8559  // OrigErr always returns nil, satisfies awserr.Error interface.
  8560  func (s *UnauthorizedException) OrigErr() error {
  8561  	return nil
  8562  }
  8563  
  8564  func (s *UnauthorizedException) Error() string {
  8565  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  8566  }
  8567  
  8568  // Status code returns the HTTP status code for the request's response error.
  8569  func (s *UnauthorizedException) StatusCode() int {
  8570  	return s.RespMetadata.StatusCode
  8571  }
  8572  
  8573  // RequestID returns the service's response RequestID for request.
  8574  func (s *UnauthorizedException) RequestID() string {
  8575  	return s.RespMetadata.RequestID
  8576  }
  8577  
  8578  type UnprocessedScramSecret struct {
  8579  	_ struct{} `type:"structure"`
  8580  
  8581  	ErrorCode *string `locationName:"errorCode" type:"string"`
  8582  
  8583  	ErrorMessage *string `locationName:"errorMessage" type:"string"`
  8584  
  8585  	SecretArn *string `locationName:"secretArn" type:"string"`
  8586  }
  8587  
  8588  // String returns the string representation.
  8589  //
  8590  // API parameter values that are decorated as "sensitive" in the API will not
  8591  // be included in the string output. The member name will be present, but the
  8592  // value will be replaced with "sensitive".
  8593  func (s UnprocessedScramSecret) String() string {
  8594  	return awsutil.Prettify(s)
  8595  }
  8596  
  8597  // GoString returns the string representation.
  8598  //
  8599  // API parameter values that are decorated as "sensitive" in the API will not
  8600  // be included in the string output. The member name will be present, but the
  8601  // value will be replaced with "sensitive".
  8602  func (s UnprocessedScramSecret) GoString() string {
  8603  	return s.String()
  8604  }
  8605  
  8606  // SetErrorCode sets the ErrorCode field's value.
  8607  func (s *UnprocessedScramSecret) SetErrorCode(v string) *UnprocessedScramSecret {
  8608  	s.ErrorCode = &v
  8609  	return s
  8610  }
  8611  
  8612  // SetErrorMessage sets the ErrorMessage field's value.
  8613  func (s *UnprocessedScramSecret) SetErrorMessage(v string) *UnprocessedScramSecret {
  8614  	s.ErrorMessage = &v
  8615  	return s
  8616  }
  8617  
  8618  // SetSecretArn sets the SecretArn field's value.
  8619  func (s *UnprocessedScramSecret) SetSecretArn(v string) *UnprocessedScramSecret {
  8620  	s.SecretArn = &v
  8621  	return s
  8622  }
  8623  
  8624  type UntagResourceInput struct {
  8625  	_ struct{} `type:"structure" nopayload:"true"`
  8626  
  8627  	// ResourceArn is a required field
  8628  	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
  8629  
  8630  	// TagKeys is a required field
  8631  	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
  8632  }
  8633  
  8634  // String returns the string representation.
  8635  //
  8636  // API parameter values that are decorated as "sensitive" in the API will not
  8637  // be included in the string output. The member name will be present, but the
  8638  // value will be replaced with "sensitive".
  8639  func (s UntagResourceInput) String() string {
  8640  	return awsutil.Prettify(s)
  8641  }
  8642  
  8643  // GoString returns the string representation.
  8644  //
  8645  // API parameter values that are decorated as "sensitive" in the API will not
  8646  // be included in the string output. The member name will be present, but the
  8647  // value will be replaced with "sensitive".
  8648  func (s UntagResourceInput) GoString() string {
  8649  	return s.String()
  8650  }
  8651  
  8652  // Validate inspects the fields of the type to determine if they are valid.
  8653  func (s *UntagResourceInput) Validate() error {
  8654  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
  8655  	if s.ResourceArn == nil {
  8656  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  8657  	}
  8658  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  8659  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  8660  	}
  8661  	if s.TagKeys == nil {
  8662  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
  8663  	}
  8664  
  8665  	if invalidParams.Len() > 0 {
  8666  		return invalidParams
  8667  	}
  8668  	return nil
  8669  }
  8670  
  8671  // SetResourceArn sets the ResourceArn field's value.
  8672  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
  8673  	s.ResourceArn = &v
  8674  	return s
  8675  }
  8676  
  8677  // SetTagKeys sets the TagKeys field's value.
  8678  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
  8679  	s.TagKeys = v
  8680  	return s
  8681  }
  8682  
  8683  type UntagResourceOutput struct {
  8684  	_ struct{} `type:"structure" nopayload:"true"`
  8685  }
  8686  
  8687  // String returns the string representation.
  8688  //
  8689  // API parameter values that are decorated as "sensitive" in the API will not
  8690  // be included in the string output. The member name will be present, but the
  8691  // value will be replaced with "sensitive".
  8692  func (s UntagResourceOutput) String() string {
  8693  	return awsutil.Prettify(s)
  8694  }
  8695  
  8696  // GoString returns the string representation.
  8697  //
  8698  // API parameter values that are decorated as "sensitive" in the API will not
  8699  // be included in the string output. The member name will be present, but the
  8700  // value will be replaced with "sensitive".
  8701  func (s UntagResourceOutput) GoString() string {
  8702  	return s.String()
  8703  }
  8704  
  8705  // Request body for UpdateBrokerCount.
  8706  type UpdateBrokerCountInput struct {
  8707  	_ struct{} `type:"structure"`
  8708  
  8709  	// ClusterArn is a required field
  8710  	ClusterArn *string `location:"uri" locationName:"clusterArn" type:"string" required:"true"`
  8711  
  8712  	// The current version of the cluster.
  8713  	//
  8714  	// CurrentVersion is a required field
  8715  	CurrentVersion *string `locationName:"currentVersion" type:"string" required:"true"`
  8716  
  8717  	// The number of broker nodes that you want the cluster to have after this operation
  8718  	// completes successfully.
  8719  	//
  8720  	// TargetNumberOfBrokerNodes is a required field
  8721  	TargetNumberOfBrokerNodes *int64 `locationName:"targetNumberOfBrokerNodes" min:"1" type:"integer" required:"true"`
  8722  }
  8723  
  8724  // String returns the string representation.
  8725  //
  8726  // API parameter values that are decorated as "sensitive" in the API will not
  8727  // be included in the string output. The member name will be present, but the
  8728  // value will be replaced with "sensitive".
  8729  func (s UpdateBrokerCountInput) String() string {
  8730  	return awsutil.Prettify(s)
  8731  }
  8732  
  8733  // GoString returns the string representation.
  8734  //
  8735  // API parameter values that are decorated as "sensitive" in the API will not
  8736  // be included in the string output. The member name will be present, but the
  8737  // value will be replaced with "sensitive".
  8738  func (s UpdateBrokerCountInput) GoString() string {
  8739  	return s.String()
  8740  }
  8741  
  8742  // Validate inspects the fields of the type to determine if they are valid.
  8743  func (s *UpdateBrokerCountInput) Validate() error {
  8744  	invalidParams := request.ErrInvalidParams{Context: "UpdateBrokerCountInput"}
  8745  	if s.ClusterArn == nil {
  8746  		invalidParams.Add(request.NewErrParamRequired("ClusterArn"))
  8747  	}
  8748  	if s.ClusterArn != nil && len(*s.ClusterArn) < 1 {
  8749  		invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1))
  8750  	}
  8751  	if s.CurrentVersion == nil {
  8752  		invalidParams.Add(request.NewErrParamRequired("CurrentVersion"))
  8753  	}
  8754  	if s.TargetNumberOfBrokerNodes == nil {
  8755  		invalidParams.Add(request.NewErrParamRequired("TargetNumberOfBrokerNodes"))
  8756  	}
  8757  	if s.TargetNumberOfBrokerNodes != nil && *s.TargetNumberOfBrokerNodes < 1 {
  8758  		invalidParams.Add(request.NewErrParamMinValue("TargetNumberOfBrokerNodes", 1))
  8759  	}
  8760  
  8761  	if invalidParams.Len() > 0 {
  8762  		return invalidParams
  8763  	}
  8764  	return nil
  8765  }
  8766  
  8767  // SetClusterArn sets the ClusterArn field's value.
  8768  func (s *UpdateBrokerCountInput) SetClusterArn(v string) *UpdateBrokerCountInput {
  8769  	s.ClusterArn = &v
  8770  	return s
  8771  }
  8772  
  8773  // SetCurrentVersion sets the CurrentVersion field's value.
  8774  func (s *UpdateBrokerCountInput) SetCurrentVersion(v string) *UpdateBrokerCountInput {
  8775  	s.CurrentVersion = &v
  8776  	return s
  8777  }
  8778  
  8779  // SetTargetNumberOfBrokerNodes sets the TargetNumberOfBrokerNodes field's value.
  8780  func (s *UpdateBrokerCountInput) SetTargetNumberOfBrokerNodes(v int64) *UpdateBrokerCountInput {
  8781  	s.TargetNumberOfBrokerNodes = &v
  8782  	return s
  8783  }
  8784  
  8785  // Response body for UpdateBrokerCount.
  8786  type UpdateBrokerCountOutput struct {
  8787  	_ struct{} `type:"structure"`
  8788  
  8789  	// The Amazon Resource Name (ARN) of the cluster.
  8790  	ClusterArn *string `locationName:"clusterArn" type:"string"`
  8791  
  8792  	// The Amazon Resource Name (ARN) of the cluster operation.
  8793  	ClusterOperationArn *string `locationName:"clusterOperationArn" type:"string"`
  8794  }
  8795  
  8796  // String returns the string representation.
  8797  //
  8798  // API parameter values that are decorated as "sensitive" in the API will not
  8799  // be included in the string output. The member name will be present, but the
  8800  // value will be replaced with "sensitive".
  8801  func (s UpdateBrokerCountOutput) String() string {
  8802  	return awsutil.Prettify(s)
  8803  }
  8804  
  8805  // GoString returns the string representation.
  8806  //
  8807  // API parameter values that are decorated as "sensitive" in the API will not
  8808  // be included in the string output. The member name will be present, but the
  8809  // value will be replaced with "sensitive".
  8810  func (s UpdateBrokerCountOutput) GoString() string {
  8811  	return s.String()
  8812  }
  8813  
  8814  // SetClusterArn sets the ClusterArn field's value.
  8815  func (s *UpdateBrokerCountOutput) SetClusterArn(v string) *UpdateBrokerCountOutput {
  8816  	s.ClusterArn = &v
  8817  	return s
  8818  }
  8819  
  8820  // SetClusterOperationArn sets the ClusterOperationArn field's value.
  8821  func (s *UpdateBrokerCountOutput) SetClusterOperationArn(v string) *UpdateBrokerCountOutput {
  8822  	s.ClusterOperationArn = &v
  8823  	return s
  8824  }
  8825  
  8826  // Request object for UpdateBrokerStorage.
  8827  type UpdateBrokerStorageInput struct {
  8828  	_ struct{} `type:"structure"`
  8829  
  8830  	// ClusterArn is a required field
  8831  	ClusterArn *string `location:"uri" locationName:"clusterArn" type:"string" required:"true"`
  8832  
  8833  	// The version of cluster to update from. A successful operation will then generate
  8834  	// a new version.
  8835  	//
  8836  	// CurrentVersion is a required field
  8837  	CurrentVersion *string `locationName:"currentVersion" type:"string" required:"true"`
  8838  
  8839  	// Describes the target volume size and the ID of the broker to apply the update
  8840  	// to.
  8841  	//
  8842  	// The value you specify for Target-Volume-in-GiB must be a whole number that
  8843  	// is greater than 100 GiB.
  8844  	//
  8845  	// The storage per broker after the update operation can't exceed 16384 GiB.
  8846  	//
  8847  	// TargetBrokerEBSVolumeInfo is a required field
  8848  	TargetBrokerEBSVolumeInfo []*BrokerEBSVolumeInfo `locationName:"targetBrokerEBSVolumeInfo" type:"list" required:"true"`
  8849  }
  8850  
  8851  // String returns the string representation.
  8852  //
  8853  // API parameter values that are decorated as "sensitive" in the API will not
  8854  // be included in the string output. The member name will be present, but the
  8855  // value will be replaced with "sensitive".
  8856  func (s UpdateBrokerStorageInput) String() string {
  8857  	return awsutil.Prettify(s)
  8858  }
  8859  
  8860  // GoString returns the string representation.
  8861  //
  8862  // API parameter values that are decorated as "sensitive" in the API will not
  8863  // be included in the string output. The member name will be present, but the
  8864  // value will be replaced with "sensitive".
  8865  func (s UpdateBrokerStorageInput) GoString() string {
  8866  	return s.String()
  8867  }
  8868  
  8869  // Validate inspects the fields of the type to determine if they are valid.
  8870  func (s *UpdateBrokerStorageInput) Validate() error {
  8871  	invalidParams := request.ErrInvalidParams{Context: "UpdateBrokerStorageInput"}
  8872  	if s.ClusterArn == nil {
  8873  		invalidParams.Add(request.NewErrParamRequired("ClusterArn"))
  8874  	}
  8875  	if s.ClusterArn != nil && len(*s.ClusterArn) < 1 {
  8876  		invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1))
  8877  	}
  8878  	if s.CurrentVersion == nil {
  8879  		invalidParams.Add(request.NewErrParamRequired("CurrentVersion"))
  8880  	}
  8881  	if s.TargetBrokerEBSVolumeInfo == nil {
  8882  		invalidParams.Add(request.NewErrParamRequired("TargetBrokerEBSVolumeInfo"))
  8883  	}
  8884  	if s.TargetBrokerEBSVolumeInfo != nil {
  8885  		for i, v := range s.TargetBrokerEBSVolumeInfo {
  8886  			if v == nil {
  8887  				continue
  8888  			}
  8889  			if err := v.Validate(); err != nil {
  8890  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetBrokerEBSVolumeInfo", i), err.(request.ErrInvalidParams))
  8891  			}
  8892  		}
  8893  	}
  8894  
  8895  	if invalidParams.Len() > 0 {
  8896  		return invalidParams
  8897  	}
  8898  	return nil
  8899  }
  8900  
  8901  // SetClusterArn sets the ClusterArn field's value.
  8902  func (s *UpdateBrokerStorageInput) SetClusterArn(v string) *UpdateBrokerStorageInput {
  8903  	s.ClusterArn = &v
  8904  	return s
  8905  }
  8906  
  8907  // SetCurrentVersion sets the CurrentVersion field's value.
  8908  func (s *UpdateBrokerStorageInput) SetCurrentVersion(v string) *UpdateBrokerStorageInput {
  8909  	s.CurrentVersion = &v
  8910  	return s
  8911  }
  8912  
  8913  // SetTargetBrokerEBSVolumeInfo sets the TargetBrokerEBSVolumeInfo field's value.
  8914  func (s *UpdateBrokerStorageInput) SetTargetBrokerEBSVolumeInfo(v []*BrokerEBSVolumeInfo) *UpdateBrokerStorageInput {
  8915  	s.TargetBrokerEBSVolumeInfo = v
  8916  	return s
  8917  }
  8918  
  8919  // Response body for UpdateBrokerStorage.
  8920  type UpdateBrokerStorageOutput struct {
  8921  	_ struct{} `type:"structure"`
  8922  
  8923  	// The Amazon Resource Name (ARN) of the cluster.
  8924  	ClusterArn *string `locationName:"clusterArn" type:"string"`
  8925  
  8926  	// The Amazon Resource Name (ARN) of the cluster operation.
  8927  	ClusterOperationArn *string `locationName:"clusterOperationArn" type:"string"`
  8928  }
  8929  
  8930  // String returns the string representation.
  8931  //
  8932  // API parameter values that are decorated as "sensitive" in the API will not
  8933  // be included in the string output. The member name will be present, but the
  8934  // value will be replaced with "sensitive".
  8935  func (s UpdateBrokerStorageOutput) String() string {
  8936  	return awsutil.Prettify(s)
  8937  }
  8938  
  8939  // GoString returns the string representation.
  8940  //
  8941  // API parameter values that are decorated as "sensitive" in the API will not
  8942  // be included in the string output. The member name will be present, but the
  8943  // value will be replaced with "sensitive".
  8944  func (s UpdateBrokerStorageOutput) GoString() string {
  8945  	return s.String()
  8946  }
  8947  
  8948  // SetClusterArn sets the ClusterArn field's value.
  8949  func (s *UpdateBrokerStorageOutput) SetClusterArn(v string) *UpdateBrokerStorageOutput {
  8950  	s.ClusterArn = &v
  8951  	return s
  8952  }
  8953  
  8954  // SetClusterOperationArn sets the ClusterOperationArn field's value.
  8955  func (s *UpdateBrokerStorageOutput) SetClusterOperationArn(v string) *UpdateBrokerStorageOutput {
  8956  	s.ClusterOperationArn = &v
  8957  	return s
  8958  }
  8959  
  8960  // Request body for UpdateBrokerType.
  8961  type UpdateBrokerTypeInput struct {
  8962  	_ struct{} `type:"structure"`
  8963  
  8964  	// ClusterArn is a required field
  8965  	ClusterArn *string `location:"uri" locationName:"clusterArn" type:"string" required:"true"`
  8966  
  8967  	// The current version of the cluster.
  8968  	//
  8969  	// CurrentVersion is a required field
  8970  	CurrentVersion *string `locationName:"currentVersion" type:"string" required:"true"`
  8971  
  8972  	// The Amazon MSK broker type that you want all of the brokers in this cluster
  8973  	// to be.
  8974  	//
  8975  	// TargetInstanceType is a required field
  8976  	TargetInstanceType *string `locationName:"targetInstanceType" type:"string" required:"true"`
  8977  }
  8978  
  8979  // String returns the string representation.
  8980  //
  8981  // API parameter values that are decorated as "sensitive" in the API will not
  8982  // be included in the string output. The member name will be present, but the
  8983  // value will be replaced with "sensitive".
  8984  func (s UpdateBrokerTypeInput) String() string {
  8985  	return awsutil.Prettify(s)
  8986  }
  8987  
  8988  // GoString returns the string representation.
  8989  //
  8990  // API parameter values that are decorated as "sensitive" in the API will not
  8991  // be included in the string output. The member name will be present, but the
  8992  // value will be replaced with "sensitive".
  8993  func (s UpdateBrokerTypeInput) GoString() string {
  8994  	return s.String()
  8995  }
  8996  
  8997  // Validate inspects the fields of the type to determine if they are valid.
  8998  func (s *UpdateBrokerTypeInput) Validate() error {
  8999  	invalidParams := request.ErrInvalidParams{Context: "UpdateBrokerTypeInput"}
  9000  	if s.ClusterArn == nil {
  9001  		invalidParams.Add(request.NewErrParamRequired("ClusterArn"))
  9002  	}
  9003  	if s.ClusterArn != nil && len(*s.ClusterArn) < 1 {
  9004  		invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1))
  9005  	}
  9006  	if s.CurrentVersion == nil {
  9007  		invalidParams.Add(request.NewErrParamRequired("CurrentVersion"))
  9008  	}
  9009  	if s.TargetInstanceType == nil {
  9010  		invalidParams.Add(request.NewErrParamRequired("TargetInstanceType"))
  9011  	}
  9012  
  9013  	if invalidParams.Len() > 0 {
  9014  		return invalidParams
  9015  	}
  9016  	return nil
  9017  }
  9018  
  9019  // SetClusterArn sets the ClusterArn field's value.
  9020  func (s *UpdateBrokerTypeInput) SetClusterArn(v string) *UpdateBrokerTypeInput {
  9021  	s.ClusterArn = &v
  9022  	return s
  9023  }
  9024  
  9025  // SetCurrentVersion sets the CurrentVersion field's value.
  9026  func (s *UpdateBrokerTypeInput) SetCurrentVersion(v string) *UpdateBrokerTypeInput {
  9027  	s.CurrentVersion = &v
  9028  	return s
  9029  }
  9030  
  9031  // SetTargetInstanceType sets the TargetInstanceType field's value.
  9032  func (s *UpdateBrokerTypeInput) SetTargetInstanceType(v string) *UpdateBrokerTypeInput {
  9033  	s.TargetInstanceType = &v
  9034  	return s
  9035  }
  9036  
  9037  // Response body for UpdateBrokerType.
  9038  type UpdateBrokerTypeOutput struct {
  9039  	_ struct{} `type:"structure"`
  9040  
  9041  	// The Amazon Resource Name (ARN) of the cluster.
  9042  	ClusterArn *string `locationName:"clusterArn" type:"string"`
  9043  
  9044  	// The Amazon Resource Name (ARN) of the cluster operation.
  9045  	ClusterOperationArn *string `locationName:"clusterOperationArn" type:"string"`
  9046  }
  9047  
  9048  // String returns the string representation.
  9049  //
  9050  // API parameter values that are decorated as "sensitive" in the API will not
  9051  // be included in the string output. The member name will be present, but the
  9052  // value will be replaced with "sensitive".
  9053  func (s UpdateBrokerTypeOutput) String() string {
  9054  	return awsutil.Prettify(s)
  9055  }
  9056  
  9057  // GoString returns the string representation.
  9058  //
  9059  // API parameter values that are decorated as "sensitive" in the API will not
  9060  // be included in the string output. The member name will be present, but the
  9061  // value will be replaced with "sensitive".
  9062  func (s UpdateBrokerTypeOutput) GoString() string {
  9063  	return s.String()
  9064  }
  9065  
  9066  // SetClusterArn sets the ClusterArn field's value.
  9067  func (s *UpdateBrokerTypeOutput) SetClusterArn(v string) *UpdateBrokerTypeOutput {
  9068  	s.ClusterArn = &v
  9069  	return s
  9070  }
  9071  
  9072  // SetClusterOperationArn sets the ClusterOperationArn field's value.
  9073  func (s *UpdateBrokerTypeOutput) SetClusterOperationArn(v string) *UpdateBrokerTypeOutput {
  9074  	s.ClusterOperationArn = &v
  9075  	return s
  9076  }
  9077  
  9078  // Request body for UpdateClusterConfiguration.
  9079  type UpdateClusterConfigurationInput struct {
  9080  	_ struct{} `type:"structure"`
  9081  
  9082  	// ClusterArn is a required field
  9083  	ClusterArn *string `location:"uri" locationName:"clusterArn" type:"string" required:"true"`
  9084  
  9085  	// Represents the configuration that you want MSK to use for the cluster.
  9086  	//
  9087  	// ConfigurationInfo is a required field
  9088  	ConfigurationInfo *ConfigurationInfo `locationName:"configurationInfo" type:"structure" required:"true"`
  9089  
  9090  	// The version of the cluster that you want to update.
  9091  	//
  9092  	// CurrentVersion is a required field
  9093  	CurrentVersion *string `locationName:"currentVersion" type:"string" required:"true"`
  9094  }
  9095  
  9096  // String returns the string representation.
  9097  //
  9098  // API parameter values that are decorated as "sensitive" in the API will not
  9099  // be included in the string output. The member name will be present, but the
  9100  // value will be replaced with "sensitive".
  9101  func (s UpdateClusterConfigurationInput) String() string {
  9102  	return awsutil.Prettify(s)
  9103  }
  9104  
  9105  // GoString returns the string representation.
  9106  //
  9107  // API parameter values that are decorated as "sensitive" in the API will not
  9108  // be included in the string output. The member name will be present, but the
  9109  // value will be replaced with "sensitive".
  9110  func (s UpdateClusterConfigurationInput) GoString() string {
  9111  	return s.String()
  9112  }
  9113  
  9114  // Validate inspects the fields of the type to determine if they are valid.
  9115  func (s *UpdateClusterConfigurationInput) Validate() error {
  9116  	invalidParams := request.ErrInvalidParams{Context: "UpdateClusterConfigurationInput"}
  9117  	if s.ClusterArn == nil {
  9118  		invalidParams.Add(request.NewErrParamRequired("ClusterArn"))
  9119  	}
  9120  	if s.ClusterArn != nil && len(*s.ClusterArn) < 1 {
  9121  		invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1))
  9122  	}
  9123  	if s.ConfigurationInfo == nil {
  9124  		invalidParams.Add(request.NewErrParamRequired("ConfigurationInfo"))
  9125  	}
  9126  	if s.CurrentVersion == nil {
  9127  		invalidParams.Add(request.NewErrParamRequired("CurrentVersion"))
  9128  	}
  9129  	if s.ConfigurationInfo != nil {
  9130  		if err := s.ConfigurationInfo.Validate(); err != nil {
  9131  			invalidParams.AddNested("ConfigurationInfo", err.(request.ErrInvalidParams))
  9132  		}
  9133  	}
  9134  
  9135  	if invalidParams.Len() > 0 {
  9136  		return invalidParams
  9137  	}
  9138  	return nil
  9139  }
  9140  
  9141  // SetClusterArn sets the ClusterArn field's value.
  9142  func (s *UpdateClusterConfigurationInput) SetClusterArn(v string) *UpdateClusterConfigurationInput {
  9143  	s.ClusterArn = &v
  9144  	return s
  9145  }
  9146  
  9147  // SetConfigurationInfo sets the ConfigurationInfo field's value.
  9148  func (s *UpdateClusterConfigurationInput) SetConfigurationInfo(v *ConfigurationInfo) *UpdateClusterConfigurationInput {
  9149  	s.ConfigurationInfo = v
  9150  	return s
  9151  }
  9152  
  9153  // SetCurrentVersion sets the CurrentVersion field's value.
  9154  func (s *UpdateClusterConfigurationInput) SetCurrentVersion(v string) *UpdateClusterConfigurationInput {
  9155  	s.CurrentVersion = &v
  9156  	return s
  9157  }
  9158  
  9159  // Response body for UpdateClusterConfiguration.
  9160  type UpdateClusterConfigurationOutput struct {
  9161  	_ struct{} `type:"structure"`
  9162  
  9163  	// The Amazon Resource Name (ARN) of the cluster.
  9164  	ClusterArn *string `locationName:"clusterArn" type:"string"`
  9165  
  9166  	// The Amazon Resource Name (ARN) of the cluster operation.
  9167  	ClusterOperationArn *string `locationName:"clusterOperationArn" type:"string"`
  9168  }
  9169  
  9170  // String returns the string representation.
  9171  //
  9172  // API parameter values that are decorated as "sensitive" in the API will not
  9173  // be included in the string output. The member name will be present, but the
  9174  // value will be replaced with "sensitive".
  9175  func (s UpdateClusterConfigurationOutput) String() string {
  9176  	return awsutil.Prettify(s)
  9177  }
  9178  
  9179  // GoString returns the string representation.
  9180  //
  9181  // API parameter values that are decorated as "sensitive" in the API will not
  9182  // be included in the string output. The member name will be present, but the
  9183  // value will be replaced with "sensitive".
  9184  func (s UpdateClusterConfigurationOutput) GoString() string {
  9185  	return s.String()
  9186  }
  9187  
  9188  // SetClusterArn sets the ClusterArn field's value.
  9189  func (s *UpdateClusterConfigurationOutput) SetClusterArn(v string) *UpdateClusterConfigurationOutput {
  9190  	s.ClusterArn = &v
  9191  	return s
  9192  }
  9193  
  9194  // SetClusterOperationArn sets the ClusterOperationArn field's value.
  9195  func (s *UpdateClusterConfigurationOutput) SetClusterOperationArn(v string) *UpdateClusterConfigurationOutput {
  9196  	s.ClusterOperationArn = &v
  9197  	return s
  9198  }
  9199  
  9200  // Request body for UpdateClusterKafkaVersion.
  9201  type UpdateClusterKafkaVersionInput struct {
  9202  	_ struct{} `type:"structure"`
  9203  
  9204  	// ClusterArn is a required field
  9205  	ClusterArn *string `location:"uri" locationName:"clusterArn" type:"string" required:"true"`
  9206  
  9207  	// Specifies the configuration to use for the brokers.
  9208  	ConfigurationInfo *ConfigurationInfo `locationName:"configurationInfo" type:"structure"`
  9209  
  9210  	// Current cluster version.
  9211  	//
  9212  	// CurrentVersion is a required field
  9213  	CurrentVersion *string `locationName:"currentVersion" type:"string" required:"true"`
  9214  
  9215  	// Target Kafka version.
  9216  	//
  9217  	// TargetKafkaVersion is a required field
  9218  	TargetKafkaVersion *string `locationName:"targetKafkaVersion" type:"string" required:"true"`
  9219  }
  9220  
  9221  // String returns the string representation.
  9222  //
  9223  // API parameter values that are decorated as "sensitive" in the API will not
  9224  // be included in the string output. The member name will be present, but the
  9225  // value will be replaced with "sensitive".
  9226  func (s UpdateClusterKafkaVersionInput) String() string {
  9227  	return awsutil.Prettify(s)
  9228  }
  9229  
  9230  // GoString returns the string representation.
  9231  //
  9232  // API parameter values that are decorated as "sensitive" in the API will not
  9233  // be included in the string output. The member name will be present, but the
  9234  // value will be replaced with "sensitive".
  9235  func (s UpdateClusterKafkaVersionInput) GoString() string {
  9236  	return s.String()
  9237  }
  9238  
  9239  // Validate inspects the fields of the type to determine if they are valid.
  9240  func (s *UpdateClusterKafkaVersionInput) Validate() error {
  9241  	invalidParams := request.ErrInvalidParams{Context: "UpdateClusterKafkaVersionInput"}
  9242  	if s.ClusterArn == nil {
  9243  		invalidParams.Add(request.NewErrParamRequired("ClusterArn"))
  9244  	}
  9245  	if s.ClusterArn != nil && len(*s.ClusterArn) < 1 {
  9246  		invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1))
  9247  	}
  9248  	if s.CurrentVersion == nil {
  9249  		invalidParams.Add(request.NewErrParamRequired("CurrentVersion"))
  9250  	}
  9251  	if s.TargetKafkaVersion == nil {
  9252  		invalidParams.Add(request.NewErrParamRequired("TargetKafkaVersion"))
  9253  	}
  9254  	if s.ConfigurationInfo != nil {
  9255  		if err := s.ConfigurationInfo.Validate(); err != nil {
  9256  			invalidParams.AddNested("ConfigurationInfo", err.(request.ErrInvalidParams))
  9257  		}
  9258  	}
  9259  
  9260  	if invalidParams.Len() > 0 {
  9261  		return invalidParams
  9262  	}
  9263  	return nil
  9264  }
  9265  
  9266  // SetClusterArn sets the ClusterArn field's value.
  9267  func (s *UpdateClusterKafkaVersionInput) SetClusterArn(v string) *UpdateClusterKafkaVersionInput {
  9268  	s.ClusterArn = &v
  9269  	return s
  9270  }
  9271  
  9272  // SetConfigurationInfo sets the ConfigurationInfo field's value.
  9273  func (s *UpdateClusterKafkaVersionInput) SetConfigurationInfo(v *ConfigurationInfo) *UpdateClusterKafkaVersionInput {
  9274  	s.ConfigurationInfo = v
  9275  	return s
  9276  }
  9277  
  9278  // SetCurrentVersion sets the CurrentVersion field's value.
  9279  func (s *UpdateClusterKafkaVersionInput) SetCurrentVersion(v string) *UpdateClusterKafkaVersionInput {
  9280  	s.CurrentVersion = &v
  9281  	return s
  9282  }
  9283  
  9284  // SetTargetKafkaVersion sets the TargetKafkaVersion field's value.
  9285  func (s *UpdateClusterKafkaVersionInput) SetTargetKafkaVersion(v string) *UpdateClusterKafkaVersionInput {
  9286  	s.TargetKafkaVersion = &v
  9287  	return s
  9288  }
  9289  
  9290  // Response body for UpdateClusterKafkaVersion.
  9291  type UpdateClusterKafkaVersionOutput struct {
  9292  	_ struct{} `type:"structure"`
  9293  
  9294  	// The Amazon Resource Name (ARN) of the cluster.
  9295  	ClusterArn *string `locationName:"clusterArn" type:"string"`
  9296  
  9297  	// The Amazon Resource Name (ARN) of the cluster operation.
  9298  	ClusterOperationArn *string `locationName:"clusterOperationArn" type:"string"`
  9299  }
  9300  
  9301  // String returns the string representation.
  9302  //
  9303  // API parameter values that are decorated as "sensitive" in the API will not
  9304  // be included in the string output. The member name will be present, but the
  9305  // value will be replaced with "sensitive".
  9306  func (s UpdateClusterKafkaVersionOutput) String() string {
  9307  	return awsutil.Prettify(s)
  9308  }
  9309  
  9310  // GoString returns the string representation.
  9311  //
  9312  // API parameter values that are decorated as "sensitive" in the API will not
  9313  // be included in the string output. The member name will be present, but the
  9314  // value will be replaced with "sensitive".
  9315  func (s UpdateClusterKafkaVersionOutput) GoString() string {
  9316  	return s.String()
  9317  }
  9318  
  9319  // SetClusterArn sets the ClusterArn field's value.
  9320  func (s *UpdateClusterKafkaVersionOutput) SetClusterArn(v string) *UpdateClusterKafkaVersionOutput {
  9321  	s.ClusterArn = &v
  9322  	return s
  9323  }
  9324  
  9325  // SetClusterOperationArn sets the ClusterOperationArn field's value.
  9326  func (s *UpdateClusterKafkaVersionOutput) SetClusterOperationArn(v string) *UpdateClusterKafkaVersionOutput {
  9327  	s.ClusterOperationArn = &v
  9328  	return s
  9329  }
  9330  
  9331  // Request body for UpdateConfiguration.
  9332  type UpdateConfigurationInput struct {
  9333  	_ struct{} `type:"structure"`
  9334  
  9335  	// The Amazon Resource Name (ARN) of the configuration.
  9336  	//
  9337  	// Arn is a required field
  9338  	Arn *string `location:"uri" locationName:"arn" type:"string" required:"true"`
  9339  
  9340  	// The description of the configuration.
  9341  	Description *string `locationName:"description" type:"string"`
  9342  
  9343  	// ServerProperties is automatically base64 encoded/decoded by the SDK.
  9344  	//
  9345  	// ServerProperties is a required field
  9346  	ServerProperties []byte `locationName:"serverProperties" type:"blob" required:"true"`
  9347  }
  9348  
  9349  // String returns the string representation.
  9350  //
  9351  // API parameter values that are decorated as "sensitive" in the API will not
  9352  // be included in the string output. The member name will be present, but the
  9353  // value will be replaced with "sensitive".
  9354  func (s UpdateConfigurationInput) String() string {
  9355  	return awsutil.Prettify(s)
  9356  }
  9357  
  9358  // GoString returns the string representation.
  9359  //
  9360  // API parameter values that are decorated as "sensitive" in the API will not
  9361  // be included in the string output. The member name will be present, but the
  9362  // value will be replaced with "sensitive".
  9363  func (s UpdateConfigurationInput) GoString() string {
  9364  	return s.String()
  9365  }
  9366  
  9367  // Validate inspects the fields of the type to determine if they are valid.
  9368  func (s *UpdateConfigurationInput) Validate() error {
  9369  	invalidParams := request.ErrInvalidParams{Context: "UpdateConfigurationInput"}
  9370  	if s.Arn == nil {
  9371  		invalidParams.Add(request.NewErrParamRequired("Arn"))
  9372  	}
  9373  	if s.Arn != nil && len(*s.Arn) < 1 {
  9374  		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
  9375  	}
  9376  	if s.ServerProperties == nil {
  9377  		invalidParams.Add(request.NewErrParamRequired("ServerProperties"))
  9378  	}
  9379  
  9380  	if invalidParams.Len() > 0 {
  9381  		return invalidParams
  9382  	}
  9383  	return nil
  9384  }
  9385  
  9386  // SetArn sets the Arn field's value.
  9387  func (s *UpdateConfigurationInput) SetArn(v string) *UpdateConfigurationInput {
  9388  	s.Arn = &v
  9389  	return s
  9390  }
  9391  
  9392  // SetDescription sets the Description field's value.
  9393  func (s *UpdateConfigurationInput) SetDescription(v string) *UpdateConfigurationInput {
  9394  	s.Description = &v
  9395  	return s
  9396  }
  9397  
  9398  // SetServerProperties sets the ServerProperties field's value.
  9399  func (s *UpdateConfigurationInput) SetServerProperties(v []byte) *UpdateConfigurationInput {
  9400  	s.ServerProperties = v
  9401  	return s
  9402  }
  9403  
  9404  // Response body for UpdateConfiguration.
  9405  type UpdateConfigurationOutput struct {
  9406  	_ struct{} `type:"structure"`
  9407  
  9408  	// The Amazon Resource Name (ARN) of the configuration.
  9409  	Arn *string `locationName:"arn" type:"string"`
  9410  
  9411  	// Latest revision of the configuration.
  9412  	LatestRevision *ConfigurationRevision `locationName:"latestRevision" type:"structure"`
  9413  }
  9414  
  9415  // String returns the string representation.
  9416  //
  9417  // API parameter values that are decorated as "sensitive" in the API will not
  9418  // be included in the string output. The member name will be present, but the
  9419  // value will be replaced with "sensitive".
  9420  func (s UpdateConfigurationOutput) String() string {
  9421  	return awsutil.Prettify(s)
  9422  }
  9423  
  9424  // GoString returns the string representation.
  9425  //
  9426  // API parameter values that are decorated as "sensitive" in the API will not
  9427  // be included in the string output. The member name will be present, but the
  9428  // value will be replaced with "sensitive".
  9429  func (s UpdateConfigurationOutput) GoString() string {
  9430  	return s.String()
  9431  }
  9432  
  9433  // SetArn sets the Arn field's value.
  9434  func (s *UpdateConfigurationOutput) SetArn(v string) *UpdateConfigurationOutput {
  9435  	s.Arn = &v
  9436  	return s
  9437  }
  9438  
  9439  // SetLatestRevision sets the LatestRevision field's value.
  9440  func (s *UpdateConfigurationOutput) SetLatestRevision(v *ConfigurationRevision) *UpdateConfigurationOutput {
  9441  	s.LatestRevision = v
  9442  	return s
  9443  }
  9444  
  9445  // Request body for UpdateMonitoring.
  9446  type UpdateMonitoringInput struct {
  9447  	_ struct{} `type:"structure"`
  9448  
  9449  	// ClusterArn is a required field
  9450  	ClusterArn *string `location:"uri" locationName:"clusterArn" type:"string" required:"true"`
  9451  
  9452  	// The version of cluster to update from. A successful operation will then generate
  9453  	// a new version.
  9454  	//
  9455  	// CurrentVersion is a required field
  9456  	CurrentVersion *string `locationName:"currentVersion" type:"string" required:"true"`
  9457  
  9458  	// Specifies which Apache Kafka metrics Amazon MSK gathers and sends to Amazon
  9459  	// CloudWatch for this cluster.
  9460  	EnhancedMonitoring *string `locationName:"enhancedMonitoring" type:"string" enum:"EnhancedMonitoring"`
  9461  
  9462  	// LoggingInfo details.
  9463  	LoggingInfo *LoggingInfo `locationName:"loggingInfo" type:"structure"`
  9464  
  9465  	// The settings for open monitoring.
  9466  	OpenMonitoring *OpenMonitoringInfo `locationName:"openMonitoring" type:"structure"`
  9467  }
  9468  
  9469  // String returns the string representation.
  9470  //
  9471  // API parameter values that are decorated as "sensitive" in the API will not
  9472  // be included in the string output. The member name will be present, but the
  9473  // value will be replaced with "sensitive".
  9474  func (s UpdateMonitoringInput) String() string {
  9475  	return awsutil.Prettify(s)
  9476  }
  9477  
  9478  // GoString returns the string representation.
  9479  //
  9480  // API parameter values that are decorated as "sensitive" in the API will not
  9481  // be included in the string output. The member name will be present, but the
  9482  // value will be replaced with "sensitive".
  9483  func (s UpdateMonitoringInput) GoString() string {
  9484  	return s.String()
  9485  }
  9486  
  9487  // Validate inspects the fields of the type to determine if they are valid.
  9488  func (s *UpdateMonitoringInput) Validate() error {
  9489  	invalidParams := request.ErrInvalidParams{Context: "UpdateMonitoringInput"}
  9490  	if s.ClusterArn == nil {
  9491  		invalidParams.Add(request.NewErrParamRequired("ClusterArn"))
  9492  	}
  9493  	if s.ClusterArn != nil && len(*s.ClusterArn) < 1 {
  9494  		invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1))
  9495  	}
  9496  	if s.CurrentVersion == nil {
  9497  		invalidParams.Add(request.NewErrParamRequired("CurrentVersion"))
  9498  	}
  9499  	if s.LoggingInfo != nil {
  9500  		if err := s.LoggingInfo.Validate(); err != nil {
  9501  			invalidParams.AddNested("LoggingInfo", err.(request.ErrInvalidParams))
  9502  		}
  9503  	}
  9504  	if s.OpenMonitoring != nil {
  9505  		if err := s.OpenMonitoring.Validate(); err != nil {
  9506  			invalidParams.AddNested("OpenMonitoring", err.(request.ErrInvalidParams))
  9507  		}
  9508  	}
  9509  
  9510  	if invalidParams.Len() > 0 {
  9511  		return invalidParams
  9512  	}
  9513  	return nil
  9514  }
  9515  
  9516  // SetClusterArn sets the ClusterArn field's value.
  9517  func (s *UpdateMonitoringInput) SetClusterArn(v string) *UpdateMonitoringInput {
  9518  	s.ClusterArn = &v
  9519  	return s
  9520  }
  9521  
  9522  // SetCurrentVersion sets the CurrentVersion field's value.
  9523  func (s *UpdateMonitoringInput) SetCurrentVersion(v string) *UpdateMonitoringInput {
  9524  	s.CurrentVersion = &v
  9525  	return s
  9526  }
  9527  
  9528  // SetEnhancedMonitoring sets the EnhancedMonitoring field's value.
  9529  func (s *UpdateMonitoringInput) SetEnhancedMonitoring(v string) *UpdateMonitoringInput {
  9530  	s.EnhancedMonitoring = &v
  9531  	return s
  9532  }
  9533  
  9534  // SetLoggingInfo sets the LoggingInfo field's value.
  9535  func (s *UpdateMonitoringInput) SetLoggingInfo(v *LoggingInfo) *UpdateMonitoringInput {
  9536  	s.LoggingInfo = v
  9537  	return s
  9538  }
  9539  
  9540  // SetOpenMonitoring sets the OpenMonitoring field's value.
  9541  func (s *UpdateMonitoringInput) SetOpenMonitoring(v *OpenMonitoringInfo) *UpdateMonitoringInput {
  9542  	s.OpenMonitoring = v
  9543  	return s
  9544  }
  9545  
  9546  // Response body for UpdateMonitoring.
  9547  type UpdateMonitoringOutput struct {
  9548  	_ struct{} `type:"structure"`
  9549  
  9550  	// The Amazon Resource Name (ARN) of the cluster.
  9551  	ClusterArn *string `locationName:"clusterArn" type:"string"`
  9552  
  9553  	// The Amazon Resource Name (ARN) of the cluster operation.
  9554  	ClusterOperationArn *string `locationName:"clusterOperationArn" type:"string"`
  9555  }
  9556  
  9557  // String returns the string representation.
  9558  //
  9559  // API parameter values that are decorated as "sensitive" in the API will not
  9560  // be included in the string output. The member name will be present, but the
  9561  // value will be replaced with "sensitive".
  9562  func (s UpdateMonitoringOutput) String() string {
  9563  	return awsutil.Prettify(s)
  9564  }
  9565  
  9566  // GoString returns the string representation.
  9567  //
  9568  // API parameter values that are decorated as "sensitive" in the API will not
  9569  // be included in the string output. The member name will be present, but the
  9570  // value will be replaced with "sensitive".
  9571  func (s UpdateMonitoringOutput) GoString() string {
  9572  	return s.String()
  9573  }
  9574  
  9575  // SetClusterArn sets the ClusterArn field's value.
  9576  func (s *UpdateMonitoringOutput) SetClusterArn(v string) *UpdateMonitoringOutput {
  9577  	s.ClusterArn = &v
  9578  	return s
  9579  }
  9580  
  9581  // SetClusterOperationArn sets the ClusterOperationArn field's value.
  9582  func (s *UpdateMonitoringOutput) SetClusterOperationArn(v string) *UpdateMonitoringOutput {
  9583  	s.ClusterOperationArn = &v
  9584  	return s
  9585  }
  9586  
  9587  // Request body for UpdateSecurity.
  9588  type UpdateSecurityInput struct {
  9589  	_ struct{} `type:"structure"`
  9590  
  9591  	// Includes all client authentication related information.
  9592  	ClientAuthentication *ClientAuthentication `locationName:"clientAuthentication" type:"structure"`
  9593  
  9594  	// ClusterArn is a required field
  9595  	ClusterArn *string `location:"uri" locationName:"clusterArn" type:"string" required:"true"`
  9596  
  9597  	// You can use the DescribeCluster operation to get the current version of the
  9598  	// cluster. After the security update is complete, the cluster will have a new
  9599  	// version.
  9600  	//
  9601  	// CurrentVersion is a required field
  9602  	CurrentVersion *string `locationName:"currentVersion" type:"string" required:"true"`
  9603  
  9604  	// Includes all encryption-related information.
  9605  	EncryptionInfo *EncryptionInfo `locationName:"encryptionInfo" type:"structure"`
  9606  }
  9607  
  9608  // String returns the string representation.
  9609  //
  9610  // API parameter values that are decorated as "sensitive" in the API will not
  9611  // be included in the string output. The member name will be present, but the
  9612  // value will be replaced with "sensitive".
  9613  func (s UpdateSecurityInput) String() string {
  9614  	return awsutil.Prettify(s)
  9615  }
  9616  
  9617  // GoString returns the string representation.
  9618  //
  9619  // API parameter values that are decorated as "sensitive" in the API will not
  9620  // be included in the string output. The member name will be present, but the
  9621  // value will be replaced with "sensitive".
  9622  func (s UpdateSecurityInput) GoString() string {
  9623  	return s.String()
  9624  }
  9625  
  9626  // Validate inspects the fields of the type to determine if they are valid.
  9627  func (s *UpdateSecurityInput) Validate() error {
  9628  	invalidParams := request.ErrInvalidParams{Context: "UpdateSecurityInput"}
  9629  	if s.ClusterArn == nil {
  9630  		invalidParams.Add(request.NewErrParamRequired("ClusterArn"))
  9631  	}
  9632  	if s.ClusterArn != nil && len(*s.ClusterArn) < 1 {
  9633  		invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1))
  9634  	}
  9635  	if s.CurrentVersion == nil {
  9636  		invalidParams.Add(request.NewErrParamRequired("CurrentVersion"))
  9637  	}
  9638  	if s.EncryptionInfo != nil {
  9639  		if err := s.EncryptionInfo.Validate(); err != nil {
  9640  			invalidParams.AddNested("EncryptionInfo", err.(request.ErrInvalidParams))
  9641  		}
  9642  	}
  9643  
  9644  	if invalidParams.Len() > 0 {
  9645  		return invalidParams
  9646  	}
  9647  	return nil
  9648  }
  9649  
  9650  // SetClientAuthentication sets the ClientAuthentication field's value.
  9651  func (s *UpdateSecurityInput) SetClientAuthentication(v *ClientAuthentication) *UpdateSecurityInput {
  9652  	s.ClientAuthentication = v
  9653  	return s
  9654  }
  9655  
  9656  // SetClusterArn sets the ClusterArn field's value.
  9657  func (s *UpdateSecurityInput) SetClusterArn(v string) *UpdateSecurityInput {
  9658  	s.ClusterArn = &v
  9659  	return s
  9660  }
  9661  
  9662  // SetCurrentVersion sets the CurrentVersion field's value.
  9663  func (s *UpdateSecurityInput) SetCurrentVersion(v string) *UpdateSecurityInput {
  9664  	s.CurrentVersion = &v
  9665  	return s
  9666  }
  9667  
  9668  // SetEncryptionInfo sets the EncryptionInfo field's value.
  9669  func (s *UpdateSecurityInput) SetEncryptionInfo(v *EncryptionInfo) *UpdateSecurityInput {
  9670  	s.EncryptionInfo = v
  9671  	return s
  9672  }
  9673  
  9674  // Response body for UpdateSecurity.
  9675  type UpdateSecurityOutput struct {
  9676  	_ struct{} `type:"structure"`
  9677  
  9678  	// The Amazon Resource Name (ARN) of the cluster.
  9679  	ClusterArn *string `locationName:"clusterArn" type:"string"`
  9680  
  9681  	// The Amazon Resource Name (ARN) of the cluster operation.
  9682  	ClusterOperationArn *string `locationName:"clusterOperationArn" type:"string"`
  9683  }
  9684  
  9685  // String returns the string representation.
  9686  //
  9687  // API parameter values that are decorated as "sensitive" in the API will not
  9688  // be included in the string output. The member name will be present, but the
  9689  // value will be replaced with "sensitive".
  9690  func (s UpdateSecurityOutput) String() string {
  9691  	return awsutil.Prettify(s)
  9692  }
  9693  
  9694  // GoString returns the string representation.
  9695  //
  9696  // API parameter values that are decorated as "sensitive" in the API will not
  9697  // be included in the string output. The member name will be present, but the
  9698  // value will be replaced with "sensitive".
  9699  func (s UpdateSecurityOutput) GoString() string {
  9700  	return s.String()
  9701  }
  9702  
  9703  // SetClusterArn sets the ClusterArn field's value.
  9704  func (s *UpdateSecurityOutput) SetClusterArn(v string) *UpdateSecurityOutput {
  9705  	s.ClusterArn = &v
  9706  	return s
  9707  }
  9708  
  9709  // SetClusterOperationArn sets the ClusterOperationArn field's value.
  9710  func (s *UpdateSecurityOutput) SetClusterOperationArn(v string) *UpdateSecurityOutput {
  9711  	s.ClusterOperationArn = &v
  9712  	return s
  9713  }
  9714  
  9715  // Zookeeper node information.
  9716  type ZookeeperNodeInfo struct {
  9717  	_ struct{} `type:"structure"`
  9718  
  9719  	// The attached elastic network interface of the broker.
  9720  	AttachedENIId *string `locationName:"attachedENIId" type:"string"`
  9721  
  9722  	// The virtual private cloud (VPC) IP address of the client.
  9723  	ClientVpcIpAddress *string `locationName:"clientVpcIpAddress" type:"string"`
  9724  
  9725  	// Endpoints for accessing the ZooKeeper.
  9726  	Endpoints []*string `locationName:"endpoints" type:"list"`
  9727  
  9728  	// The role-specific ID for Zookeeper.
  9729  	ZookeeperId *float64 `locationName:"zookeeperId" type:"double"`
  9730  
  9731  	// The version of Zookeeper.
  9732  	ZookeeperVersion *string `locationName:"zookeeperVersion" type:"string"`
  9733  }
  9734  
  9735  // String returns the string representation.
  9736  //
  9737  // API parameter values that are decorated as "sensitive" in the API will not
  9738  // be included in the string output. The member name will be present, but the
  9739  // value will be replaced with "sensitive".
  9740  func (s ZookeeperNodeInfo) String() string {
  9741  	return awsutil.Prettify(s)
  9742  }
  9743  
  9744  // GoString returns the string representation.
  9745  //
  9746  // API parameter values that are decorated as "sensitive" in the API will not
  9747  // be included in the string output. The member name will be present, but the
  9748  // value will be replaced with "sensitive".
  9749  func (s ZookeeperNodeInfo) GoString() string {
  9750  	return s.String()
  9751  }
  9752  
  9753  // SetAttachedENIId sets the AttachedENIId field's value.
  9754  func (s *ZookeeperNodeInfo) SetAttachedENIId(v string) *ZookeeperNodeInfo {
  9755  	s.AttachedENIId = &v
  9756  	return s
  9757  }
  9758  
  9759  // SetClientVpcIpAddress sets the ClientVpcIpAddress field's value.
  9760  func (s *ZookeeperNodeInfo) SetClientVpcIpAddress(v string) *ZookeeperNodeInfo {
  9761  	s.ClientVpcIpAddress = &v
  9762  	return s
  9763  }
  9764  
  9765  // SetEndpoints sets the Endpoints field's value.
  9766  func (s *ZookeeperNodeInfo) SetEndpoints(v []*string) *ZookeeperNodeInfo {
  9767  	s.Endpoints = v
  9768  	return s
  9769  }
  9770  
  9771  // SetZookeeperId sets the ZookeeperId field's value.
  9772  func (s *ZookeeperNodeInfo) SetZookeeperId(v float64) *ZookeeperNodeInfo {
  9773  	s.ZookeeperId = &v
  9774  	return s
  9775  }
  9776  
  9777  // SetZookeeperVersion sets the ZookeeperVersion field's value.
  9778  func (s *ZookeeperNodeInfo) SetZookeeperVersion(v string) *ZookeeperNodeInfo {
  9779  	s.ZookeeperVersion = &v
  9780  	return s
  9781  }
  9782  
  9783  // The distribution of broker nodes across Availability Zones. By default, broker
  9784  // nodes are distributed among the Availability Zones of your Region. Currently,
  9785  // the only supported value is DEFAULT. You can either specify this value explicitly
  9786  // or leave it out.
  9787  const (
  9788  	// BrokerAZDistributionDefault is a BrokerAZDistribution enum value
  9789  	BrokerAZDistributionDefault = "DEFAULT"
  9790  )
  9791  
  9792  // BrokerAZDistribution_Values returns all elements of the BrokerAZDistribution enum
  9793  func BrokerAZDistribution_Values() []string {
  9794  	return []string{
  9795  		BrokerAZDistributionDefault,
  9796  	}
  9797  }
  9798  
  9799  // Client-broker encryption in transit setting.
  9800  const (
  9801  	// ClientBrokerTls is a ClientBroker enum value
  9802  	ClientBrokerTls = "TLS"
  9803  
  9804  	// ClientBrokerTlsPlaintext is a ClientBroker enum value
  9805  	ClientBrokerTlsPlaintext = "TLS_PLAINTEXT"
  9806  
  9807  	// ClientBrokerPlaintext is a ClientBroker enum value
  9808  	ClientBrokerPlaintext = "PLAINTEXT"
  9809  )
  9810  
  9811  // ClientBroker_Values returns all elements of the ClientBroker enum
  9812  func ClientBroker_Values() []string {
  9813  	return []string{
  9814  		ClientBrokerTls,
  9815  		ClientBrokerTlsPlaintext,
  9816  		ClientBrokerPlaintext,
  9817  	}
  9818  }
  9819  
  9820  // The state of a Kafka cluster.
  9821  const (
  9822  	// ClusterStateActive is a ClusterState enum value
  9823  	ClusterStateActive = "ACTIVE"
  9824  
  9825  	// ClusterStateCreating is a ClusterState enum value
  9826  	ClusterStateCreating = "CREATING"
  9827  
  9828  	// ClusterStateDeleting is a ClusterState enum value
  9829  	ClusterStateDeleting = "DELETING"
  9830  
  9831  	// ClusterStateFailed is a ClusterState enum value
  9832  	ClusterStateFailed = "FAILED"
  9833  
  9834  	// ClusterStateHealing is a ClusterState enum value
  9835  	ClusterStateHealing = "HEALING"
  9836  
  9837  	// ClusterStateMaintenance is a ClusterState enum value
  9838  	ClusterStateMaintenance = "MAINTENANCE"
  9839  
  9840  	// ClusterStateRebootingBroker is a ClusterState enum value
  9841  	ClusterStateRebootingBroker = "REBOOTING_BROKER"
  9842  
  9843  	// ClusterStateUpdating is a ClusterState enum value
  9844  	ClusterStateUpdating = "UPDATING"
  9845  )
  9846  
  9847  // ClusterState_Values returns all elements of the ClusterState enum
  9848  func ClusterState_Values() []string {
  9849  	return []string{
  9850  		ClusterStateActive,
  9851  		ClusterStateCreating,
  9852  		ClusterStateDeleting,
  9853  		ClusterStateFailed,
  9854  		ClusterStateHealing,
  9855  		ClusterStateMaintenance,
  9856  		ClusterStateRebootingBroker,
  9857  		ClusterStateUpdating,
  9858  	}
  9859  }
  9860  
  9861  // The state of a configuration.
  9862  const (
  9863  	// ConfigurationStateActive is a ConfigurationState enum value
  9864  	ConfigurationStateActive = "ACTIVE"
  9865  
  9866  	// ConfigurationStateDeleting is a ConfigurationState enum value
  9867  	ConfigurationStateDeleting = "DELETING"
  9868  
  9869  	// ConfigurationStateDeleteFailed is a ConfigurationState enum value
  9870  	ConfigurationStateDeleteFailed = "DELETE_FAILED"
  9871  )
  9872  
  9873  // ConfigurationState_Values returns all elements of the ConfigurationState enum
  9874  func ConfigurationState_Values() []string {
  9875  	return []string{
  9876  		ConfigurationStateActive,
  9877  		ConfigurationStateDeleting,
  9878  		ConfigurationStateDeleteFailed,
  9879  	}
  9880  }
  9881  
  9882  // Specifies which metrics are gathered for the MSK cluster. This property has
  9883  // the following possible values: DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER,
  9884  // and PER_TOPIC_PER_PARTITION. For a list of the metrics associated with each
  9885  // of these levels of monitoring, see Monitoring (https://docs.aws.amazon.com/msk/latest/developerguide/monitoring.html).
  9886  const (
  9887  	// EnhancedMonitoringDefault is a EnhancedMonitoring enum value
  9888  	EnhancedMonitoringDefault = "DEFAULT"
  9889  
  9890  	// EnhancedMonitoringPerBroker is a EnhancedMonitoring enum value
  9891  	EnhancedMonitoringPerBroker = "PER_BROKER"
  9892  
  9893  	// EnhancedMonitoringPerTopicPerBroker is a EnhancedMonitoring enum value
  9894  	EnhancedMonitoringPerTopicPerBroker = "PER_TOPIC_PER_BROKER"
  9895  
  9896  	// EnhancedMonitoringPerTopicPerPartition is a EnhancedMonitoring enum value
  9897  	EnhancedMonitoringPerTopicPerPartition = "PER_TOPIC_PER_PARTITION"
  9898  )
  9899  
  9900  // EnhancedMonitoring_Values returns all elements of the EnhancedMonitoring enum
  9901  func EnhancedMonitoring_Values() []string {
  9902  	return []string{
  9903  		EnhancedMonitoringDefault,
  9904  		EnhancedMonitoringPerBroker,
  9905  		EnhancedMonitoringPerTopicPerBroker,
  9906  		EnhancedMonitoringPerTopicPerPartition,
  9907  	}
  9908  }
  9909  
  9910  // The status of a Kafka version.
  9911  const (
  9912  	// KafkaVersionStatusActive is a KafkaVersionStatus enum value
  9913  	KafkaVersionStatusActive = "ACTIVE"
  9914  
  9915  	// KafkaVersionStatusDeprecated is a KafkaVersionStatus enum value
  9916  	KafkaVersionStatusDeprecated = "DEPRECATED"
  9917  )
  9918  
  9919  // KafkaVersionStatus_Values returns all elements of the KafkaVersionStatus enum
  9920  func KafkaVersionStatus_Values() []string {
  9921  	return []string{
  9922  		KafkaVersionStatusActive,
  9923  		KafkaVersionStatusDeprecated,
  9924  	}
  9925  }
  9926  
  9927  // The broker or Zookeeper node.
  9928  const (
  9929  	// NodeTypeBroker is a NodeType enum value
  9930  	NodeTypeBroker = "BROKER"
  9931  )
  9932  
  9933  // NodeType_Values returns all elements of the NodeType enum
  9934  func NodeType_Values() []string {
  9935  	return []string{
  9936  		NodeTypeBroker,
  9937  	}
  9938  }