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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package kinesisanalyticsv2
     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/jsonrpc"
    14  )
    15  
    16  const opAddApplicationCloudWatchLoggingOption = "AddApplicationCloudWatchLoggingOption"
    17  
    18  // AddApplicationCloudWatchLoggingOptionRequest generates a "aws/request.Request" representing the
    19  // client's request for the AddApplicationCloudWatchLoggingOption 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 AddApplicationCloudWatchLoggingOption for more information on using the AddApplicationCloudWatchLoggingOption
    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 AddApplicationCloudWatchLoggingOptionRequest method.
    34  //    req, resp := client.AddApplicationCloudWatchLoggingOptionRequest(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/kinesisanalyticsv2-2018-05-23/AddApplicationCloudWatchLoggingOption
    42  func (c *KinesisAnalyticsV2) AddApplicationCloudWatchLoggingOptionRequest(input *AddApplicationCloudWatchLoggingOptionInput) (req *request.Request, output *AddApplicationCloudWatchLoggingOptionOutput) {
    43  	op := &request.Operation{
    44  		Name:       opAddApplicationCloudWatchLoggingOption,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &AddApplicationCloudWatchLoggingOptionInput{}
    51  	}
    52  
    53  	output = &AddApplicationCloudWatchLoggingOptionOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // AddApplicationCloudWatchLoggingOption API operation for Amazon Kinesis Analytics.
    59  //
    60  // Adds an Amazon CloudWatch log stream to monitor application configuration
    61  // errors.
    62  //
    63  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    64  // with awserr.Error's Code and Message methods to get detailed information about
    65  // the error.
    66  //
    67  // See the AWS API reference guide for Amazon Kinesis Analytics's
    68  // API operation AddApplicationCloudWatchLoggingOption for usage and error information.
    69  //
    70  // Returned Error Types:
    71  //   * ResourceNotFoundException
    72  //   Specified application can't be found.
    73  //
    74  //   * ResourceInUseException
    75  //   The application is not available for this operation.
    76  //
    77  //   * InvalidArgumentException
    78  //   The specified input parameter value is not valid.
    79  //
    80  //   * ConcurrentModificationException
    81  //   Exception thrown as a result of concurrent modifications to an application.
    82  //   This error can be the result of attempting to modify an application without
    83  //   using the current application ID.
    84  //
    85  //   * InvalidRequestException
    86  //   The request JSON is not valid for the operation.
    87  //
    88  //   * InvalidApplicationConfigurationException
    89  //   The user-provided application configuration is not valid.
    90  //
    91  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/AddApplicationCloudWatchLoggingOption
    92  func (c *KinesisAnalyticsV2) AddApplicationCloudWatchLoggingOption(input *AddApplicationCloudWatchLoggingOptionInput) (*AddApplicationCloudWatchLoggingOptionOutput, error) {
    93  	req, out := c.AddApplicationCloudWatchLoggingOptionRequest(input)
    94  	return out, req.Send()
    95  }
    96  
    97  // AddApplicationCloudWatchLoggingOptionWithContext is the same as AddApplicationCloudWatchLoggingOption with the addition of
    98  // the ability to pass a context and additional request options.
    99  //
   100  // See AddApplicationCloudWatchLoggingOption 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 *KinesisAnalyticsV2) AddApplicationCloudWatchLoggingOptionWithContext(ctx aws.Context, input *AddApplicationCloudWatchLoggingOptionInput, opts ...request.Option) (*AddApplicationCloudWatchLoggingOptionOutput, error) {
   107  	req, out := c.AddApplicationCloudWatchLoggingOptionRequest(input)
   108  	req.SetContext(ctx)
   109  	req.ApplyOptions(opts...)
   110  	return out, req.Send()
   111  }
   112  
   113  const opAddApplicationInput = "AddApplicationInput"
   114  
   115  // AddApplicationInputRequest generates a "aws/request.Request" representing the
   116  // client's request for the AddApplicationInput 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 AddApplicationInput for more information on using the AddApplicationInput
   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 AddApplicationInputRequest method.
   131  //    req, resp := client.AddApplicationInputRequest(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/kinesisanalyticsv2-2018-05-23/AddApplicationInput
   139  func (c *KinesisAnalyticsV2) AddApplicationInputRequest(input *AddApplicationInputInput) (req *request.Request, output *AddApplicationInputOutput) {
   140  	op := &request.Operation{
   141  		Name:       opAddApplicationInput,
   142  		HTTPMethod: "POST",
   143  		HTTPPath:   "/",
   144  	}
   145  
   146  	if input == nil {
   147  		input = &AddApplicationInputInput{}
   148  	}
   149  
   150  	output = &AddApplicationInputOutput{}
   151  	req = c.newRequest(op, input, output)
   152  	return
   153  }
   154  
   155  // AddApplicationInput API operation for Amazon Kinesis Analytics.
   156  //
   157  // Adds a streaming source to your SQL-based Kinesis Data Analytics application.
   158  //
   159  // You can add a streaming source when you create an application, or you can
   160  // use this operation to add a streaming source after you create an application.
   161  // For more information, see CreateApplication.
   162  //
   163  // Any configuration update, including adding a streaming source using this
   164  // operation, results in a new version of the application. You can use the DescribeApplication
   165  // operation to find the current application version.
   166  //
   167  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   168  // with awserr.Error's Code and Message methods to get detailed information about
   169  // the error.
   170  //
   171  // See the AWS API reference guide for Amazon Kinesis Analytics's
   172  // API operation AddApplicationInput for usage and error information.
   173  //
   174  // Returned Error Types:
   175  //   * ResourceNotFoundException
   176  //   Specified application can't be found.
   177  //
   178  //   * ResourceInUseException
   179  //   The application is not available for this operation.
   180  //
   181  //   * InvalidArgumentException
   182  //   The specified input parameter value is not valid.
   183  //
   184  //   * ConcurrentModificationException
   185  //   Exception thrown as a result of concurrent modifications to an application.
   186  //   This error can be the result of attempting to modify an application without
   187  //   using the current application ID.
   188  //
   189  //   * CodeValidationException
   190  //   The user-provided application code (query) is not valid. This can be a simple
   191  //   syntax error.
   192  //
   193  //   * InvalidRequestException
   194  //   The request JSON is not valid for the operation.
   195  //
   196  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/AddApplicationInput
   197  func (c *KinesisAnalyticsV2) AddApplicationInput(input *AddApplicationInputInput) (*AddApplicationInputOutput, error) {
   198  	req, out := c.AddApplicationInputRequest(input)
   199  	return out, req.Send()
   200  }
   201  
   202  // AddApplicationInputWithContext is the same as AddApplicationInput with the addition of
   203  // the ability to pass a context and additional request options.
   204  //
   205  // See AddApplicationInput for details on how to use this API operation.
   206  //
   207  // The context must be non-nil and will be used for request cancellation. If
   208  // the context is nil a panic will occur. In the future the SDK may create
   209  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   210  // for more information on using Contexts.
   211  func (c *KinesisAnalyticsV2) AddApplicationInputWithContext(ctx aws.Context, input *AddApplicationInputInput, opts ...request.Option) (*AddApplicationInputOutput, error) {
   212  	req, out := c.AddApplicationInputRequest(input)
   213  	req.SetContext(ctx)
   214  	req.ApplyOptions(opts...)
   215  	return out, req.Send()
   216  }
   217  
   218  const opAddApplicationInputProcessingConfiguration = "AddApplicationInputProcessingConfiguration"
   219  
   220  // AddApplicationInputProcessingConfigurationRequest generates a "aws/request.Request" representing the
   221  // client's request for the AddApplicationInputProcessingConfiguration operation. The "output" return
   222  // value will be populated with the request's response once the request completes
   223  // successfully.
   224  //
   225  // Use "Send" method on the returned Request to send the API call to the service.
   226  // the "output" return value is not valid until after Send returns without error.
   227  //
   228  // See AddApplicationInputProcessingConfiguration for more information on using the AddApplicationInputProcessingConfiguration
   229  // API call, and error handling.
   230  //
   231  // This method is useful when you want to inject custom logic or configuration
   232  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   233  //
   234  //
   235  //    // Example sending a request using the AddApplicationInputProcessingConfigurationRequest method.
   236  //    req, resp := client.AddApplicationInputProcessingConfigurationRequest(params)
   237  //
   238  //    err := req.Send()
   239  //    if err == nil { // resp is now filled
   240  //        fmt.Println(resp)
   241  //    }
   242  //
   243  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/AddApplicationInputProcessingConfiguration
   244  func (c *KinesisAnalyticsV2) AddApplicationInputProcessingConfigurationRequest(input *AddApplicationInputProcessingConfigurationInput) (req *request.Request, output *AddApplicationInputProcessingConfigurationOutput) {
   245  	op := &request.Operation{
   246  		Name:       opAddApplicationInputProcessingConfiguration,
   247  		HTTPMethod: "POST",
   248  		HTTPPath:   "/",
   249  	}
   250  
   251  	if input == nil {
   252  		input = &AddApplicationInputProcessingConfigurationInput{}
   253  	}
   254  
   255  	output = &AddApplicationInputProcessingConfigurationOutput{}
   256  	req = c.newRequest(op, input, output)
   257  	return
   258  }
   259  
   260  // AddApplicationInputProcessingConfiguration API operation for Amazon Kinesis Analytics.
   261  //
   262  // Adds an InputProcessingConfiguration to a SQL-based Kinesis Data Analytics
   263  // application. An input processor pre-processes records on the input stream
   264  // before the application's SQL code executes. Currently, the only input processor
   265  // available is AWS Lambda (https://docs.aws.amazon.com/lambda/).
   266  //
   267  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   268  // with awserr.Error's Code and Message methods to get detailed information about
   269  // the error.
   270  //
   271  // See the AWS API reference guide for Amazon Kinesis Analytics's
   272  // API operation AddApplicationInputProcessingConfiguration for usage and error information.
   273  //
   274  // Returned Error Types:
   275  //   * ResourceNotFoundException
   276  //   Specified application can't be found.
   277  //
   278  //   * ResourceInUseException
   279  //   The application is not available for this operation.
   280  //
   281  //   * InvalidArgumentException
   282  //   The specified input parameter value is not valid.
   283  //
   284  //   * ConcurrentModificationException
   285  //   Exception thrown as a result of concurrent modifications to an application.
   286  //   This error can be the result of attempting to modify an application without
   287  //   using the current application ID.
   288  //
   289  //   * InvalidRequestException
   290  //   The request JSON is not valid for the operation.
   291  //
   292  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/AddApplicationInputProcessingConfiguration
   293  func (c *KinesisAnalyticsV2) AddApplicationInputProcessingConfiguration(input *AddApplicationInputProcessingConfigurationInput) (*AddApplicationInputProcessingConfigurationOutput, error) {
   294  	req, out := c.AddApplicationInputProcessingConfigurationRequest(input)
   295  	return out, req.Send()
   296  }
   297  
   298  // AddApplicationInputProcessingConfigurationWithContext is the same as AddApplicationInputProcessingConfiguration with the addition of
   299  // the ability to pass a context and additional request options.
   300  //
   301  // See AddApplicationInputProcessingConfiguration for details on how to use this API operation.
   302  //
   303  // The context must be non-nil and will be used for request cancellation. If
   304  // the context is nil a panic will occur. In the future the SDK may create
   305  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   306  // for more information on using Contexts.
   307  func (c *KinesisAnalyticsV2) AddApplicationInputProcessingConfigurationWithContext(ctx aws.Context, input *AddApplicationInputProcessingConfigurationInput, opts ...request.Option) (*AddApplicationInputProcessingConfigurationOutput, error) {
   308  	req, out := c.AddApplicationInputProcessingConfigurationRequest(input)
   309  	req.SetContext(ctx)
   310  	req.ApplyOptions(opts...)
   311  	return out, req.Send()
   312  }
   313  
   314  const opAddApplicationOutput = "AddApplicationOutput"
   315  
   316  // AddApplicationOutputRequest generates a "aws/request.Request" representing the
   317  // client's request for the AddApplicationOutput operation. The "output" return
   318  // value will be populated with the request's response once the request completes
   319  // successfully.
   320  //
   321  // Use "Send" method on the returned Request to send the API call to the service.
   322  // the "output" return value is not valid until after Send returns without error.
   323  //
   324  // See AddApplicationOutput for more information on using the AddApplicationOutput
   325  // API call, and error handling.
   326  //
   327  // This method is useful when you want to inject custom logic or configuration
   328  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   329  //
   330  //
   331  //    // Example sending a request using the AddApplicationOutputRequest method.
   332  //    req, resp := client.AddApplicationOutputRequest(params)
   333  //
   334  //    err := req.Send()
   335  //    if err == nil { // resp is now filled
   336  //        fmt.Println(resp)
   337  //    }
   338  //
   339  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/AddApplicationOutput
   340  func (c *KinesisAnalyticsV2) AddApplicationOutputRequest(input *AddApplicationOutputInput) (req *request.Request, output *AddApplicationOutputOutput) {
   341  	op := &request.Operation{
   342  		Name:       opAddApplicationOutput,
   343  		HTTPMethod: "POST",
   344  		HTTPPath:   "/",
   345  	}
   346  
   347  	if input == nil {
   348  		input = &AddApplicationOutputInput{}
   349  	}
   350  
   351  	output = &AddApplicationOutputOutput{}
   352  	req = c.newRequest(op, input, output)
   353  	return
   354  }
   355  
   356  // AddApplicationOutput API operation for Amazon Kinesis Analytics.
   357  //
   358  // Adds an external destination to your SQL-based Kinesis Data Analytics application.
   359  //
   360  // If you want Kinesis Data Analytics to deliver data from an in-application
   361  // stream within your application to an external destination (such as an Kinesis
   362  // data stream, a Kinesis Data Firehose delivery stream, or an AWS Lambda function),
   363  // you add the relevant configuration to your application using this operation.
   364  // You can configure one or more outputs for your application. Each output configuration
   365  // maps an in-application stream and an external destination.
   366  //
   367  // You can use one of the output configurations to deliver data from your in-application
   368  // error stream to an external destination so that you can analyze the errors.
   369  //
   370  // Any configuration update, including adding a streaming source using this
   371  // operation, results in a new version of the application. You can use the DescribeApplication
   372  // operation to find the current application version.
   373  //
   374  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   375  // with awserr.Error's Code and Message methods to get detailed information about
   376  // the error.
   377  //
   378  // See the AWS API reference guide for Amazon Kinesis Analytics's
   379  // API operation AddApplicationOutput for usage and error information.
   380  //
   381  // Returned Error Types:
   382  //   * ResourceNotFoundException
   383  //   Specified application can't be found.
   384  //
   385  //   * ResourceInUseException
   386  //   The application is not available for this operation.
   387  //
   388  //   * InvalidArgumentException
   389  //   The specified input parameter value is not valid.
   390  //
   391  //   * ConcurrentModificationException
   392  //   Exception thrown as a result of concurrent modifications to an application.
   393  //   This error can be the result of attempting to modify an application without
   394  //   using the current application ID.
   395  //
   396  //   * InvalidRequestException
   397  //   The request JSON is not valid for the operation.
   398  //
   399  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/AddApplicationOutput
   400  func (c *KinesisAnalyticsV2) AddApplicationOutput(input *AddApplicationOutputInput) (*AddApplicationOutputOutput, error) {
   401  	req, out := c.AddApplicationOutputRequest(input)
   402  	return out, req.Send()
   403  }
   404  
   405  // AddApplicationOutputWithContext is the same as AddApplicationOutput with the addition of
   406  // the ability to pass a context and additional request options.
   407  //
   408  // See AddApplicationOutput for details on how to use this API operation.
   409  //
   410  // The context must be non-nil and will be used for request cancellation. If
   411  // the context is nil a panic will occur. In the future the SDK may create
   412  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   413  // for more information on using Contexts.
   414  func (c *KinesisAnalyticsV2) AddApplicationOutputWithContext(ctx aws.Context, input *AddApplicationOutputInput, opts ...request.Option) (*AddApplicationOutputOutput, error) {
   415  	req, out := c.AddApplicationOutputRequest(input)
   416  	req.SetContext(ctx)
   417  	req.ApplyOptions(opts...)
   418  	return out, req.Send()
   419  }
   420  
   421  const opAddApplicationReferenceDataSource = "AddApplicationReferenceDataSource"
   422  
   423  // AddApplicationReferenceDataSourceRequest generates a "aws/request.Request" representing the
   424  // client's request for the AddApplicationReferenceDataSource operation. The "output" return
   425  // value will be populated with the request's response once the request completes
   426  // successfully.
   427  //
   428  // Use "Send" method on the returned Request to send the API call to the service.
   429  // the "output" return value is not valid until after Send returns without error.
   430  //
   431  // See AddApplicationReferenceDataSource for more information on using the AddApplicationReferenceDataSource
   432  // API call, and error handling.
   433  //
   434  // This method is useful when you want to inject custom logic or configuration
   435  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   436  //
   437  //
   438  //    // Example sending a request using the AddApplicationReferenceDataSourceRequest method.
   439  //    req, resp := client.AddApplicationReferenceDataSourceRequest(params)
   440  //
   441  //    err := req.Send()
   442  //    if err == nil { // resp is now filled
   443  //        fmt.Println(resp)
   444  //    }
   445  //
   446  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/AddApplicationReferenceDataSource
   447  func (c *KinesisAnalyticsV2) AddApplicationReferenceDataSourceRequest(input *AddApplicationReferenceDataSourceInput) (req *request.Request, output *AddApplicationReferenceDataSourceOutput) {
   448  	op := &request.Operation{
   449  		Name:       opAddApplicationReferenceDataSource,
   450  		HTTPMethod: "POST",
   451  		HTTPPath:   "/",
   452  	}
   453  
   454  	if input == nil {
   455  		input = &AddApplicationReferenceDataSourceInput{}
   456  	}
   457  
   458  	output = &AddApplicationReferenceDataSourceOutput{}
   459  	req = c.newRequest(op, input, output)
   460  	return
   461  }
   462  
   463  // AddApplicationReferenceDataSource API operation for Amazon Kinesis Analytics.
   464  //
   465  // Adds a reference data source to an existing SQL-based Kinesis Data Analytics
   466  // application.
   467  //
   468  // Kinesis Data Analytics reads reference data (that is, an Amazon S3 object)
   469  // and creates an in-application table within your application. In the request,
   470  // you provide the source (S3 bucket name and object key name), name of the
   471  // in-application table to create, and the necessary mapping information that
   472  // describes how data in an Amazon S3 object maps to columns in the resulting
   473  // in-application table.
   474  //
   475  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   476  // with awserr.Error's Code and Message methods to get detailed information about
   477  // the error.
   478  //
   479  // See the AWS API reference guide for Amazon Kinesis Analytics's
   480  // API operation AddApplicationReferenceDataSource for usage and error information.
   481  //
   482  // Returned Error Types:
   483  //   * ResourceNotFoundException
   484  //   Specified application can't be found.
   485  //
   486  //   * ResourceInUseException
   487  //   The application is not available for this operation.
   488  //
   489  //   * InvalidArgumentException
   490  //   The specified input parameter value is not valid.
   491  //
   492  //   * ConcurrentModificationException
   493  //   Exception thrown as a result of concurrent modifications to an application.
   494  //   This error can be the result of attempting to modify an application without
   495  //   using the current application ID.
   496  //
   497  //   * InvalidRequestException
   498  //   The request JSON is not valid for the operation.
   499  //
   500  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/AddApplicationReferenceDataSource
   501  func (c *KinesisAnalyticsV2) AddApplicationReferenceDataSource(input *AddApplicationReferenceDataSourceInput) (*AddApplicationReferenceDataSourceOutput, error) {
   502  	req, out := c.AddApplicationReferenceDataSourceRequest(input)
   503  	return out, req.Send()
   504  }
   505  
   506  // AddApplicationReferenceDataSourceWithContext is the same as AddApplicationReferenceDataSource with the addition of
   507  // the ability to pass a context and additional request options.
   508  //
   509  // See AddApplicationReferenceDataSource for details on how to use this API operation.
   510  //
   511  // The context must be non-nil and will be used for request cancellation. If
   512  // the context is nil a panic will occur. In the future the SDK may create
   513  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   514  // for more information on using Contexts.
   515  func (c *KinesisAnalyticsV2) AddApplicationReferenceDataSourceWithContext(ctx aws.Context, input *AddApplicationReferenceDataSourceInput, opts ...request.Option) (*AddApplicationReferenceDataSourceOutput, error) {
   516  	req, out := c.AddApplicationReferenceDataSourceRequest(input)
   517  	req.SetContext(ctx)
   518  	req.ApplyOptions(opts...)
   519  	return out, req.Send()
   520  }
   521  
   522  const opAddApplicationVpcConfiguration = "AddApplicationVpcConfiguration"
   523  
   524  // AddApplicationVpcConfigurationRequest generates a "aws/request.Request" representing the
   525  // client's request for the AddApplicationVpcConfiguration operation. The "output" return
   526  // value will be populated with the request's response once the request completes
   527  // successfully.
   528  //
   529  // Use "Send" method on the returned Request to send the API call to the service.
   530  // the "output" return value is not valid until after Send returns without error.
   531  //
   532  // See AddApplicationVpcConfiguration for more information on using the AddApplicationVpcConfiguration
   533  // API call, and error handling.
   534  //
   535  // This method is useful when you want to inject custom logic or configuration
   536  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   537  //
   538  //
   539  //    // Example sending a request using the AddApplicationVpcConfigurationRequest method.
   540  //    req, resp := client.AddApplicationVpcConfigurationRequest(params)
   541  //
   542  //    err := req.Send()
   543  //    if err == nil { // resp is now filled
   544  //        fmt.Println(resp)
   545  //    }
   546  //
   547  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/AddApplicationVpcConfiguration
   548  func (c *KinesisAnalyticsV2) AddApplicationVpcConfigurationRequest(input *AddApplicationVpcConfigurationInput) (req *request.Request, output *AddApplicationVpcConfigurationOutput) {
   549  	op := &request.Operation{
   550  		Name:       opAddApplicationVpcConfiguration,
   551  		HTTPMethod: "POST",
   552  		HTTPPath:   "/",
   553  	}
   554  
   555  	if input == nil {
   556  		input = &AddApplicationVpcConfigurationInput{}
   557  	}
   558  
   559  	output = &AddApplicationVpcConfigurationOutput{}
   560  	req = c.newRequest(op, input, output)
   561  	return
   562  }
   563  
   564  // AddApplicationVpcConfiguration API operation for Amazon Kinesis Analytics.
   565  //
   566  // Adds a Virtual Private Cloud (VPC) configuration to the application. Applications
   567  // can use VPCs to store and access resources securely.
   568  //
   569  // Note the following about VPC configurations for Kinesis Data Analytics applications:
   570  //
   571  //    * VPC configurations are not supported for SQL applications.
   572  //
   573  //    * When a VPC is added to a Kinesis Data Analytics application, the application
   574  //    can no longer be accessed from the Internet directly. To enable Internet
   575  //    access to the application, add an Internet gateway to your VPC.
   576  //
   577  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   578  // with awserr.Error's Code and Message methods to get detailed information about
   579  // the error.
   580  //
   581  // See the AWS API reference guide for Amazon Kinesis Analytics's
   582  // API operation AddApplicationVpcConfiguration for usage and error information.
   583  //
   584  // Returned Error Types:
   585  //   * ResourceNotFoundException
   586  //   Specified application can't be found.
   587  //
   588  //   * ResourceInUseException
   589  //   The application is not available for this operation.
   590  //
   591  //   * InvalidArgumentException
   592  //   The specified input parameter value is not valid.
   593  //
   594  //   * ConcurrentModificationException
   595  //   Exception thrown as a result of concurrent modifications to an application.
   596  //   This error can be the result of attempting to modify an application without
   597  //   using the current application ID.
   598  //
   599  //   * InvalidApplicationConfigurationException
   600  //   The user-provided application configuration is not valid.
   601  //
   602  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/AddApplicationVpcConfiguration
   603  func (c *KinesisAnalyticsV2) AddApplicationVpcConfiguration(input *AddApplicationVpcConfigurationInput) (*AddApplicationVpcConfigurationOutput, error) {
   604  	req, out := c.AddApplicationVpcConfigurationRequest(input)
   605  	return out, req.Send()
   606  }
   607  
   608  // AddApplicationVpcConfigurationWithContext is the same as AddApplicationVpcConfiguration with the addition of
   609  // the ability to pass a context and additional request options.
   610  //
   611  // See AddApplicationVpcConfiguration for details on how to use this API operation.
   612  //
   613  // The context must be non-nil and will be used for request cancellation. If
   614  // the context is nil a panic will occur. In the future the SDK may create
   615  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   616  // for more information on using Contexts.
   617  func (c *KinesisAnalyticsV2) AddApplicationVpcConfigurationWithContext(ctx aws.Context, input *AddApplicationVpcConfigurationInput, opts ...request.Option) (*AddApplicationVpcConfigurationOutput, error) {
   618  	req, out := c.AddApplicationVpcConfigurationRequest(input)
   619  	req.SetContext(ctx)
   620  	req.ApplyOptions(opts...)
   621  	return out, req.Send()
   622  }
   623  
   624  const opCreateApplication = "CreateApplication"
   625  
   626  // CreateApplicationRequest generates a "aws/request.Request" representing the
   627  // client's request for the CreateApplication operation. The "output" return
   628  // value will be populated with the request's response once the request completes
   629  // successfully.
   630  //
   631  // Use "Send" method on the returned Request to send the API call to the service.
   632  // the "output" return value is not valid until after Send returns without error.
   633  //
   634  // See CreateApplication for more information on using the CreateApplication
   635  // API call, and error handling.
   636  //
   637  // This method is useful when you want to inject custom logic or configuration
   638  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   639  //
   640  //
   641  //    // Example sending a request using the CreateApplicationRequest method.
   642  //    req, resp := client.CreateApplicationRequest(params)
   643  //
   644  //    err := req.Send()
   645  //    if err == nil { // resp is now filled
   646  //        fmt.Println(resp)
   647  //    }
   648  //
   649  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/CreateApplication
   650  func (c *KinesisAnalyticsV2) CreateApplicationRequest(input *CreateApplicationInput) (req *request.Request, output *CreateApplicationOutput) {
   651  	op := &request.Operation{
   652  		Name:       opCreateApplication,
   653  		HTTPMethod: "POST",
   654  		HTTPPath:   "/",
   655  	}
   656  
   657  	if input == nil {
   658  		input = &CreateApplicationInput{}
   659  	}
   660  
   661  	output = &CreateApplicationOutput{}
   662  	req = c.newRequest(op, input, output)
   663  	return
   664  }
   665  
   666  // CreateApplication API operation for Amazon Kinesis Analytics.
   667  //
   668  // Creates a Kinesis Data Analytics application. For information about creating
   669  // a Kinesis Data Analytics application, see Creating an Application (https://docs.aws.amazon.com/kinesisanalytics/latest/java/getting-started.html).
   670  //
   671  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   672  // with awserr.Error's Code and Message methods to get detailed information about
   673  // the error.
   674  //
   675  // See the AWS API reference guide for Amazon Kinesis Analytics's
   676  // API operation CreateApplication for usage and error information.
   677  //
   678  // Returned Error Types:
   679  //   * CodeValidationException
   680  //   The user-provided application code (query) is not valid. This can be a simple
   681  //   syntax error.
   682  //
   683  //   * ResourceInUseException
   684  //   The application is not available for this operation.
   685  //
   686  //   * LimitExceededException
   687  //   The number of allowed resources has been exceeded.
   688  //
   689  //   * InvalidArgumentException
   690  //   The specified input parameter value is not valid.
   691  //
   692  //   * InvalidRequestException
   693  //   The request JSON is not valid for the operation.
   694  //
   695  //   * TooManyTagsException
   696  //   Application created with too many tags, or too many tags added to an application.
   697  //   Note that the maximum number of application tags includes system tags. The
   698  //   maximum number of user-defined application tags is 50.
   699  //
   700  //   * ConcurrentModificationException
   701  //   Exception thrown as a result of concurrent modifications to an application.
   702  //   This error can be the result of attempting to modify an application without
   703  //   using the current application ID.
   704  //
   705  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/CreateApplication
   706  func (c *KinesisAnalyticsV2) CreateApplication(input *CreateApplicationInput) (*CreateApplicationOutput, error) {
   707  	req, out := c.CreateApplicationRequest(input)
   708  	return out, req.Send()
   709  }
   710  
   711  // CreateApplicationWithContext is the same as CreateApplication with the addition of
   712  // the ability to pass a context and additional request options.
   713  //
   714  // See CreateApplication for details on how to use this API operation.
   715  //
   716  // The context must be non-nil and will be used for request cancellation. If
   717  // the context is nil a panic will occur. In the future the SDK may create
   718  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   719  // for more information on using Contexts.
   720  func (c *KinesisAnalyticsV2) CreateApplicationWithContext(ctx aws.Context, input *CreateApplicationInput, opts ...request.Option) (*CreateApplicationOutput, error) {
   721  	req, out := c.CreateApplicationRequest(input)
   722  	req.SetContext(ctx)
   723  	req.ApplyOptions(opts...)
   724  	return out, req.Send()
   725  }
   726  
   727  const opCreateApplicationPresignedUrl = "CreateApplicationPresignedUrl"
   728  
   729  // CreateApplicationPresignedUrlRequest generates a "aws/request.Request" representing the
   730  // client's request for the CreateApplicationPresignedUrl operation. The "output" return
   731  // value will be populated with the request's response once the request completes
   732  // successfully.
   733  //
   734  // Use "Send" method on the returned Request to send the API call to the service.
   735  // the "output" return value is not valid until after Send returns without error.
   736  //
   737  // See CreateApplicationPresignedUrl for more information on using the CreateApplicationPresignedUrl
   738  // API call, and error handling.
   739  //
   740  // This method is useful when you want to inject custom logic or configuration
   741  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   742  //
   743  //
   744  //    // Example sending a request using the CreateApplicationPresignedUrlRequest method.
   745  //    req, resp := client.CreateApplicationPresignedUrlRequest(params)
   746  //
   747  //    err := req.Send()
   748  //    if err == nil { // resp is now filled
   749  //        fmt.Println(resp)
   750  //    }
   751  //
   752  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/CreateApplicationPresignedUrl
   753  func (c *KinesisAnalyticsV2) CreateApplicationPresignedUrlRequest(input *CreateApplicationPresignedUrlInput) (req *request.Request, output *CreateApplicationPresignedUrlOutput) {
   754  	op := &request.Operation{
   755  		Name:       opCreateApplicationPresignedUrl,
   756  		HTTPMethod: "POST",
   757  		HTTPPath:   "/",
   758  	}
   759  
   760  	if input == nil {
   761  		input = &CreateApplicationPresignedUrlInput{}
   762  	}
   763  
   764  	output = &CreateApplicationPresignedUrlOutput{}
   765  	req = c.newRequest(op, input, output)
   766  	return
   767  }
   768  
   769  // CreateApplicationPresignedUrl API operation for Amazon Kinesis Analytics.
   770  //
   771  // Creates and returns a URL that you can use to connect to an application's
   772  // extension. Currently, the only available extension is the Apache Flink dashboard.
   773  //
   774  // The IAM role or user used to call this API defines the permissions to access
   775  // the extension. After the presigned URL is created, no additional permission
   776  // is required to access this URL. IAM authorization policies for this API are
   777  // also enforced for every HTTP request that attempts to connect to the extension.
   778  //
   779  // You control the amount of time that the URL will be valid using the SessionExpirationDurationInSeconds
   780  // parameter. If you do not provide this parameter, the returned URL is valid
   781  // for twelve hours.
   782  //
   783  // The URL that you get from a call to CreateApplicationPresignedUrl must be
   784  // used within 3 minutes to be valid. If you first try to use the URL after
   785  // the 3-minute limit expires, the service returns an HTTP 403 Forbidden error.
   786  //
   787  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   788  // with awserr.Error's Code and Message methods to get detailed information about
   789  // the error.
   790  //
   791  // See the AWS API reference guide for Amazon Kinesis Analytics's
   792  // API operation CreateApplicationPresignedUrl for usage and error information.
   793  //
   794  // Returned Error Types:
   795  //   * ResourceNotFoundException
   796  //   Specified application can't be found.
   797  //
   798  //   * ResourceInUseException
   799  //   The application is not available for this operation.
   800  //
   801  //   * InvalidArgumentException
   802  //   The specified input parameter value is not valid.
   803  //
   804  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/CreateApplicationPresignedUrl
   805  func (c *KinesisAnalyticsV2) CreateApplicationPresignedUrl(input *CreateApplicationPresignedUrlInput) (*CreateApplicationPresignedUrlOutput, error) {
   806  	req, out := c.CreateApplicationPresignedUrlRequest(input)
   807  	return out, req.Send()
   808  }
   809  
   810  // CreateApplicationPresignedUrlWithContext is the same as CreateApplicationPresignedUrl with the addition of
   811  // the ability to pass a context and additional request options.
   812  //
   813  // See CreateApplicationPresignedUrl for details on how to use this API operation.
   814  //
   815  // The context must be non-nil and will be used for request cancellation. If
   816  // the context is nil a panic will occur. In the future the SDK may create
   817  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   818  // for more information on using Contexts.
   819  func (c *KinesisAnalyticsV2) CreateApplicationPresignedUrlWithContext(ctx aws.Context, input *CreateApplicationPresignedUrlInput, opts ...request.Option) (*CreateApplicationPresignedUrlOutput, error) {
   820  	req, out := c.CreateApplicationPresignedUrlRequest(input)
   821  	req.SetContext(ctx)
   822  	req.ApplyOptions(opts...)
   823  	return out, req.Send()
   824  }
   825  
   826  const opCreateApplicationSnapshot = "CreateApplicationSnapshot"
   827  
   828  // CreateApplicationSnapshotRequest generates a "aws/request.Request" representing the
   829  // client's request for the CreateApplicationSnapshot operation. The "output" return
   830  // value will be populated with the request's response once the request completes
   831  // successfully.
   832  //
   833  // Use "Send" method on the returned Request to send the API call to the service.
   834  // the "output" return value is not valid until after Send returns without error.
   835  //
   836  // See CreateApplicationSnapshot for more information on using the CreateApplicationSnapshot
   837  // API call, and error handling.
   838  //
   839  // This method is useful when you want to inject custom logic or configuration
   840  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   841  //
   842  //
   843  //    // Example sending a request using the CreateApplicationSnapshotRequest method.
   844  //    req, resp := client.CreateApplicationSnapshotRequest(params)
   845  //
   846  //    err := req.Send()
   847  //    if err == nil { // resp is now filled
   848  //        fmt.Println(resp)
   849  //    }
   850  //
   851  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/CreateApplicationSnapshot
   852  func (c *KinesisAnalyticsV2) CreateApplicationSnapshotRequest(input *CreateApplicationSnapshotInput) (req *request.Request, output *CreateApplicationSnapshotOutput) {
   853  	op := &request.Operation{
   854  		Name:       opCreateApplicationSnapshot,
   855  		HTTPMethod: "POST",
   856  		HTTPPath:   "/",
   857  	}
   858  
   859  	if input == nil {
   860  		input = &CreateApplicationSnapshotInput{}
   861  	}
   862  
   863  	output = &CreateApplicationSnapshotOutput{}
   864  	req = c.newRequest(op, input, output)
   865  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   866  	return
   867  }
   868  
   869  // CreateApplicationSnapshot API operation for Amazon Kinesis Analytics.
   870  //
   871  // Creates a snapshot of the application's state data.
   872  //
   873  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   874  // with awserr.Error's Code and Message methods to get detailed information about
   875  // the error.
   876  //
   877  // See the AWS API reference guide for Amazon Kinesis Analytics's
   878  // API operation CreateApplicationSnapshot for usage and error information.
   879  //
   880  // Returned Error Types:
   881  //   * ResourceInUseException
   882  //   The application is not available for this operation.
   883  //
   884  //   * ResourceNotFoundException
   885  //   Specified application can't be found.
   886  //
   887  //   * LimitExceededException
   888  //   The number of allowed resources has been exceeded.
   889  //
   890  //   * InvalidArgumentException
   891  //   The specified input parameter value is not valid.
   892  //
   893  //   * UnsupportedOperationException
   894  //   The request was rejected because a specified parameter is not supported or
   895  //   a specified resource is not valid for this operation.
   896  //
   897  //   * InvalidRequestException
   898  //   The request JSON is not valid for the operation.
   899  //
   900  //   * InvalidApplicationConfigurationException
   901  //   The user-provided application configuration is not valid.
   902  //
   903  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/CreateApplicationSnapshot
   904  func (c *KinesisAnalyticsV2) CreateApplicationSnapshot(input *CreateApplicationSnapshotInput) (*CreateApplicationSnapshotOutput, error) {
   905  	req, out := c.CreateApplicationSnapshotRequest(input)
   906  	return out, req.Send()
   907  }
   908  
   909  // CreateApplicationSnapshotWithContext is the same as CreateApplicationSnapshot with the addition of
   910  // the ability to pass a context and additional request options.
   911  //
   912  // See CreateApplicationSnapshot for details on how to use this API operation.
   913  //
   914  // The context must be non-nil and will be used for request cancellation. If
   915  // the context is nil a panic will occur. In the future the SDK may create
   916  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   917  // for more information on using Contexts.
   918  func (c *KinesisAnalyticsV2) CreateApplicationSnapshotWithContext(ctx aws.Context, input *CreateApplicationSnapshotInput, opts ...request.Option) (*CreateApplicationSnapshotOutput, error) {
   919  	req, out := c.CreateApplicationSnapshotRequest(input)
   920  	req.SetContext(ctx)
   921  	req.ApplyOptions(opts...)
   922  	return out, req.Send()
   923  }
   924  
   925  const opDeleteApplication = "DeleteApplication"
   926  
   927  // DeleteApplicationRequest generates a "aws/request.Request" representing the
   928  // client's request for the DeleteApplication operation. The "output" return
   929  // value will be populated with the request's response once the request completes
   930  // successfully.
   931  //
   932  // Use "Send" method on the returned Request to send the API call to the service.
   933  // the "output" return value is not valid until after Send returns without error.
   934  //
   935  // See DeleteApplication for more information on using the DeleteApplication
   936  // API call, and error handling.
   937  //
   938  // This method is useful when you want to inject custom logic or configuration
   939  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   940  //
   941  //
   942  //    // Example sending a request using the DeleteApplicationRequest method.
   943  //    req, resp := client.DeleteApplicationRequest(params)
   944  //
   945  //    err := req.Send()
   946  //    if err == nil { // resp is now filled
   947  //        fmt.Println(resp)
   948  //    }
   949  //
   950  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplication
   951  func (c *KinesisAnalyticsV2) DeleteApplicationRequest(input *DeleteApplicationInput) (req *request.Request, output *DeleteApplicationOutput) {
   952  	op := &request.Operation{
   953  		Name:       opDeleteApplication,
   954  		HTTPMethod: "POST",
   955  		HTTPPath:   "/",
   956  	}
   957  
   958  	if input == nil {
   959  		input = &DeleteApplicationInput{}
   960  	}
   961  
   962  	output = &DeleteApplicationOutput{}
   963  	req = c.newRequest(op, input, output)
   964  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   965  	return
   966  }
   967  
   968  // DeleteApplication API operation for Amazon Kinesis Analytics.
   969  //
   970  // Deletes the specified application. Kinesis Data Analytics halts application
   971  // execution and deletes the application.
   972  //
   973  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   974  // with awserr.Error's Code and Message methods to get detailed information about
   975  // the error.
   976  //
   977  // See the AWS API reference guide for Amazon Kinesis Analytics's
   978  // API operation DeleteApplication for usage and error information.
   979  //
   980  // Returned Error Types:
   981  //   * ConcurrentModificationException
   982  //   Exception thrown as a result of concurrent modifications to an application.
   983  //   This error can be the result of attempting to modify an application without
   984  //   using the current application ID.
   985  //
   986  //   * ResourceNotFoundException
   987  //   Specified application can't be found.
   988  //
   989  //   * ResourceInUseException
   990  //   The application is not available for this operation.
   991  //
   992  //   * InvalidArgumentException
   993  //   The specified input parameter value is not valid.
   994  //
   995  //   * InvalidRequestException
   996  //   The request JSON is not valid for the operation.
   997  //
   998  //   * InvalidApplicationConfigurationException
   999  //   The user-provided application configuration is not valid.
  1000  //
  1001  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplication
  1002  func (c *KinesisAnalyticsV2) DeleteApplication(input *DeleteApplicationInput) (*DeleteApplicationOutput, error) {
  1003  	req, out := c.DeleteApplicationRequest(input)
  1004  	return out, req.Send()
  1005  }
  1006  
  1007  // DeleteApplicationWithContext is the same as DeleteApplication with the addition of
  1008  // the ability to pass a context and additional request options.
  1009  //
  1010  // See DeleteApplication for details on how to use this API operation.
  1011  //
  1012  // The context must be non-nil and will be used for request cancellation. If
  1013  // the context is nil a panic will occur. In the future the SDK may create
  1014  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1015  // for more information on using Contexts.
  1016  func (c *KinesisAnalyticsV2) DeleteApplicationWithContext(ctx aws.Context, input *DeleteApplicationInput, opts ...request.Option) (*DeleteApplicationOutput, error) {
  1017  	req, out := c.DeleteApplicationRequest(input)
  1018  	req.SetContext(ctx)
  1019  	req.ApplyOptions(opts...)
  1020  	return out, req.Send()
  1021  }
  1022  
  1023  const opDeleteApplicationCloudWatchLoggingOption = "DeleteApplicationCloudWatchLoggingOption"
  1024  
  1025  // DeleteApplicationCloudWatchLoggingOptionRequest generates a "aws/request.Request" representing the
  1026  // client's request for the DeleteApplicationCloudWatchLoggingOption operation. The "output" return
  1027  // value will be populated with the request's response once the request completes
  1028  // successfully.
  1029  //
  1030  // Use "Send" method on the returned Request to send the API call to the service.
  1031  // the "output" return value is not valid until after Send returns without error.
  1032  //
  1033  // See DeleteApplicationCloudWatchLoggingOption for more information on using the DeleteApplicationCloudWatchLoggingOption
  1034  // API call, and error handling.
  1035  //
  1036  // This method is useful when you want to inject custom logic or configuration
  1037  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1038  //
  1039  //
  1040  //    // Example sending a request using the DeleteApplicationCloudWatchLoggingOptionRequest method.
  1041  //    req, resp := client.DeleteApplicationCloudWatchLoggingOptionRequest(params)
  1042  //
  1043  //    err := req.Send()
  1044  //    if err == nil { // resp is now filled
  1045  //        fmt.Println(resp)
  1046  //    }
  1047  //
  1048  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationCloudWatchLoggingOption
  1049  func (c *KinesisAnalyticsV2) DeleteApplicationCloudWatchLoggingOptionRequest(input *DeleteApplicationCloudWatchLoggingOptionInput) (req *request.Request, output *DeleteApplicationCloudWatchLoggingOptionOutput) {
  1050  	op := &request.Operation{
  1051  		Name:       opDeleteApplicationCloudWatchLoggingOption,
  1052  		HTTPMethod: "POST",
  1053  		HTTPPath:   "/",
  1054  	}
  1055  
  1056  	if input == nil {
  1057  		input = &DeleteApplicationCloudWatchLoggingOptionInput{}
  1058  	}
  1059  
  1060  	output = &DeleteApplicationCloudWatchLoggingOptionOutput{}
  1061  	req = c.newRequest(op, input, output)
  1062  	return
  1063  }
  1064  
  1065  // DeleteApplicationCloudWatchLoggingOption API operation for Amazon Kinesis Analytics.
  1066  //
  1067  // Deletes an Amazon CloudWatch log stream from an Kinesis Data Analytics application.
  1068  //
  1069  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1070  // with awserr.Error's Code and Message methods to get detailed information about
  1071  // the error.
  1072  //
  1073  // See the AWS API reference guide for Amazon Kinesis Analytics's
  1074  // API operation DeleteApplicationCloudWatchLoggingOption for usage and error information.
  1075  //
  1076  // Returned Error Types:
  1077  //   * ResourceNotFoundException
  1078  //   Specified application can't be found.
  1079  //
  1080  //   * ResourceInUseException
  1081  //   The application is not available for this operation.
  1082  //
  1083  //   * InvalidArgumentException
  1084  //   The specified input parameter value is not valid.
  1085  //
  1086  //   * ConcurrentModificationException
  1087  //   Exception thrown as a result of concurrent modifications to an application.
  1088  //   This error can be the result of attempting to modify an application without
  1089  //   using the current application ID.
  1090  //
  1091  //   * InvalidRequestException
  1092  //   The request JSON is not valid for the operation.
  1093  //
  1094  //   * InvalidApplicationConfigurationException
  1095  //   The user-provided application configuration is not valid.
  1096  //
  1097  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationCloudWatchLoggingOption
  1098  func (c *KinesisAnalyticsV2) DeleteApplicationCloudWatchLoggingOption(input *DeleteApplicationCloudWatchLoggingOptionInput) (*DeleteApplicationCloudWatchLoggingOptionOutput, error) {
  1099  	req, out := c.DeleteApplicationCloudWatchLoggingOptionRequest(input)
  1100  	return out, req.Send()
  1101  }
  1102  
  1103  // DeleteApplicationCloudWatchLoggingOptionWithContext is the same as DeleteApplicationCloudWatchLoggingOption with the addition of
  1104  // the ability to pass a context and additional request options.
  1105  //
  1106  // See DeleteApplicationCloudWatchLoggingOption for details on how to use this API operation.
  1107  //
  1108  // The context must be non-nil and will be used for request cancellation. If
  1109  // the context is nil a panic will occur. In the future the SDK may create
  1110  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1111  // for more information on using Contexts.
  1112  func (c *KinesisAnalyticsV2) DeleteApplicationCloudWatchLoggingOptionWithContext(ctx aws.Context, input *DeleteApplicationCloudWatchLoggingOptionInput, opts ...request.Option) (*DeleteApplicationCloudWatchLoggingOptionOutput, error) {
  1113  	req, out := c.DeleteApplicationCloudWatchLoggingOptionRequest(input)
  1114  	req.SetContext(ctx)
  1115  	req.ApplyOptions(opts...)
  1116  	return out, req.Send()
  1117  }
  1118  
  1119  const opDeleteApplicationInputProcessingConfiguration = "DeleteApplicationInputProcessingConfiguration"
  1120  
  1121  // DeleteApplicationInputProcessingConfigurationRequest generates a "aws/request.Request" representing the
  1122  // client's request for the DeleteApplicationInputProcessingConfiguration operation. The "output" return
  1123  // value will be populated with the request's response once the request completes
  1124  // successfully.
  1125  //
  1126  // Use "Send" method on the returned Request to send the API call to the service.
  1127  // the "output" return value is not valid until after Send returns without error.
  1128  //
  1129  // See DeleteApplicationInputProcessingConfiguration for more information on using the DeleteApplicationInputProcessingConfiguration
  1130  // API call, and error handling.
  1131  //
  1132  // This method is useful when you want to inject custom logic or configuration
  1133  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1134  //
  1135  //
  1136  //    // Example sending a request using the DeleteApplicationInputProcessingConfigurationRequest method.
  1137  //    req, resp := client.DeleteApplicationInputProcessingConfigurationRequest(params)
  1138  //
  1139  //    err := req.Send()
  1140  //    if err == nil { // resp is now filled
  1141  //        fmt.Println(resp)
  1142  //    }
  1143  //
  1144  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationInputProcessingConfiguration
  1145  func (c *KinesisAnalyticsV2) DeleteApplicationInputProcessingConfigurationRequest(input *DeleteApplicationInputProcessingConfigurationInput) (req *request.Request, output *DeleteApplicationInputProcessingConfigurationOutput) {
  1146  	op := &request.Operation{
  1147  		Name:       opDeleteApplicationInputProcessingConfiguration,
  1148  		HTTPMethod: "POST",
  1149  		HTTPPath:   "/",
  1150  	}
  1151  
  1152  	if input == nil {
  1153  		input = &DeleteApplicationInputProcessingConfigurationInput{}
  1154  	}
  1155  
  1156  	output = &DeleteApplicationInputProcessingConfigurationOutput{}
  1157  	req = c.newRequest(op, input, output)
  1158  	return
  1159  }
  1160  
  1161  // DeleteApplicationInputProcessingConfiguration API operation for Amazon Kinesis Analytics.
  1162  //
  1163  // Deletes an InputProcessingConfiguration from an input.
  1164  //
  1165  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1166  // with awserr.Error's Code and Message methods to get detailed information about
  1167  // the error.
  1168  //
  1169  // See the AWS API reference guide for Amazon Kinesis Analytics's
  1170  // API operation DeleteApplicationInputProcessingConfiguration for usage and error information.
  1171  //
  1172  // Returned Error Types:
  1173  //   * ResourceNotFoundException
  1174  //   Specified application can't be found.
  1175  //
  1176  //   * ResourceInUseException
  1177  //   The application is not available for this operation.
  1178  //
  1179  //   * InvalidArgumentException
  1180  //   The specified input parameter value is not valid.
  1181  //
  1182  //   * ConcurrentModificationException
  1183  //   Exception thrown as a result of concurrent modifications to an application.
  1184  //   This error can be the result of attempting to modify an application without
  1185  //   using the current application ID.
  1186  //
  1187  //   * InvalidRequestException
  1188  //   The request JSON is not valid for the operation.
  1189  //
  1190  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationInputProcessingConfiguration
  1191  func (c *KinesisAnalyticsV2) DeleteApplicationInputProcessingConfiguration(input *DeleteApplicationInputProcessingConfigurationInput) (*DeleteApplicationInputProcessingConfigurationOutput, error) {
  1192  	req, out := c.DeleteApplicationInputProcessingConfigurationRequest(input)
  1193  	return out, req.Send()
  1194  }
  1195  
  1196  // DeleteApplicationInputProcessingConfigurationWithContext is the same as DeleteApplicationInputProcessingConfiguration with the addition of
  1197  // the ability to pass a context and additional request options.
  1198  //
  1199  // See DeleteApplicationInputProcessingConfiguration for details on how to use this API operation.
  1200  //
  1201  // The context must be non-nil and will be used for request cancellation. If
  1202  // the context is nil a panic will occur. In the future the SDK may create
  1203  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1204  // for more information on using Contexts.
  1205  func (c *KinesisAnalyticsV2) DeleteApplicationInputProcessingConfigurationWithContext(ctx aws.Context, input *DeleteApplicationInputProcessingConfigurationInput, opts ...request.Option) (*DeleteApplicationInputProcessingConfigurationOutput, error) {
  1206  	req, out := c.DeleteApplicationInputProcessingConfigurationRequest(input)
  1207  	req.SetContext(ctx)
  1208  	req.ApplyOptions(opts...)
  1209  	return out, req.Send()
  1210  }
  1211  
  1212  const opDeleteApplicationOutput = "DeleteApplicationOutput"
  1213  
  1214  // DeleteApplicationOutputRequest generates a "aws/request.Request" representing the
  1215  // client's request for the DeleteApplicationOutput operation. The "output" return
  1216  // value will be populated with the request's response once the request completes
  1217  // successfully.
  1218  //
  1219  // Use "Send" method on the returned Request to send the API call to the service.
  1220  // the "output" return value is not valid until after Send returns without error.
  1221  //
  1222  // See DeleteApplicationOutput for more information on using the DeleteApplicationOutput
  1223  // API call, and error handling.
  1224  //
  1225  // This method is useful when you want to inject custom logic or configuration
  1226  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1227  //
  1228  //
  1229  //    // Example sending a request using the DeleteApplicationOutputRequest method.
  1230  //    req, resp := client.DeleteApplicationOutputRequest(params)
  1231  //
  1232  //    err := req.Send()
  1233  //    if err == nil { // resp is now filled
  1234  //        fmt.Println(resp)
  1235  //    }
  1236  //
  1237  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationOutput
  1238  func (c *KinesisAnalyticsV2) DeleteApplicationOutputRequest(input *DeleteApplicationOutputInput) (req *request.Request, output *DeleteApplicationOutputOutput) {
  1239  	op := &request.Operation{
  1240  		Name:       opDeleteApplicationOutput,
  1241  		HTTPMethod: "POST",
  1242  		HTTPPath:   "/",
  1243  	}
  1244  
  1245  	if input == nil {
  1246  		input = &DeleteApplicationOutputInput{}
  1247  	}
  1248  
  1249  	output = &DeleteApplicationOutputOutput{}
  1250  	req = c.newRequest(op, input, output)
  1251  	return
  1252  }
  1253  
  1254  // DeleteApplicationOutput API operation for Amazon Kinesis Analytics.
  1255  //
  1256  // Deletes the output destination configuration from your SQL-based Kinesis
  1257  // Data Analytics application's configuration. Kinesis Data Analytics will no
  1258  // longer write data from the corresponding in-application stream to the external
  1259  // output destination.
  1260  //
  1261  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1262  // with awserr.Error's Code and Message methods to get detailed information about
  1263  // the error.
  1264  //
  1265  // See the AWS API reference guide for Amazon Kinesis Analytics's
  1266  // API operation DeleteApplicationOutput for usage and error information.
  1267  //
  1268  // Returned Error Types:
  1269  //   * ResourceNotFoundException
  1270  //   Specified application can't be found.
  1271  //
  1272  //   * ResourceInUseException
  1273  //   The application is not available for this operation.
  1274  //
  1275  //   * InvalidArgumentException
  1276  //   The specified input parameter value is not valid.
  1277  //
  1278  //   * ConcurrentModificationException
  1279  //   Exception thrown as a result of concurrent modifications to an application.
  1280  //   This error can be the result of attempting to modify an application without
  1281  //   using the current application ID.
  1282  //
  1283  //   * InvalidRequestException
  1284  //   The request JSON is not valid for the operation.
  1285  //
  1286  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationOutput
  1287  func (c *KinesisAnalyticsV2) DeleteApplicationOutput(input *DeleteApplicationOutputInput) (*DeleteApplicationOutputOutput, error) {
  1288  	req, out := c.DeleteApplicationOutputRequest(input)
  1289  	return out, req.Send()
  1290  }
  1291  
  1292  // DeleteApplicationOutputWithContext is the same as DeleteApplicationOutput with the addition of
  1293  // the ability to pass a context and additional request options.
  1294  //
  1295  // See DeleteApplicationOutput for details on how to use this API operation.
  1296  //
  1297  // The context must be non-nil and will be used for request cancellation. If
  1298  // the context is nil a panic will occur. In the future the SDK may create
  1299  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1300  // for more information on using Contexts.
  1301  func (c *KinesisAnalyticsV2) DeleteApplicationOutputWithContext(ctx aws.Context, input *DeleteApplicationOutputInput, opts ...request.Option) (*DeleteApplicationOutputOutput, error) {
  1302  	req, out := c.DeleteApplicationOutputRequest(input)
  1303  	req.SetContext(ctx)
  1304  	req.ApplyOptions(opts...)
  1305  	return out, req.Send()
  1306  }
  1307  
  1308  const opDeleteApplicationReferenceDataSource = "DeleteApplicationReferenceDataSource"
  1309  
  1310  // DeleteApplicationReferenceDataSourceRequest generates a "aws/request.Request" representing the
  1311  // client's request for the DeleteApplicationReferenceDataSource operation. The "output" return
  1312  // value will be populated with the request's response once the request completes
  1313  // successfully.
  1314  //
  1315  // Use "Send" method on the returned Request to send the API call to the service.
  1316  // the "output" return value is not valid until after Send returns without error.
  1317  //
  1318  // See DeleteApplicationReferenceDataSource for more information on using the DeleteApplicationReferenceDataSource
  1319  // API call, and error handling.
  1320  //
  1321  // This method is useful when you want to inject custom logic or configuration
  1322  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1323  //
  1324  //
  1325  //    // Example sending a request using the DeleteApplicationReferenceDataSourceRequest method.
  1326  //    req, resp := client.DeleteApplicationReferenceDataSourceRequest(params)
  1327  //
  1328  //    err := req.Send()
  1329  //    if err == nil { // resp is now filled
  1330  //        fmt.Println(resp)
  1331  //    }
  1332  //
  1333  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationReferenceDataSource
  1334  func (c *KinesisAnalyticsV2) DeleteApplicationReferenceDataSourceRequest(input *DeleteApplicationReferenceDataSourceInput) (req *request.Request, output *DeleteApplicationReferenceDataSourceOutput) {
  1335  	op := &request.Operation{
  1336  		Name:       opDeleteApplicationReferenceDataSource,
  1337  		HTTPMethod: "POST",
  1338  		HTTPPath:   "/",
  1339  	}
  1340  
  1341  	if input == nil {
  1342  		input = &DeleteApplicationReferenceDataSourceInput{}
  1343  	}
  1344  
  1345  	output = &DeleteApplicationReferenceDataSourceOutput{}
  1346  	req = c.newRequest(op, input, output)
  1347  	return
  1348  }
  1349  
  1350  // DeleteApplicationReferenceDataSource API operation for Amazon Kinesis Analytics.
  1351  //
  1352  // Deletes a reference data source configuration from the specified SQL-based
  1353  // Kinesis Data Analytics application's configuration.
  1354  //
  1355  // If the application is running, Kinesis Data Analytics immediately removes
  1356  // the in-application table that you created using the AddApplicationReferenceDataSource
  1357  // operation.
  1358  //
  1359  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1360  // with awserr.Error's Code and Message methods to get detailed information about
  1361  // the error.
  1362  //
  1363  // See the AWS API reference guide for Amazon Kinesis Analytics's
  1364  // API operation DeleteApplicationReferenceDataSource for usage and error information.
  1365  //
  1366  // Returned Error Types:
  1367  //   * ResourceNotFoundException
  1368  //   Specified application can't be found.
  1369  //
  1370  //   * ResourceInUseException
  1371  //   The application is not available for this operation.
  1372  //
  1373  //   * InvalidArgumentException
  1374  //   The specified input parameter value is not valid.
  1375  //
  1376  //   * ConcurrentModificationException
  1377  //   Exception thrown as a result of concurrent modifications to an application.
  1378  //   This error can be the result of attempting to modify an application without
  1379  //   using the current application ID.
  1380  //
  1381  //   * InvalidRequestException
  1382  //   The request JSON is not valid for the operation.
  1383  //
  1384  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationReferenceDataSource
  1385  func (c *KinesisAnalyticsV2) DeleteApplicationReferenceDataSource(input *DeleteApplicationReferenceDataSourceInput) (*DeleteApplicationReferenceDataSourceOutput, error) {
  1386  	req, out := c.DeleteApplicationReferenceDataSourceRequest(input)
  1387  	return out, req.Send()
  1388  }
  1389  
  1390  // DeleteApplicationReferenceDataSourceWithContext is the same as DeleteApplicationReferenceDataSource with the addition of
  1391  // the ability to pass a context and additional request options.
  1392  //
  1393  // See DeleteApplicationReferenceDataSource for details on how to use this API operation.
  1394  //
  1395  // The context must be non-nil and will be used for request cancellation. If
  1396  // the context is nil a panic will occur. In the future the SDK may create
  1397  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1398  // for more information on using Contexts.
  1399  func (c *KinesisAnalyticsV2) DeleteApplicationReferenceDataSourceWithContext(ctx aws.Context, input *DeleteApplicationReferenceDataSourceInput, opts ...request.Option) (*DeleteApplicationReferenceDataSourceOutput, error) {
  1400  	req, out := c.DeleteApplicationReferenceDataSourceRequest(input)
  1401  	req.SetContext(ctx)
  1402  	req.ApplyOptions(opts...)
  1403  	return out, req.Send()
  1404  }
  1405  
  1406  const opDeleteApplicationSnapshot = "DeleteApplicationSnapshot"
  1407  
  1408  // DeleteApplicationSnapshotRequest generates a "aws/request.Request" representing the
  1409  // client's request for the DeleteApplicationSnapshot operation. The "output" return
  1410  // value will be populated with the request's response once the request completes
  1411  // successfully.
  1412  //
  1413  // Use "Send" method on the returned Request to send the API call to the service.
  1414  // the "output" return value is not valid until after Send returns without error.
  1415  //
  1416  // See DeleteApplicationSnapshot for more information on using the DeleteApplicationSnapshot
  1417  // API call, and error handling.
  1418  //
  1419  // This method is useful when you want to inject custom logic or configuration
  1420  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1421  //
  1422  //
  1423  //    // Example sending a request using the DeleteApplicationSnapshotRequest method.
  1424  //    req, resp := client.DeleteApplicationSnapshotRequest(params)
  1425  //
  1426  //    err := req.Send()
  1427  //    if err == nil { // resp is now filled
  1428  //        fmt.Println(resp)
  1429  //    }
  1430  //
  1431  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationSnapshot
  1432  func (c *KinesisAnalyticsV2) DeleteApplicationSnapshotRequest(input *DeleteApplicationSnapshotInput) (req *request.Request, output *DeleteApplicationSnapshotOutput) {
  1433  	op := &request.Operation{
  1434  		Name:       opDeleteApplicationSnapshot,
  1435  		HTTPMethod: "POST",
  1436  		HTTPPath:   "/",
  1437  	}
  1438  
  1439  	if input == nil {
  1440  		input = &DeleteApplicationSnapshotInput{}
  1441  	}
  1442  
  1443  	output = &DeleteApplicationSnapshotOutput{}
  1444  	req = c.newRequest(op, input, output)
  1445  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1446  	return
  1447  }
  1448  
  1449  // DeleteApplicationSnapshot API operation for Amazon Kinesis Analytics.
  1450  //
  1451  // Deletes a snapshot of application state.
  1452  //
  1453  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1454  // with awserr.Error's Code and Message methods to get detailed information about
  1455  // the error.
  1456  //
  1457  // See the AWS API reference guide for Amazon Kinesis Analytics's
  1458  // API operation DeleteApplicationSnapshot for usage and error information.
  1459  //
  1460  // Returned Error Types:
  1461  //   * ResourceInUseException
  1462  //   The application is not available for this operation.
  1463  //
  1464  //   * InvalidArgumentException
  1465  //   The specified input parameter value is not valid.
  1466  //
  1467  //   * UnsupportedOperationException
  1468  //   The request was rejected because a specified parameter is not supported or
  1469  //   a specified resource is not valid for this operation.
  1470  //
  1471  //   * InvalidRequestException
  1472  //   The request JSON is not valid for the operation.
  1473  //
  1474  //   * ResourceNotFoundException
  1475  //   Specified application can't be found.
  1476  //
  1477  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationSnapshot
  1478  func (c *KinesisAnalyticsV2) DeleteApplicationSnapshot(input *DeleteApplicationSnapshotInput) (*DeleteApplicationSnapshotOutput, error) {
  1479  	req, out := c.DeleteApplicationSnapshotRequest(input)
  1480  	return out, req.Send()
  1481  }
  1482  
  1483  // DeleteApplicationSnapshotWithContext is the same as DeleteApplicationSnapshot with the addition of
  1484  // the ability to pass a context and additional request options.
  1485  //
  1486  // See DeleteApplicationSnapshot for details on how to use this API operation.
  1487  //
  1488  // The context must be non-nil and will be used for request cancellation. If
  1489  // the context is nil a panic will occur. In the future the SDK may create
  1490  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1491  // for more information on using Contexts.
  1492  func (c *KinesisAnalyticsV2) DeleteApplicationSnapshotWithContext(ctx aws.Context, input *DeleteApplicationSnapshotInput, opts ...request.Option) (*DeleteApplicationSnapshotOutput, error) {
  1493  	req, out := c.DeleteApplicationSnapshotRequest(input)
  1494  	req.SetContext(ctx)
  1495  	req.ApplyOptions(opts...)
  1496  	return out, req.Send()
  1497  }
  1498  
  1499  const opDeleteApplicationVpcConfiguration = "DeleteApplicationVpcConfiguration"
  1500  
  1501  // DeleteApplicationVpcConfigurationRequest generates a "aws/request.Request" representing the
  1502  // client's request for the DeleteApplicationVpcConfiguration operation. The "output" return
  1503  // value will be populated with the request's response once the request completes
  1504  // successfully.
  1505  //
  1506  // Use "Send" method on the returned Request to send the API call to the service.
  1507  // the "output" return value is not valid until after Send returns without error.
  1508  //
  1509  // See DeleteApplicationVpcConfiguration for more information on using the DeleteApplicationVpcConfiguration
  1510  // API call, and error handling.
  1511  //
  1512  // This method is useful when you want to inject custom logic or configuration
  1513  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1514  //
  1515  //
  1516  //    // Example sending a request using the DeleteApplicationVpcConfigurationRequest method.
  1517  //    req, resp := client.DeleteApplicationVpcConfigurationRequest(params)
  1518  //
  1519  //    err := req.Send()
  1520  //    if err == nil { // resp is now filled
  1521  //        fmt.Println(resp)
  1522  //    }
  1523  //
  1524  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationVpcConfiguration
  1525  func (c *KinesisAnalyticsV2) DeleteApplicationVpcConfigurationRequest(input *DeleteApplicationVpcConfigurationInput) (req *request.Request, output *DeleteApplicationVpcConfigurationOutput) {
  1526  	op := &request.Operation{
  1527  		Name:       opDeleteApplicationVpcConfiguration,
  1528  		HTTPMethod: "POST",
  1529  		HTTPPath:   "/",
  1530  	}
  1531  
  1532  	if input == nil {
  1533  		input = &DeleteApplicationVpcConfigurationInput{}
  1534  	}
  1535  
  1536  	output = &DeleteApplicationVpcConfigurationOutput{}
  1537  	req = c.newRequest(op, input, output)
  1538  	return
  1539  }
  1540  
  1541  // DeleteApplicationVpcConfiguration API operation for Amazon Kinesis Analytics.
  1542  //
  1543  // Removes a VPC configuration from a Kinesis Data Analytics application.
  1544  //
  1545  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1546  // with awserr.Error's Code and Message methods to get detailed information about
  1547  // the error.
  1548  //
  1549  // See the AWS API reference guide for Amazon Kinesis Analytics's
  1550  // API operation DeleteApplicationVpcConfiguration for usage and error information.
  1551  //
  1552  // Returned Error Types:
  1553  //   * ResourceNotFoundException
  1554  //   Specified application can't be found.
  1555  //
  1556  //   * ResourceInUseException
  1557  //   The application is not available for this operation.
  1558  //
  1559  //   * InvalidArgumentException
  1560  //   The specified input parameter value is not valid.
  1561  //
  1562  //   * ConcurrentModificationException
  1563  //   Exception thrown as a result of concurrent modifications to an application.
  1564  //   This error can be the result of attempting to modify an application without
  1565  //   using the current application ID.
  1566  //
  1567  //   * InvalidApplicationConfigurationException
  1568  //   The user-provided application configuration is not valid.
  1569  //
  1570  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationVpcConfiguration
  1571  func (c *KinesisAnalyticsV2) DeleteApplicationVpcConfiguration(input *DeleteApplicationVpcConfigurationInput) (*DeleteApplicationVpcConfigurationOutput, error) {
  1572  	req, out := c.DeleteApplicationVpcConfigurationRequest(input)
  1573  	return out, req.Send()
  1574  }
  1575  
  1576  // DeleteApplicationVpcConfigurationWithContext is the same as DeleteApplicationVpcConfiguration with the addition of
  1577  // the ability to pass a context and additional request options.
  1578  //
  1579  // See DeleteApplicationVpcConfiguration for details on how to use this API operation.
  1580  //
  1581  // The context must be non-nil and will be used for request cancellation. If
  1582  // the context is nil a panic will occur. In the future the SDK may create
  1583  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1584  // for more information on using Contexts.
  1585  func (c *KinesisAnalyticsV2) DeleteApplicationVpcConfigurationWithContext(ctx aws.Context, input *DeleteApplicationVpcConfigurationInput, opts ...request.Option) (*DeleteApplicationVpcConfigurationOutput, error) {
  1586  	req, out := c.DeleteApplicationVpcConfigurationRequest(input)
  1587  	req.SetContext(ctx)
  1588  	req.ApplyOptions(opts...)
  1589  	return out, req.Send()
  1590  }
  1591  
  1592  const opDescribeApplication = "DescribeApplication"
  1593  
  1594  // DescribeApplicationRequest generates a "aws/request.Request" representing the
  1595  // client's request for the DescribeApplication operation. The "output" return
  1596  // value will be populated with the request's response once the request completes
  1597  // successfully.
  1598  //
  1599  // Use "Send" method on the returned Request to send the API call to the service.
  1600  // the "output" return value is not valid until after Send returns without error.
  1601  //
  1602  // See DescribeApplication for more information on using the DescribeApplication
  1603  // API call, and error handling.
  1604  //
  1605  // This method is useful when you want to inject custom logic or configuration
  1606  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1607  //
  1608  //
  1609  //    // Example sending a request using the DescribeApplicationRequest method.
  1610  //    req, resp := client.DescribeApplicationRequest(params)
  1611  //
  1612  //    err := req.Send()
  1613  //    if err == nil { // resp is now filled
  1614  //        fmt.Println(resp)
  1615  //    }
  1616  //
  1617  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DescribeApplication
  1618  func (c *KinesisAnalyticsV2) DescribeApplicationRequest(input *DescribeApplicationInput) (req *request.Request, output *DescribeApplicationOutput) {
  1619  	op := &request.Operation{
  1620  		Name:       opDescribeApplication,
  1621  		HTTPMethod: "POST",
  1622  		HTTPPath:   "/",
  1623  	}
  1624  
  1625  	if input == nil {
  1626  		input = &DescribeApplicationInput{}
  1627  	}
  1628  
  1629  	output = &DescribeApplicationOutput{}
  1630  	req = c.newRequest(op, input, output)
  1631  	return
  1632  }
  1633  
  1634  // DescribeApplication API operation for Amazon Kinesis Analytics.
  1635  //
  1636  // Returns information about a specific Kinesis Data Analytics application.
  1637  //
  1638  // If you want to retrieve a list of all applications in your account, use the
  1639  // ListApplications operation.
  1640  //
  1641  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1642  // with awserr.Error's Code and Message methods to get detailed information about
  1643  // the error.
  1644  //
  1645  // See the AWS API reference guide for Amazon Kinesis Analytics's
  1646  // API operation DescribeApplication for usage and error information.
  1647  //
  1648  // Returned Error Types:
  1649  //   * ResourceNotFoundException
  1650  //   Specified application can't be found.
  1651  //
  1652  //   * InvalidArgumentException
  1653  //   The specified input parameter value is not valid.
  1654  //
  1655  //   * InvalidRequestException
  1656  //   The request JSON is not valid for the operation.
  1657  //
  1658  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DescribeApplication
  1659  func (c *KinesisAnalyticsV2) DescribeApplication(input *DescribeApplicationInput) (*DescribeApplicationOutput, error) {
  1660  	req, out := c.DescribeApplicationRequest(input)
  1661  	return out, req.Send()
  1662  }
  1663  
  1664  // DescribeApplicationWithContext is the same as DescribeApplication with the addition of
  1665  // the ability to pass a context and additional request options.
  1666  //
  1667  // See DescribeApplication for details on how to use this API operation.
  1668  //
  1669  // The context must be non-nil and will be used for request cancellation. If
  1670  // the context is nil a panic will occur. In the future the SDK may create
  1671  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1672  // for more information on using Contexts.
  1673  func (c *KinesisAnalyticsV2) DescribeApplicationWithContext(ctx aws.Context, input *DescribeApplicationInput, opts ...request.Option) (*DescribeApplicationOutput, error) {
  1674  	req, out := c.DescribeApplicationRequest(input)
  1675  	req.SetContext(ctx)
  1676  	req.ApplyOptions(opts...)
  1677  	return out, req.Send()
  1678  }
  1679  
  1680  const opDescribeApplicationSnapshot = "DescribeApplicationSnapshot"
  1681  
  1682  // DescribeApplicationSnapshotRequest generates a "aws/request.Request" representing the
  1683  // client's request for the DescribeApplicationSnapshot operation. The "output" return
  1684  // value will be populated with the request's response once the request completes
  1685  // successfully.
  1686  //
  1687  // Use "Send" method on the returned Request to send the API call to the service.
  1688  // the "output" return value is not valid until after Send returns without error.
  1689  //
  1690  // See DescribeApplicationSnapshot for more information on using the DescribeApplicationSnapshot
  1691  // API call, and error handling.
  1692  //
  1693  // This method is useful when you want to inject custom logic or configuration
  1694  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1695  //
  1696  //
  1697  //    // Example sending a request using the DescribeApplicationSnapshotRequest method.
  1698  //    req, resp := client.DescribeApplicationSnapshotRequest(params)
  1699  //
  1700  //    err := req.Send()
  1701  //    if err == nil { // resp is now filled
  1702  //        fmt.Println(resp)
  1703  //    }
  1704  //
  1705  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DescribeApplicationSnapshot
  1706  func (c *KinesisAnalyticsV2) DescribeApplicationSnapshotRequest(input *DescribeApplicationSnapshotInput) (req *request.Request, output *DescribeApplicationSnapshotOutput) {
  1707  	op := &request.Operation{
  1708  		Name:       opDescribeApplicationSnapshot,
  1709  		HTTPMethod: "POST",
  1710  		HTTPPath:   "/",
  1711  	}
  1712  
  1713  	if input == nil {
  1714  		input = &DescribeApplicationSnapshotInput{}
  1715  	}
  1716  
  1717  	output = &DescribeApplicationSnapshotOutput{}
  1718  	req = c.newRequest(op, input, output)
  1719  	return
  1720  }
  1721  
  1722  // DescribeApplicationSnapshot API operation for Amazon Kinesis Analytics.
  1723  //
  1724  // Returns information about a snapshot of application state data.
  1725  //
  1726  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1727  // with awserr.Error's Code and Message methods to get detailed information about
  1728  // the error.
  1729  //
  1730  // See the AWS API reference guide for Amazon Kinesis Analytics's
  1731  // API operation DescribeApplicationSnapshot for usage and error information.
  1732  //
  1733  // Returned Error Types:
  1734  //   * ResourceNotFoundException
  1735  //   Specified application can't be found.
  1736  //
  1737  //   * InvalidArgumentException
  1738  //   The specified input parameter value is not valid.
  1739  //
  1740  //   * UnsupportedOperationException
  1741  //   The request was rejected because a specified parameter is not supported or
  1742  //   a specified resource is not valid for this operation.
  1743  //
  1744  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DescribeApplicationSnapshot
  1745  func (c *KinesisAnalyticsV2) DescribeApplicationSnapshot(input *DescribeApplicationSnapshotInput) (*DescribeApplicationSnapshotOutput, error) {
  1746  	req, out := c.DescribeApplicationSnapshotRequest(input)
  1747  	return out, req.Send()
  1748  }
  1749  
  1750  // DescribeApplicationSnapshotWithContext is the same as DescribeApplicationSnapshot with the addition of
  1751  // the ability to pass a context and additional request options.
  1752  //
  1753  // See DescribeApplicationSnapshot for details on how to use this API operation.
  1754  //
  1755  // The context must be non-nil and will be used for request cancellation. If
  1756  // the context is nil a panic will occur. In the future the SDK may create
  1757  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1758  // for more information on using Contexts.
  1759  func (c *KinesisAnalyticsV2) DescribeApplicationSnapshotWithContext(ctx aws.Context, input *DescribeApplicationSnapshotInput, opts ...request.Option) (*DescribeApplicationSnapshotOutput, error) {
  1760  	req, out := c.DescribeApplicationSnapshotRequest(input)
  1761  	req.SetContext(ctx)
  1762  	req.ApplyOptions(opts...)
  1763  	return out, req.Send()
  1764  }
  1765  
  1766  const opDescribeApplicationVersion = "DescribeApplicationVersion"
  1767  
  1768  // DescribeApplicationVersionRequest generates a "aws/request.Request" representing the
  1769  // client's request for the DescribeApplicationVersion operation. The "output" return
  1770  // value will be populated with the request's response once the request completes
  1771  // successfully.
  1772  //
  1773  // Use "Send" method on the returned Request to send the API call to the service.
  1774  // the "output" return value is not valid until after Send returns without error.
  1775  //
  1776  // See DescribeApplicationVersion for more information on using the DescribeApplicationVersion
  1777  // API call, and error handling.
  1778  //
  1779  // This method is useful when you want to inject custom logic or configuration
  1780  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1781  //
  1782  //
  1783  //    // Example sending a request using the DescribeApplicationVersionRequest method.
  1784  //    req, resp := client.DescribeApplicationVersionRequest(params)
  1785  //
  1786  //    err := req.Send()
  1787  //    if err == nil { // resp is now filled
  1788  //        fmt.Println(resp)
  1789  //    }
  1790  //
  1791  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DescribeApplicationVersion
  1792  func (c *KinesisAnalyticsV2) DescribeApplicationVersionRequest(input *DescribeApplicationVersionInput) (req *request.Request, output *DescribeApplicationVersionOutput) {
  1793  	op := &request.Operation{
  1794  		Name:       opDescribeApplicationVersion,
  1795  		HTTPMethod: "POST",
  1796  		HTTPPath:   "/",
  1797  	}
  1798  
  1799  	if input == nil {
  1800  		input = &DescribeApplicationVersionInput{}
  1801  	}
  1802  
  1803  	output = &DescribeApplicationVersionOutput{}
  1804  	req = c.newRequest(op, input, output)
  1805  	return
  1806  }
  1807  
  1808  // DescribeApplicationVersion API operation for Amazon Kinesis Analytics.
  1809  //
  1810  // Provides a detailed description of a specified version of the application.
  1811  // To see a list of all the versions of an application, invoke the ListApplicationVersions
  1812  // operation.
  1813  //
  1814  // This operation is supported only for Amazon Kinesis Data Analytics for Apache
  1815  // Flink.
  1816  //
  1817  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1818  // with awserr.Error's Code and Message methods to get detailed information about
  1819  // the error.
  1820  //
  1821  // See the AWS API reference guide for Amazon Kinesis Analytics's
  1822  // API operation DescribeApplicationVersion for usage and error information.
  1823  //
  1824  // Returned Error Types:
  1825  //   * InvalidArgumentException
  1826  //   The specified input parameter value is not valid.
  1827  //
  1828  //   * ResourceNotFoundException
  1829  //   Specified application can't be found.
  1830  //
  1831  //   * UnsupportedOperationException
  1832  //   The request was rejected because a specified parameter is not supported or
  1833  //   a specified resource is not valid for this operation.
  1834  //
  1835  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DescribeApplicationVersion
  1836  func (c *KinesisAnalyticsV2) DescribeApplicationVersion(input *DescribeApplicationVersionInput) (*DescribeApplicationVersionOutput, error) {
  1837  	req, out := c.DescribeApplicationVersionRequest(input)
  1838  	return out, req.Send()
  1839  }
  1840  
  1841  // DescribeApplicationVersionWithContext is the same as DescribeApplicationVersion with the addition of
  1842  // the ability to pass a context and additional request options.
  1843  //
  1844  // See DescribeApplicationVersion for details on how to use this API operation.
  1845  //
  1846  // The context must be non-nil and will be used for request cancellation. If
  1847  // the context is nil a panic will occur. In the future the SDK may create
  1848  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1849  // for more information on using Contexts.
  1850  func (c *KinesisAnalyticsV2) DescribeApplicationVersionWithContext(ctx aws.Context, input *DescribeApplicationVersionInput, opts ...request.Option) (*DescribeApplicationVersionOutput, error) {
  1851  	req, out := c.DescribeApplicationVersionRequest(input)
  1852  	req.SetContext(ctx)
  1853  	req.ApplyOptions(opts...)
  1854  	return out, req.Send()
  1855  }
  1856  
  1857  const opDiscoverInputSchema = "DiscoverInputSchema"
  1858  
  1859  // DiscoverInputSchemaRequest generates a "aws/request.Request" representing the
  1860  // client's request for the DiscoverInputSchema operation. The "output" return
  1861  // value will be populated with the request's response once the request completes
  1862  // successfully.
  1863  //
  1864  // Use "Send" method on the returned Request to send the API call to the service.
  1865  // the "output" return value is not valid until after Send returns without error.
  1866  //
  1867  // See DiscoverInputSchema for more information on using the DiscoverInputSchema
  1868  // API call, and error handling.
  1869  //
  1870  // This method is useful when you want to inject custom logic or configuration
  1871  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1872  //
  1873  //
  1874  //    // Example sending a request using the DiscoverInputSchemaRequest method.
  1875  //    req, resp := client.DiscoverInputSchemaRequest(params)
  1876  //
  1877  //    err := req.Send()
  1878  //    if err == nil { // resp is now filled
  1879  //        fmt.Println(resp)
  1880  //    }
  1881  //
  1882  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DiscoverInputSchema
  1883  func (c *KinesisAnalyticsV2) DiscoverInputSchemaRequest(input *DiscoverInputSchemaInput) (req *request.Request, output *DiscoverInputSchemaOutput) {
  1884  	op := &request.Operation{
  1885  		Name:       opDiscoverInputSchema,
  1886  		HTTPMethod: "POST",
  1887  		HTTPPath:   "/",
  1888  	}
  1889  
  1890  	if input == nil {
  1891  		input = &DiscoverInputSchemaInput{}
  1892  	}
  1893  
  1894  	output = &DiscoverInputSchemaOutput{}
  1895  	req = c.newRequest(op, input, output)
  1896  	return
  1897  }
  1898  
  1899  // DiscoverInputSchema API operation for Amazon Kinesis Analytics.
  1900  //
  1901  // Infers a schema for a SQL-based Kinesis Data Analytics application by evaluating
  1902  // sample records on the specified streaming source (Kinesis data stream or
  1903  // Kinesis Data Firehose delivery stream) or Amazon S3 object. In the response,
  1904  // the operation returns the inferred schema and also the sample records that
  1905  // the operation used to infer the schema.
  1906  //
  1907  // You can use the inferred schema when configuring a streaming source for your
  1908  // application. When you create an application using the Kinesis Data Analytics
  1909  // console, the console uses this operation to infer a schema and show it in
  1910  // the console user interface.
  1911  //
  1912  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1913  // with awserr.Error's Code and Message methods to get detailed information about
  1914  // the error.
  1915  //
  1916  // See the AWS API reference guide for Amazon Kinesis Analytics's
  1917  // API operation DiscoverInputSchema for usage and error information.
  1918  //
  1919  // Returned Error Types:
  1920  //   * InvalidArgumentException
  1921  //   The specified input parameter value is not valid.
  1922  //
  1923  //   * UnableToDetectSchemaException
  1924  //   The data format is not valid. Kinesis Data Analytics cannot detect the schema
  1925  //   for the given streaming source.
  1926  //
  1927  //   * ResourceProvisionedThroughputExceededException
  1928  //   Discovery failed to get a record from the streaming source because of the
  1929  //   Kinesis Streams ProvisionedThroughputExceededException. For more information,
  1930  //   see GetRecords (http://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetRecords.html)
  1931  //   in the Amazon Kinesis Streams API Reference.
  1932  //
  1933  //   * ServiceUnavailableException
  1934  //   The service cannot complete the request.
  1935  //
  1936  //   * InvalidRequestException
  1937  //   The request JSON is not valid for the operation.
  1938  //
  1939  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DiscoverInputSchema
  1940  func (c *KinesisAnalyticsV2) DiscoverInputSchema(input *DiscoverInputSchemaInput) (*DiscoverInputSchemaOutput, error) {
  1941  	req, out := c.DiscoverInputSchemaRequest(input)
  1942  	return out, req.Send()
  1943  }
  1944  
  1945  // DiscoverInputSchemaWithContext is the same as DiscoverInputSchema with the addition of
  1946  // the ability to pass a context and additional request options.
  1947  //
  1948  // See DiscoverInputSchema for details on how to use this API operation.
  1949  //
  1950  // The context must be non-nil and will be used for request cancellation. If
  1951  // the context is nil a panic will occur. In the future the SDK may create
  1952  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1953  // for more information on using Contexts.
  1954  func (c *KinesisAnalyticsV2) DiscoverInputSchemaWithContext(ctx aws.Context, input *DiscoverInputSchemaInput, opts ...request.Option) (*DiscoverInputSchemaOutput, error) {
  1955  	req, out := c.DiscoverInputSchemaRequest(input)
  1956  	req.SetContext(ctx)
  1957  	req.ApplyOptions(opts...)
  1958  	return out, req.Send()
  1959  }
  1960  
  1961  const opListApplicationSnapshots = "ListApplicationSnapshots"
  1962  
  1963  // ListApplicationSnapshotsRequest generates a "aws/request.Request" representing the
  1964  // client's request for the ListApplicationSnapshots operation. The "output" return
  1965  // value will be populated with the request's response once the request completes
  1966  // successfully.
  1967  //
  1968  // Use "Send" method on the returned Request to send the API call to the service.
  1969  // the "output" return value is not valid until after Send returns without error.
  1970  //
  1971  // See ListApplicationSnapshots for more information on using the ListApplicationSnapshots
  1972  // API call, and error handling.
  1973  //
  1974  // This method is useful when you want to inject custom logic or configuration
  1975  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1976  //
  1977  //
  1978  //    // Example sending a request using the ListApplicationSnapshotsRequest method.
  1979  //    req, resp := client.ListApplicationSnapshotsRequest(params)
  1980  //
  1981  //    err := req.Send()
  1982  //    if err == nil { // resp is now filled
  1983  //        fmt.Println(resp)
  1984  //    }
  1985  //
  1986  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/ListApplicationSnapshots
  1987  func (c *KinesisAnalyticsV2) ListApplicationSnapshotsRequest(input *ListApplicationSnapshotsInput) (req *request.Request, output *ListApplicationSnapshotsOutput) {
  1988  	op := &request.Operation{
  1989  		Name:       opListApplicationSnapshots,
  1990  		HTTPMethod: "POST",
  1991  		HTTPPath:   "/",
  1992  	}
  1993  
  1994  	if input == nil {
  1995  		input = &ListApplicationSnapshotsInput{}
  1996  	}
  1997  
  1998  	output = &ListApplicationSnapshotsOutput{}
  1999  	req = c.newRequest(op, input, output)
  2000  	return
  2001  }
  2002  
  2003  // ListApplicationSnapshots API operation for Amazon Kinesis Analytics.
  2004  //
  2005  // Lists information about the current application snapshots.
  2006  //
  2007  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2008  // with awserr.Error's Code and Message methods to get detailed information about
  2009  // the error.
  2010  //
  2011  // See the AWS API reference guide for Amazon Kinesis Analytics's
  2012  // API operation ListApplicationSnapshots for usage and error information.
  2013  //
  2014  // Returned Error Types:
  2015  //   * InvalidArgumentException
  2016  //   The specified input parameter value is not valid.
  2017  //
  2018  //   * UnsupportedOperationException
  2019  //   The request was rejected because a specified parameter is not supported or
  2020  //   a specified resource is not valid for this operation.
  2021  //
  2022  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/ListApplicationSnapshots
  2023  func (c *KinesisAnalyticsV2) ListApplicationSnapshots(input *ListApplicationSnapshotsInput) (*ListApplicationSnapshotsOutput, error) {
  2024  	req, out := c.ListApplicationSnapshotsRequest(input)
  2025  	return out, req.Send()
  2026  }
  2027  
  2028  // ListApplicationSnapshotsWithContext is the same as ListApplicationSnapshots with the addition of
  2029  // the ability to pass a context and additional request options.
  2030  //
  2031  // See ListApplicationSnapshots for details on how to use this API operation.
  2032  //
  2033  // The context must be non-nil and will be used for request cancellation. If
  2034  // the context is nil a panic will occur. In the future the SDK may create
  2035  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2036  // for more information on using Contexts.
  2037  func (c *KinesisAnalyticsV2) ListApplicationSnapshotsWithContext(ctx aws.Context, input *ListApplicationSnapshotsInput, opts ...request.Option) (*ListApplicationSnapshotsOutput, error) {
  2038  	req, out := c.ListApplicationSnapshotsRequest(input)
  2039  	req.SetContext(ctx)
  2040  	req.ApplyOptions(opts...)
  2041  	return out, req.Send()
  2042  }
  2043  
  2044  const opListApplicationVersions = "ListApplicationVersions"
  2045  
  2046  // ListApplicationVersionsRequest generates a "aws/request.Request" representing the
  2047  // client's request for the ListApplicationVersions operation. The "output" return
  2048  // value will be populated with the request's response once the request completes
  2049  // successfully.
  2050  //
  2051  // Use "Send" method on the returned Request to send the API call to the service.
  2052  // the "output" return value is not valid until after Send returns without error.
  2053  //
  2054  // See ListApplicationVersions for more information on using the ListApplicationVersions
  2055  // API call, and error handling.
  2056  //
  2057  // This method is useful when you want to inject custom logic or configuration
  2058  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2059  //
  2060  //
  2061  //    // Example sending a request using the ListApplicationVersionsRequest method.
  2062  //    req, resp := client.ListApplicationVersionsRequest(params)
  2063  //
  2064  //    err := req.Send()
  2065  //    if err == nil { // resp is now filled
  2066  //        fmt.Println(resp)
  2067  //    }
  2068  //
  2069  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/ListApplicationVersions
  2070  func (c *KinesisAnalyticsV2) ListApplicationVersionsRequest(input *ListApplicationVersionsInput) (req *request.Request, output *ListApplicationVersionsOutput) {
  2071  	op := &request.Operation{
  2072  		Name:       opListApplicationVersions,
  2073  		HTTPMethod: "POST",
  2074  		HTTPPath:   "/",
  2075  	}
  2076  
  2077  	if input == nil {
  2078  		input = &ListApplicationVersionsInput{}
  2079  	}
  2080  
  2081  	output = &ListApplicationVersionsOutput{}
  2082  	req = c.newRequest(op, input, output)
  2083  	return
  2084  }
  2085  
  2086  // ListApplicationVersions API operation for Amazon Kinesis Analytics.
  2087  //
  2088  // Lists all the versions for the specified application, including versions
  2089  // that were rolled back. The response also includes a summary of the configuration
  2090  // associated with each version.
  2091  //
  2092  // To get the complete description of a specific application version, invoke
  2093  // the DescribeApplicationVersion operation.
  2094  //
  2095  // This operation is supported only for Amazon Kinesis Data Analytics for Apache
  2096  // Flink.
  2097  //
  2098  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2099  // with awserr.Error's Code and Message methods to get detailed information about
  2100  // the error.
  2101  //
  2102  // See the AWS API reference guide for Amazon Kinesis Analytics's
  2103  // API operation ListApplicationVersions for usage and error information.
  2104  //
  2105  // Returned Error Types:
  2106  //   * InvalidArgumentException
  2107  //   The specified input parameter value is not valid.
  2108  //
  2109  //   * ResourceNotFoundException
  2110  //   Specified application can't be found.
  2111  //
  2112  //   * UnsupportedOperationException
  2113  //   The request was rejected because a specified parameter is not supported or
  2114  //   a specified resource is not valid for this operation.
  2115  //
  2116  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/ListApplicationVersions
  2117  func (c *KinesisAnalyticsV2) ListApplicationVersions(input *ListApplicationVersionsInput) (*ListApplicationVersionsOutput, error) {
  2118  	req, out := c.ListApplicationVersionsRequest(input)
  2119  	return out, req.Send()
  2120  }
  2121  
  2122  // ListApplicationVersionsWithContext is the same as ListApplicationVersions with the addition of
  2123  // the ability to pass a context and additional request options.
  2124  //
  2125  // See ListApplicationVersions for details on how to use this API operation.
  2126  //
  2127  // The context must be non-nil and will be used for request cancellation. If
  2128  // the context is nil a panic will occur. In the future the SDK may create
  2129  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2130  // for more information on using Contexts.
  2131  func (c *KinesisAnalyticsV2) ListApplicationVersionsWithContext(ctx aws.Context, input *ListApplicationVersionsInput, opts ...request.Option) (*ListApplicationVersionsOutput, error) {
  2132  	req, out := c.ListApplicationVersionsRequest(input)
  2133  	req.SetContext(ctx)
  2134  	req.ApplyOptions(opts...)
  2135  	return out, req.Send()
  2136  }
  2137  
  2138  const opListApplications = "ListApplications"
  2139  
  2140  // ListApplicationsRequest generates a "aws/request.Request" representing the
  2141  // client's request for the ListApplications operation. The "output" return
  2142  // value will be populated with the request's response once the request completes
  2143  // successfully.
  2144  //
  2145  // Use "Send" method on the returned Request to send the API call to the service.
  2146  // the "output" return value is not valid until after Send returns without error.
  2147  //
  2148  // See ListApplications for more information on using the ListApplications
  2149  // API call, and error handling.
  2150  //
  2151  // This method is useful when you want to inject custom logic or configuration
  2152  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2153  //
  2154  //
  2155  //    // Example sending a request using the ListApplicationsRequest method.
  2156  //    req, resp := client.ListApplicationsRequest(params)
  2157  //
  2158  //    err := req.Send()
  2159  //    if err == nil { // resp is now filled
  2160  //        fmt.Println(resp)
  2161  //    }
  2162  //
  2163  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/ListApplications
  2164  func (c *KinesisAnalyticsV2) ListApplicationsRequest(input *ListApplicationsInput) (req *request.Request, output *ListApplicationsOutput) {
  2165  	op := &request.Operation{
  2166  		Name:       opListApplications,
  2167  		HTTPMethod: "POST",
  2168  		HTTPPath:   "/",
  2169  	}
  2170  
  2171  	if input == nil {
  2172  		input = &ListApplicationsInput{}
  2173  	}
  2174  
  2175  	output = &ListApplicationsOutput{}
  2176  	req = c.newRequest(op, input, output)
  2177  	return
  2178  }
  2179  
  2180  // ListApplications API operation for Amazon Kinesis Analytics.
  2181  //
  2182  // Returns a list of Kinesis Data Analytics applications in your account. For
  2183  // each application, the response includes the application name, Amazon Resource
  2184  // Name (ARN), and status.
  2185  //
  2186  // If you want detailed information about a specific application, use DescribeApplication.
  2187  //
  2188  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2189  // with awserr.Error's Code and Message methods to get detailed information about
  2190  // the error.
  2191  //
  2192  // See the AWS API reference guide for Amazon Kinesis Analytics's
  2193  // API operation ListApplications for usage and error information.
  2194  //
  2195  // Returned Error Types:
  2196  //   * InvalidRequestException
  2197  //   The request JSON is not valid for the operation.
  2198  //
  2199  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/ListApplications
  2200  func (c *KinesisAnalyticsV2) ListApplications(input *ListApplicationsInput) (*ListApplicationsOutput, error) {
  2201  	req, out := c.ListApplicationsRequest(input)
  2202  	return out, req.Send()
  2203  }
  2204  
  2205  // ListApplicationsWithContext is the same as ListApplications with the addition of
  2206  // the ability to pass a context and additional request options.
  2207  //
  2208  // See ListApplications for details on how to use this API operation.
  2209  //
  2210  // The context must be non-nil and will be used for request cancellation. If
  2211  // the context is nil a panic will occur. In the future the SDK may create
  2212  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2213  // for more information on using Contexts.
  2214  func (c *KinesisAnalyticsV2) ListApplicationsWithContext(ctx aws.Context, input *ListApplicationsInput, opts ...request.Option) (*ListApplicationsOutput, error) {
  2215  	req, out := c.ListApplicationsRequest(input)
  2216  	req.SetContext(ctx)
  2217  	req.ApplyOptions(opts...)
  2218  	return out, req.Send()
  2219  }
  2220  
  2221  const opListTagsForResource = "ListTagsForResource"
  2222  
  2223  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  2224  // client's request for the ListTagsForResource operation. The "output" return
  2225  // value will be populated with the request's response once the request completes
  2226  // successfully.
  2227  //
  2228  // Use "Send" method on the returned Request to send the API call to the service.
  2229  // the "output" return value is not valid until after Send returns without error.
  2230  //
  2231  // See ListTagsForResource for more information on using the ListTagsForResource
  2232  // API call, and error handling.
  2233  //
  2234  // This method is useful when you want to inject custom logic or configuration
  2235  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2236  //
  2237  //
  2238  //    // Example sending a request using the ListTagsForResourceRequest method.
  2239  //    req, resp := client.ListTagsForResourceRequest(params)
  2240  //
  2241  //    err := req.Send()
  2242  //    if err == nil { // resp is now filled
  2243  //        fmt.Println(resp)
  2244  //    }
  2245  //
  2246  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/ListTagsForResource
  2247  func (c *KinesisAnalyticsV2) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  2248  	op := &request.Operation{
  2249  		Name:       opListTagsForResource,
  2250  		HTTPMethod: "POST",
  2251  		HTTPPath:   "/",
  2252  	}
  2253  
  2254  	if input == nil {
  2255  		input = &ListTagsForResourceInput{}
  2256  	}
  2257  
  2258  	output = &ListTagsForResourceOutput{}
  2259  	req = c.newRequest(op, input, output)
  2260  	return
  2261  }
  2262  
  2263  // ListTagsForResource API operation for Amazon Kinesis Analytics.
  2264  //
  2265  // Retrieves the list of key-value tags assigned to the application. For more
  2266  // information, see Using Tagging (https://docs.aws.amazon.com/kinesisanalytics/latest/java/how-tagging.html).
  2267  //
  2268  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2269  // with awserr.Error's Code and Message methods to get detailed information about
  2270  // the error.
  2271  //
  2272  // See the AWS API reference guide for Amazon Kinesis Analytics's
  2273  // API operation ListTagsForResource for usage and error information.
  2274  //
  2275  // Returned Error Types:
  2276  //   * ResourceNotFoundException
  2277  //   Specified application can't be found.
  2278  //
  2279  //   * InvalidArgumentException
  2280  //   The specified input parameter value is not valid.
  2281  //
  2282  //   * ConcurrentModificationException
  2283  //   Exception thrown as a result of concurrent modifications to an application.
  2284  //   This error can be the result of attempting to modify an application without
  2285  //   using the current application ID.
  2286  //
  2287  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/ListTagsForResource
  2288  func (c *KinesisAnalyticsV2) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  2289  	req, out := c.ListTagsForResourceRequest(input)
  2290  	return out, req.Send()
  2291  }
  2292  
  2293  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  2294  // the ability to pass a context and additional request options.
  2295  //
  2296  // See ListTagsForResource for details on how to use this API operation.
  2297  //
  2298  // The context must be non-nil and will be used for request cancellation. If
  2299  // the context is nil a panic will occur. In the future the SDK may create
  2300  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2301  // for more information on using Contexts.
  2302  func (c *KinesisAnalyticsV2) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  2303  	req, out := c.ListTagsForResourceRequest(input)
  2304  	req.SetContext(ctx)
  2305  	req.ApplyOptions(opts...)
  2306  	return out, req.Send()
  2307  }
  2308  
  2309  const opRollbackApplication = "RollbackApplication"
  2310  
  2311  // RollbackApplicationRequest generates a "aws/request.Request" representing the
  2312  // client's request for the RollbackApplication operation. The "output" return
  2313  // value will be populated with the request's response once the request completes
  2314  // successfully.
  2315  //
  2316  // Use "Send" method on the returned Request to send the API call to the service.
  2317  // the "output" return value is not valid until after Send returns without error.
  2318  //
  2319  // See RollbackApplication for more information on using the RollbackApplication
  2320  // API call, and error handling.
  2321  //
  2322  // This method is useful when you want to inject custom logic or configuration
  2323  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2324  //
  2325  //
  2326  //    // Example sending a request using the RollbackApplicationRequest method.
  2327  //    req, resp := client.RollbackApplicationRequest(params)
  2328  //
  2329  //    err := req.Send()
  2330  //    if err == nil { // resp is now filled
  2331  //        fmt.Println(resp)
  2332  //    }
  2333  //
  2334  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/RollbackApplication
  2335  func (c *KinesisAnalyticsV2) RollbackApplicationRequest(input *RollbackApplicationInput) (req *request.Request, output *RollbackApplicationOutput) {
  2336  	op := &request.Operation{
  2337  		Name:       opRollbackApplication,
  2338  		HTTPMethod: "POST",
  2339  		HTTPPath:   "/",
  2340  	}
  2341  
  2342  	if input == nil {
  2343  		input = &RollbackApplicationInput{}
  2344  	}
  2345  
  2346  	output = &RollbackApplicationOutput{}
  2347  	req = c.newRequest(op, input, output)
  2348  	return
  2349  }
  2350  
  2351  // RollbackApplication API operation for Amazon Kinesis Analytics.
  2352  //
  2353  // Reverts the application to the previous running version. You can roll back
  2354  // an application if you suspect it is stuck in a transient status.
  2355  //
  2356  // You can roll back an application only if it is in the UPDATING or AUTOSCALING
  2357  // status.
  2358  //
  2359  // When you rollback an application, it loads state data from the last successful
  2360  // snapshot. If the application has no snapshots, Kinesis Data Analytics rejects
  2361  // the rollback request.
  2362  //
  2363  // This action is not supported for Kinesis Data Analytics for SQL applications.
  2364  //
  2365  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2366  // with awserr.Error's Code and Message methods to get detailed information about
  2367  // the error.
  2368  //
  2369  // See the AWS API reference guide for Amazon Kinesis Analytics's
  2370  // API operation RollbackApplication for usage and error information.
  2371  //
  2372  // Returned Error Types:
  2373  //   * ResourceNotFoundException
  2374  //   Specified application can't be found.
  2375  //
  2376  //   * InvalidArgumentException
  2377  //   The specified input parameter value is not valid.
  2378  //
  2379  //   * ResourceInUseException
  2380  //   The application is not available for this operation.
  2381  //
  2382  //   * InvalidRequestException
  2383  //   The request JSON is not valid for the operation.
  2384  //
  2385  //   * ConcurrentModificationException
  2386  //   Exception thrown as a result of concurrent modifications to an application.
  2387  //   This error can be the result of attempting to modify an application without
  2388  //   using the current application ID.
  2389  //
  2390  //   * UnsupportedOperationException
  2391  //   The request was rejected because a specified parameter is not supported or
  2392  //   a specified resource is not valid for this operation.
  2393  //
  2394  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/RollbackApplication
  2395  func (c *KinesisAnalyticsV2) RollbackApplication(input *RollbackApplicationInput) (*RollbackApplicationOutput, error) {
  2396  	req, out := c.RollbackApplicationRequest(input)
  2397  	return out, req.Send()
  2398  }
  2399  
  2400  // RollbackApplicationWithContext is the same as RollbackApplication with the addition of
  2401  // the ability to pass a context and additional request options.
  2402  //
  2403  // See RollbackApplication for details on how to use this API operation.
  2404  //
  2405  // The context must be non-nil and will be used for request cancellation. If
  2406  // the context is nil a panic will occur. In the future the SDK may create
  2407  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2408  // for more information on using Contexts.
  2409  func (c *KinesisAnalyticsV2) RollbackApplicationWithContext(ctx aws.Context, input *RollbackApplicationInput, opts ...request.Option) (*RollbackApplicationOutput, error) {
  2410  	req, out := c.RollbackApplicationRequest(input)
  2411  	req.SetContext(ctx)
  2412  	req.ApplyOptions(opts...)
  2413  	return out, req.Send()
  2414  }
  2415  
  2416  const opStartApplication = "StartApplication"
  2417  
  2418  // StartApplicationRequest generates a "aws/request.Request" representing the
  2419  // client's request for the StartApplication operation. The "output" return
  2420  // value will be populated with the request's response once the request completes
  2421  // successfully.
  2422  //
  2423  // Use "Send" method on the returned Request to send the API call to the service.
  2424  // the "output" return value is not valid until after Send returns without error.
  2425  //
  2426  // See StartApplication for more information on using the StartApplication
  2427  // API call, and error handling.
  2428  //
  2429  // This method is useful when you want to inject custom logic or configuration
  2430  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2431  //
  2432  //
  2433  //    // Example sending a request using the StartApplicationRequest method.
  2434  //    req, resp := client.StartApplicationRequest(params)
  2435  //
  2436  //    err := req.Send()
  2437  //    if err == nil { // resp is now filled
  2438  //        fmt.Println(resp)
  2439  //    }
  2440  //
  2441  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/StartApplication
  2442  func (c *KinesisAnalyticsV2) StartApplicationRequest(input *StartApplicationInput) (req *request.Request, output *StartApplicationOutput) {
  2443  	op := &request.Operation{
  2444  		Name:       opStartApplication,
  2445  		HTTPMethod: "POST",
  2446  		HTTPPath:   "/",
  2447  	}
  2448  
  2449  	if input == nil {
  2450  		input = &StartApplicationInput{}
  2451  	}
  2452  
  2453  	output = &StartApplicationOutput{}
  2454  	req = c.newRequest(op, input, output)
  2455  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2456  	return
  2457  }
  2458  
  2459  // StartApplication API operation for Amazon Kinesis Analytics.
  2460  //
  2461  // Starts the specified Kinesis Data Analytics application. After creating an
  2462  // application, you must exclusively call this operation to start your application.
  2463  //
  2464  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2465  // with awserr.Error's Code and Message methods to get detailed information about
  2466  // the error.
  2467  //
  2468  // See the AWS API reference guide for Amazon Kinesis Analytics's
  2469  // API operation StartApplication for usage and error information.
  2470  //
  2471  // Returned Error Types:
  2472  //   * ResourceNotFoundException
  2473  //   Specified application can't be found.
  2474  //
  2475  //   * ResourceInUseException
  2476  //   The application is not available for this operation.
  2477  //
  2478  //   * InvalidArgumentException
  2479  //   The specified input parameter value is not valid.
  2480  //
  2481  //   * InvalidApplicationConfigurationException
  2482  //   The user-provided application configuration is not valid.
  2483  //
  2484  //   * InvalidRequestException
  2485  //   The request JSON is not valid for the operation.
  2486  //
  2487  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/StartApplication
  2488  func (c *KinesisAnalyticsV2) StartApplication(input *StartApplicationInput) (*StartApplicationOutput, error) {
  2489  	req, out := c.StartApplicationRequest(input)
  2490  	return out, req.Send()
  2491  }
  2492  
  2493  // StartApplicationWithContext is the same as StartApplication with the addition of
  2494  // the ability to pass a context and additional request options.
  2495  //
  2496  // See StartApplication for details on how to use this API operation.
  2497  //
  2498  // The context must be non-nil and will be used for request cancellation. If
  2499  // the context is nil a panic will occur. In the future the SDK may create
  2500  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2501  // for more information on using Contexts.
  2502  func (c *KinesisAnalyticsV2) StartApplicationWithContext(ctx aws.Context, input *StartApplicationInput, opts ...request.Option) (*StartApplicationOutput, error) {
  2503  	req, out := c.StartApplicationRequest(input)
  2504  	req.SetContext(ctx)
  2505  	req.ApplyOptions(opts...)
  2506  	return out, req.Send()
  2507  }
  2508  
  2509  const opStopApplication = "StopApplication"
  2510  
  2511  // StopApplicationRequest generates a "aws/request.Request" representing the
  2512  // client's request for the StopApplication operation. The "output" return
  2513  // value will be populated with the request's response once the request completes
  2514  // successfully.
  2515  //
  2516  // Use "Send" method on the returned Request to send the API call to the service.
  2517  // the "output" return value is not valid until after Send returns without error.
  2518  //
  2519  // See StopApplication for more information on using the StopApplication
  2520  // API call, and error handling.
  2521  //
  2522  // This method is useful when you want to inject custom logic or configuration
  2523  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2524  //
  2525  //
  2526  //    // Example sending a request using the StopApplicationRequest method.
  2527  //    req, resp := client.StopApplicationRequest(params)
  2528  //
  2529  //    err := req.Send()
  2530  //    if err == nil { // resp is now filled
  2531  //        fmt.Println(resp)
  2532  //    }
  2533  //
  2534  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/StopApplication
  2535  func (c *KinesisAnalyticsV2) StopApplicationRequest(input *StopApplicationInput) (req *request.Request, output *StopApplicationOutput) {
  2536  	op := &request.Operation{
  2537  		Name:       opStopApplication,
  2538  		HTTPMethod: "POST",
  2539  		HTTPPath:   "/",
  2540  	}
  2541  
  2542  	if input == nil {
  2543  		input = &StopApplicationInput{}
  2544  	}
  2545  
  2546  	output = &StopApplicationOutput{}
  2547  	req = c.newRequest(op, input, output)
  2548  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2549  	return
  2550  }
  2551  
  2552  // StopApplication API operation for Amazon Kinesis Analytics.
  2553  //
  2554  // Stops the application from processing data. You can stop an application only
  2555  // if it is in the running status, unless you set the Force parameter to true.
  2556  //
  2557  // You can use the DescribeApplication operation to find the application status.
  2558  //
  2559  // Kinesis Data Analytics takes a snapshot when the application is stopped,
  2560  // unless Force is set to true.
  2561  //
  2562  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2563  // with awserr.Error's Code and Message methods to get detailed information about
  2564  // the error.
  2565  //
  2566  // See the AWS API reference guide for Amazon Kinesis Analytics's
  2567  // API operation StopApplication for usage and error information.
  2568  //
  2569  // Returned Error Types:
  2570  //   * ResourceNotFoundException
  2571  //   Specified application can't be found.
  2572  //
  2573  //   * ResourceInUseException
  2574  //   The application is not available for this operation.
  2575  //
  2576  //   * InvalidArgumentException
  2577  //   The specified input parameter value is not valid.
  2578  //
  2579  //   * InvalidRequestException
  2580  //   The request JSON is not valid for the operation.
  2581  //
  2582  //   * InvalidApplicationConfigurationException
  2583  //   The user-provided application configuration is not valid.
  2584  //
  2585  //   * ConcurrentModificationException
  2586  //   Exception thrown as a result of concurrent modifications to an application.
  2587  //   This error can be the result of attempting to modify an application without
  2588  //   using the current application ID.
  2589  //
  2590  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/StopApplication
  2591  func (c *KinesisAnalyticsV2) StopApplication(input *StopApplicationInput) (*StopApplicationOutput, error) {
  2592  	req, out := c.StopApplicationRequest(input)
  2593  	return out, req.Send()
  2594  }
  2595  
  2596  // StopApplicationWithContext is the same as StopApplication with the addition of
  2597  // the ability to pass a context and additional request options.
  2598  //
  2599  // See StopApplication for details on how to use this API operation.
  2600  //
  2601  // The context must be non-nil and will be used for request cancellation. If
  2602  // the context is nil a panic will occur. In the future the SDK may create
  2603  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2604  // for more information on using Contexts.
  2605  func (c *KinesisAnalyticsV2) StopApplicationWithContext(ctx aws.Context, input *StopApplicationInput, opts ...request.Option) (*StopApplicationOutput, error) {
  2606  	req, out := c.StopApplicationRequest(input)
  2607  	req.SetContext(ctx)
  2608  	req.ApplyOptions(opts...)
  2609  	return out, req.Send()
  2610  }
  2611  
  2612  const opTagResource = "TagResource"
  2613  
  2614  // TagResourceRequest generates a "aws/request.Request" representing the
  2615  // client's request for the TagResource operation. The "output" return
  2616  // value will be populated with the request's response once the request completes
  2617  // successfully.
  2618  //
  2619  // Use "Send" method on the returned Request to send the API call to the service.
  2620  // the "output" return value is not valid until after Send returns without error.
  2621  //
  2622  // See TagResource for more information on using the TagResource
  2623  // API call, and error handling.
  2624  //
  2625  // This method is useful when you want to inject custom logic or configuration
  2626  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2627  //
  2628  //
  2629  //    // Example sending a request using the TagResourceRequest method.
  2630  //    req, resp := client.TagResourceRequest(params)
  2631  //
  2632  //    err := req.Send()
  2633  //    if err == nil { // resp is now filled
  2634  //        fmt.Println(resp)
  2635  //    }
  2636  //
  2637  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/TagResource
  2638  func (c *KinesisAnalyticsV2) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  2639  	op := &request.Operation{
  2640  		Name:       opTagResource,
  2641  		HTTPMethod: "POST",
  2642  		HTTPPath:   "/",
  2643  	}
  2644  
  2645  	if input == nil {
  2646  		input = &TagResourceInput{}
  2647  	}
  2648  
  2649  	output = &TagResourceOutput{}
  2650  	req = c.newRequest(op, input, output)
  2651  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2652  	return
  2653  }
  2654  
  2655  // TagResource API operation for Amazon Kinesis Analytics.
  2656  //
  2657  // Adds one or more key-value tags to a Kinesis Data Analytics application.
  2658  // Note that the maximum number of application tags includes system tags. The
  2659  // maximum number of user-defined application tags is 50. For more information,
  2660  // see Using Tagging (https://docs.aws.amazon.com/kinesisanalytics/latest/java/how-tagging.html).
  2661  //
  2662  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2663  // with awserr.Error's Code and Message methods to get detailed information about
  2664  // the error.
  2665  //
  2666  // See the AWS API reference guide for Amazon Kinesis Analytics's
  2667  // API operation TagResource for usage and error information.
  2668  //
  2669  // Returned Error Types:
  2670  //   * ResourceNotFoundException
  2671  //   Specified application can't be found.
  2672  //
  2673  //   * ResourceInUseException
  2674  //   The application is not available for this operation.
  2675  //
  2676  //   * TooManyTagsException
  2677  //   Application created with too many tags, or too many tags added to an application.
  2678  //   Note that the maximum number of application tags includes system tags. The
  2679  //   maximum number of user-defined application tags is 50.
  2680  //
  2681  //   * InvalidArgumentException
  2682  //   The specified input parameter value is not valid.
  2683  //
  2684  //   * ConcurrentModificationException
  2685  //   Exception thrown as a result of concurrent modifications to an application.
  2686  //   This error can be the result of attempting to modify an application without
  2687  //   using the current application ID.
  2688  //
  2689  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/TagResource
  2690  func (c *KinesisAnalyticsV2) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  2691  	req, out := c.TagResourceRequest(input)
  2692  	return out, req.Send()
  2693  }
  2694  
  2695  // TagResourceWithContext is the same as TagResource with the addition of
  2696  // the ability to pass a context and additional request options.
  2697  //
  2698  // See TagResource for details on how to use this API operation.
  2699  //
  2700  // The context must be non-nil and will be used for request cancellation. If
  2701  // the context is nil a panic will occur. In the future the SDK may create
  2702  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2703  // for more information on using Contexts.
  2704  func (c *KinesisAnalyticsV2) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  2705  	req, out := c.TagResourceRequest(input)
  2706  	req.SetContext(ctx)
  2707  	req.ApplyOptions(opts...)
  2708  	return out, req.Send()
  2709  }
  2710  
  2711  const opUntagResource = "UntagResource"
  2712  
  2713  // UntagResourceRequest generates a "aws/request.Request" representing the
  2714  // client's request for the UntagResource operation. The "output" return
  2715  // value will be populated with the request's response once the request completes
  2716  // successfully.
  2717  //
  2718  // Use "Send" method on the returned Request to send the API call to the service.
  2719  // the "output" return value is not valid until after Send returns without error.
  2720  //
  2721  // See UntagResource for more information on using the UntagResource
  2722  // API call, and error handling.
  2723  //
  2724  // This method is useful when you want to inject custom logic or configuration
  2725  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2726  //
  2727  //
  2728  //    // Example sending a request using the UntagResourceRequest method.
  2729  //    req, resp := client.UntagResourceRequest(params)
  2730  //
  2731  //    err := req.Send()
  2732  //    if err == nil { // resp is now filled
  2733  //        fmt.Println(resp)
  2734  //    }
  2735  //
  2736  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/UntagResource
  2737  func (c *KinesisAnalyticsV2) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  2738  	op := &request.Operation{
  2739  		Name:       opUntagResource,
  2740  		HTTPMethod: "POST",
  2741  		HTTPPath:   "/",
  2742  	}
  2743  
  2744  	if input == nil {
  2745  		input = &UntagResourceInput{}
  2746  	}
  2747  
  2748  	output = &UntagResourceOutput{}
  2749  	req = c.newRequest(op, input, output)
  2750  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2751  	return
  2752  }
  2753  
  2754  // UntagResource API operation for Amazon Kinesis Analytics.
  2755  //
  2756  // Removes one or more tags from a Kinesis Data Analytics application. For more
  2757  // information, see Using Tagging (https://docs.aws.amazon.com/kinesisanalytics/latest/java/how-tagging.html).
  2758  //
  2759  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2760  // with awserr.Error's Code and Message methods to get detailed information about
  2761  // the error.
  2762  //
  2763  // See the AWS API reference guide for Amazon Kinesis Analytics's
  2764  // API operation UntagResource for usage and error information.
  2765  //
  2766  // Returned Error Types:
  2767  //   * ResourceNotFoundException
  2768  //   Specified application can't be found.
  2769  //
  2770  //   * ResourceInUseException
  2771  //   The application is not available for this operation.
  2772  //
  2773  //   * TooManyTagsException
  2774  //   Application created with too many tags, or too many tags added to an application.
  2775  //   Note that the maximum number of application tags includes system tags. The
  2776  //   maximum number of user-defined application tags is 50.
  2777  //
  2778  //   * InvalidArgumentException
  2779  //   The specified input parameter value is not valid.
  2780  //
  2781  //   * ConcurrentModificationException
  2782  //   Exception thrown as a result of concurrent modifications to an application.
  2783  //   This error can be the result of attempting to modify an application without
  2784  //   using the current application ID.
  2785  //
  2786  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/UntagResource
  2787  func (c *KinesisAnalyticsV2) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  2788  	req, out := c.UntagResourceRequest(input)
  2789  	return out, req.Send()
  2790  }
  2791  
  2792  // UntagResourceWithContext is the same as UntagResource with the addition of
  2793  // the ability to pass a context and additional request options.
  2794  //
  2795  // See UntagResource for details on how to use this API operation.
  2796  //
  2797  // The context must be non-nil and will be used for request cancellation. If
  2798  // the context is nil a panic will occur. In the future the SDK may create
  2799  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2800  // for more information on using Contexts.
  2801  func (c *KinesisAnalyticsV2) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  2802  	req, out := c.UntagResourceRequest(input)
  2803  	req.SetContext(ctx)
  2804  	req.ApplyOptions(opts...)
  2805  	return out, req.Send()
  2806  }
  2807  
  2808  const opUpdateApplication = "UpdateApplication"
  2809  
  2810  // UpdateApplicationRequest generates a "aws/request.Request" representing the
  2811  // client's request for the UpdateApplication operation. The "output" return
  2812  // value will be populated with the request's response once the request completes
  2813  // successfully.
  2814  //
  2815  // Use "Send" method on the returned Request to send the API call to the service.
  2816  // the "output" return value is not valid until after Send returns without error.
  2817  //
  2818  // See UpdateApplication for more information on using the UpdateApplication
  2819  // API call, and error handling.
  2820  //
  2821  // This method is useful when you want to inject custom logic or configuration
  2822  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2823  //
  2824  //
  2825  //    // Example sending a request using the UpdateApplicationRequest method.
  2826  //    req, resp := client.UpdateApplicationRequest(params)
  2827  //
  2828  //    err := req.Send()
  2829  //    if err == nil { // resp is now filled
  2830  //        fmt.Println(resp)
  2831  //    }
  2832  //
  2833  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/UpdateApplication
  2834  func (c *KinesisAnalyticsV2) UpdateApplicationRequest(input *UpdateApplicationInput) (req *request.Request, output *UpdateApplicationOutput) {
  2835  	op := &request.Operation{
  2836  		Name:       opUpdateApplication,
  2837  		HTTPMethod: "POST",
  2838  		HTTPPath:   "/",
  2839  	}
  2840  
  2841  	if input == nil {
  2842  		input = &UpdateApplicationInput{}
  2843  	}
  2844  
  2845  	output = &UpdateApplicationOutput{}
  2846  	req = c.newRequest(op, input, output)
  2847  	return
  2848  }
  2849  
  2850  // UpdateApplication API operation for Amazon Kinesis Analytics.
  2851  //
  2852  // Updates an existing Kinesis Data Analytics application. Using this operation,
  2853  // you can update application code, input configuration, and output configuration.
  2854  //
  2855  // Kinesis Data Analytics updates the ApplicationVersionId each time you update
  2856  // your application.
  2857  //
  2858  // You cannot update the RuntimeEnvironment of an existing application. If you
  2859  // need to update an application's RuntimeEnvironment, you must delete the application
  2860  // and create it again.
  2861  //
  2862  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2863  // with awserr.Error's Code and Message methods to get detailed information about
  2864  // the error.
  2865  //
  2866  // See the AWS API reference guide for Amazon Kinesis Analytics's
  2867  // API operation UpdateApplication for usage and error information.
  2868  //
  2869  // Returned Error Types:
  2870  //   * CodeValidationException
  2871  //   The user-provided application code (query) is not valid. This can be a simple
  2872  //   syntax error.
  2873  //
  2874  //   * ResourceNotFoundException
  2875  //   Specified application can't be found.
  2876  //
  2877  //   * ResourceInUseException
  2878  //   The application is not available for this operation.
  2879  //
  2880  //   * InvalidArgumentException
  2881  //   The specified input parameter value is not valid.
  2882  //
  2883  //   * ConcurrentModificationException
  2884  //   Exception thrown as a result of concurrent modifications to an application.
  2885  //   This error can be the result of attempting to modify an application without
  2886  //   using the current application ID.
  2887  //
  2888  //   * InvalidRequestException
  2889  //   The request JSON is not valid for the operation.
  2890  //
  2891  //   * InvalidApplicationConfigurationException
  2892  //   The user-provided application configuration is not valid.
  2893  //
  2894  //   * LimitExceededException
  2895  //   The number of allowed resources has been exceeded.
  2896  //
  2897  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/UpdateApplication
  2898  func (c *KinesisAnalyticsV2) UpdateApplication(input *UpdateApplicationInput) (*UpdateApplicationOutput, error) {
  2899  	req, out := c.UpdateApplicationRequest(input)
  2900  	return out, req.Send()
  2901  }
  2902  
  2903  // UpdateApplicationWithContext is the same as UpdateApplication with the addition of
  2904  // the ability to pass a context and additional request options.
  2905  //
  2906  // See UpdateApplication for details on how to use this API operation.
  2907  //
  2908  // The context must be non-nil and will be used for request cancellation. If
  2909  // the context is nil a panic will occur. In the future the SDK may create
  2910  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2911  // for more information on using Contexts.
  2912  func (c *KinesisAnalyticsV2) UpdateApplicationWithContext(ctx aws.Context, input *UpdateApplicationInput, opts ...request.Option) (*UpdateApplicationOutput, error) {
  2913  	req, out := c.UpdateApplicationRequest(input)
  2914  	req.SetContext(ctx)
  2915  	req.ApplyOptions(opts...)
  2916  	return out, req.Send()
  2917  }
  2918  
  2919  const opUpdateApplicationMaintenanceConfiguration = "UpdateApplicationMaintenanceConfiguration"
  2920  
  2921  // UpdateApplicationMaintenanceConfigurationRequest generates a "aws/request.Request" representing the
  2922  // client's request for the UpdateApplicationMaintenanceConfiguration operation. The "output" return
  2923  // value will be populated with the request's response once the request completes
  2924  // successfully.
  2925  //
  2926  // Use "Send" method on the returned Request to send the API call to the service.
  2927  // the "output" return value is not valid until after Send returns without error.
  2928  //
  2929  // See UpdateApplicationMaintenanceConfiguration for more information on using the UpdateApplicationMaintenanceConfiguration
  2930  // API call, and error handling.
  2931  //
  2932  // This method is useful when you want to inject custom logic or configuration
  2933  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2934  //
  2935  //
  2936  //    // Example sending a request using the UpdateApplicationMaintenanceConfigurationRequest method.
  2937  //    req, resp := client.UpdateApplicationMaintenanceConfigurationRequest(params)
  2938  //
  2939  //    err := req.Send()
  2940  //    if err == nil { // resp is now filled
  2941  //        fmt.Println(resp)
  2942  //    }
  2943  //
  2944  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/UpdateApplicationMaintenanceConfiguration
  2945  func (c *KinesisAnalyticsV2) UpdateApplicationMaintenanceConfigurationRequest(input *UpdateApplicationMaintenanceConfigurationInput) (req *request.Request, output *UpdateApplicationMaintenanceConfigurationOutput) {
  2946  	op := &request.Operation{
  2947  		Name:       opUpdateApplicationMaintenanceConfiguration,
  2948  		HTTPMethod: "POST",
  2949  		HTTPPath:   "/",
  2950  	}
  2951  
  2952  	if input == nil {
  2953  		input = &UpdateApplicationMaintenanceConfigurationInput{}
  2954  	}
  2955  
  2956  	output = &UpdateApplicationMaintenanceConfigurationOutput{}
  2957  	req = c.newRequest(op, input, output)
  2958  	return
  2959  }
  2960  
  2961  // UpdateApplicationMaintenanceConfiguration API operation for Amazon Kinesis Analytics.
  2962  //
  2963  // Updates the maintenance configuration of the Kinesis Data Analytics application.
  2964  //
  2965  // You can invoke this operation on an application that is in one of the two
  2966  // following states: READY or RUNNING. If you invoke it when the application
  2967  // is in a state other than these two states, it throws a ResourceInUseException.
  2968  // The service makes use of the updated configuration the next time it schedules
  2969  // maintenance for the application. If you invoke this operation after the service
  2970  // schedules maintenance, the service will apply the configuration update the
  2971  // next time it schedules maintenance for the application. This means that you
  2972  // might not see the maintenance configuration update applied to the maintenance
  2973  // process that follows a successful invocation of this operation, but to the
  2974  // following maintenance process instead.
  2975  //
  2976  // To see the current maintenance configuration of your application, invoke
  2977  // the DescribeApplication operation.
  2978  //
  2979  // For information about application maintenance, see Kinesis Data Analytics
  2980  // for Apache Flink Maintenance (https://docs.aws.amazon.com/kinesisanalytics/latest/java/maintenance.html).
  2981  //
  2982  // This operation is supported only for Amazon Kinesis Data Analytics for Apache
  2983  // Flink.
  2984  //
  2985  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2986  // with awserr.Error's Code and Message methods to get detailed information about
  2987  // the error.
  2988  //
  2989  // See the AWS API reference guide for Amazon Kinesis Analytics's
  2990  // API operation UpdateApplicationMaintenanceConfiguration for usage and error information.
  2991  //
  2992  // Returned Error Types:
  2993  //   * ResourceNotFoundException
  2994  //   Specified application can't be found.
  2995  //
  2996  //   * ResourceInUseException
  2997  //   The application is not available for this operation.
  2998  //
  2999  //   * InvalidArgumentException
  3000  //   The specified input parameter value is not valid.
  3001  //
  3002  //   * ConcurrentModificationException
  3003  //   Exception thrown as a result of concurrent modifications to an application.
  3004  //   This error can be the result of attempting to modify an application without
  3005  //   using the current application ID.
  3006  //
  3007  //   * UnsupportedOperationException
  3008  //   The request was rejected because a specified parameter is not supported or
  3009  //   a specified resource is not valid for this operation.
  3010  //
  3011  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/UpdateApplicationMaintenanceConfiguration
  3012  func (c *KinesisAnalyticsV2) UpdateApplicationMaintenanceConfiguration(input *UpdateApplicationMaintenanceConfigurationInput) (*UpdateApplicationMaintenanceConfigurationOutput, error) {
  3013  	req, out := c.UpdateApplicationMaintenanceConfigurationRequest(input)
  3014  	return out, req.Send()
  3015  }
  3016  
  3017  // UpdateApplicationMaintenanceConfigurationWithContext is the same as UpdateApplicationMaintenanceConfiguration with the addition of
  3018  // the ability to pass a context and additional request options.
  3019  //
  3020  // See UpdateApplicationMaintenanceConfiguration for details on how to use this API operation.
  3021  //
  3022  // The context must be non-nil and will be used for request cancellation. If
  3023  // the context is nil a panic will occur. In the future the SDK may create
  3024  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3025  // for more information on using Contexts.
  3026  func (c *KinesisAnalyticsV2) UpdateApplicationMaintenanceConfigurationWithContext(ctx aws.Context, input *UpdateApplicationMaintenanceConfigurationInput, opts ...request.Option) (*UpdateApplicationMaintenanceConfigurationOutput, error) {
  3027  	req, out := c.UpdateApplicationMaintenanceConfigurationRequest(input)
  3028  	req.SetContext(ctx)
  3029  	req.ApplyOptions(opts...)
  3030  	return out, req.Send()
  3031  }
  3032  
  3033  type AddApplicationCloudWatchLoggingOptionInput struct {
  3034  	_ struct{} `type:"structure"`
  3035  
  3036  	// The Kinesis Data Analytics application name.
  3037  	//
  3038  	// ApplicationName is a required field
  3039  	ApplicationName *string `min:"1" type:"string" required:"true"`
  3040  
  3041  	// Provides the Amazon CloudWatch log stream Amazon Resource Name (ARN).
  3042  	//
  3043  	// CloudWatchLoggingOption is a required field
  3044  	CloudWatchLoggingOption *CloudWatchLoggingOption `type:"structure" required:"true"`
  3045  
  3046  	// A value you use to implement strong concurrency for application updates.
  3047  	// You must provide the CurrentApplicationVersionId or the ConditionalToken.
  3048  	// You get the application's current ConditionalToken using DescribeApplication.
  3049  	// For better concurrency support, use the ConditionalToken parameter instead
  3050  	// of CurrentApplicationVersionId.
  3051  	ConditionalToken *string `min:"1" type:"string"`
  3052  
  3053  	// The version ID of the Kinesis Data Analytics application. You must provide
  3054  	// the CurrentApplicationVersionId or the ConditionalToken.You can retrieve
  3055  	// the application version ID using DescribeApplication. For better concurrency
  3056  	// support, use the ConditionalToken parameter instead of CurrentApplicationVersionId.
  3057  	CurrentApplicationVersionId *int64 `min:"1" type:"long"`
  3058  }
  3059  
  3060  // String returns the string representation.
  3061  //
  3062  // API parameter values that are decorated as "sensitive" in the API will not
  3063  // be included in the string output. The member name will be present, but the
  3064  // value will be replaced with "sensitive".
  3065  func (s AddApplicationCloudWatchLoggingOptionInput) String() string {
  3066  	return awsutil.Prettify(s)
  3067  }
  3068  
  3069  // GoString returns the string representation.
  3070  //
  3071  // API parameter values that are decorated as "sensitive" in the API will not
  3072  // be included in the string output. The member name will be present, but the
  3073  // value will be replaced with "sensitive".
  3074  func (s AddApplicationCloudWatchLoggingOptionInput) GoString() string {
  3075  	return s.String()
  3076  }
  3077  
  3078  // Validate inspects the fields of the type to determine if they are valid.
  3079  func (s *AddApplicationCloudWatchLoggingOptionInput) Validate() error {
  3080  	invalidParams := request.ErrInvalidParams{Context: "AddApplicationCloudWatchLoggingOptionInput"}
  3081  	if s.ApplicationName == nil {
  3082  		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
  3083  	}
  3084  	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
  3085  		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
  3086  	}
  3087  	if s.CloudWatchLoggingOption == nil {
  3088  		invalidParams.Add(request.NewErrParamRequired("CloudWatchLoggingOption"))
  3089  	}
  3090  	if s.ConditionalToken != nil && len(*s.ConditionalToken) < 1 {
  3091  		invalidParams.Add(request.NewErrParamMinLen("ConditionalToken", 1))
  3092  	}
  3093  	if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 {
  3094  		invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1))
  3095  	}
  3096  	if s.CloudWatchLoggingOption != nil {
  3097  		if err := s.CloudWatchLoggingOption.Validate(); err != nil {
  3098  			invalidParams.AddNested("CloudWatchLoggingOption", err.(request.ErrInvalidParams))
  3099  		}
  3100  	}
  3101  
  3102  	if invalidParams.Len() > 0 {
  3103  		return invalidParams
  3104  	}
  3105  	return nil
  3106  }
  3107  
  3108  // SetApplicationName sets the ApplicationName field's value.
  3109  func (s *AddApplicationCloudWatchLoggingOptionInput) SetApplicationName(v string) *AddApplicationCloudWatchLoggingOptionInput {
  3110  	s.ApplicationName = &v
  3111  	return s
  3112  }
  3113  
  3114  // SetCloudWatchLoggingOption sets the CloudWatchLoggingOption field's value.
  3115  func (s *AddApplicationCloudWatchLoggingOptionInput) SetCloudWatchLoggingOption(v *CloudWatchLoggingOption) *AddApplicationCloudWatchLoggingOptionInput {
  3116  	s.CloudWatchLoggingOption = v
  3117  	return s
  3118  }
  3119  
  3120  // SetConditionalToken sets the ConditionalToken field's value.
  3121  func (s *AddApplicationCloudWatchLoggingOptionInput) SetConditionalToken(v string) *AddApplicationCloudWatchLoggingOptionInput {
  3122  	s.ConditionalToken = &v
  3123  	return s
  3124  }
  3125  
  3126  // SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value.
  3127  func (s *AddApplicationCloudWatchLoggingOptionInput) SetCurrentApplicationVersionId(v int64) *AddApplicationCloudWatchLoggingOptionInput {
  3128  	s.CurrentApplicationVersionId = &v
  3129  	return s
  3130  }
  3131  
  3132  type AddApplicationCloudWatchLoggingOptionOutput struct {
  3133  	_ struct{} `type:"structure"`
  3134  
  3135  	// The application's ARN.
  3136  	ApplicationARN *string `min:"1" type:"string"`
  3137  
  3138  	// The new version ID of the Kinesis Data Analytics application. Kinesis Data
  3139  	// Analytics updates the ApplicationVersionId each time you change the CloudWatch
  3140  	// logging options.
  3141  	ApplicationVersionId *int64 `min:"1" type:"long"`
  3142  
  3143  	// The descriptions of the current CloudWatch logging options for the Kinesis
  3144  	// Data Analytics application.
  3145  	CloudWatchLoggingOptionDescriptions []*CloudWatchLoggingOptionDescription `type:"list"`
  3146  }
  3147  
  3148  // String returns the string representation.
  3149  //
  3150  // API parameter values that are decorated as "sensitive" in the API will not
  3151  // be included in the string output. The member name will be present, but the
  3152  // value will be replaced with "sensitive".
  3153  func (s AddApplicationCloudWatchLoggingOptionOutput) String() string {
  3154  	return awsutil.Prettify(s)
  3155  }
  3156  
  3157  // GoString returns the string representation.
  3158  //
  3159  // API parameter values that are decorated as "sensitive" in the API will not
  3160  // be included in the string output. The member name will be present, but the
  3161  // value will be replaced with "sensitive".
  3162  func (s AddApplicationCloudWatchLoggingOptionOutput) GoString() string {
  3163  	return s.String()
  3164  }
  3165  
  3166  // SetApplicationARN sets the ApplicationARN field's value.
  3167  func (s *AddApplicationCloudWatchLoggingOptionOutput) SetApplicationARN(v string) *AddApplicationCloudWatchLoggingOptionOutput {
  3168  	s.ApplicationARN = &v
  3169  	return s
  3170  }
  3171  
  3172  // SetApplicationVersionId sets the ApplicationVersionId field's value.
  3173  func (s *AddApplicationCloudWatchLoggingOptionOutput) SetApplicationVersionId(v int64) *AddApplicationCloudWatchLoggingOptionOutput {
  3174  	s.ApplicationVersionId = &v
  3175  	return s
  3176  }
  3177  
  3178  // SetCloudWatchLoggingOptionDescriptions sets the CloudWatchLoggingOptionDescriptions field's value.
  3179  func (s *AddApplicationCloudWatchLoggingOptionOutput) SetCloudWatchLoggingOptionDescriptions(v []*CloudWatchLoggingOptionDescription) *AddApplicationCloudWatchLoggingOptionOutput {
  3180  	s.CloudWatchLoggingOptionDescriptions = v
  3181  	return s
  3182  }
  3183  
  3184  type AddApplicationInputInput struct {
  3185  	_ struct{} `type:"structure"`
  3186  
  3187  	// The name of your existing application to which you want to add the streaming
  3188  	// source.
  3189  	//
  3190  	// ApplicationName is a required field
  3191  	ApplicationName *string `min:"1" type:"string" required:"true"`
  3192  
  3193  	// The current version of your application. You must provide the ApplicationVersionID
  3194  	// or the ConditionalToken.You can use the DescribeApplication operation to
  3195  	// find the current application version.
  3196  	//
  3197  	// CurrentApplicationVersionId is a required field
  3198  	CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"`
  3199  
  3200  	// The Input to add.
  3201  	//
  3202  	// Input is a required field
  3203  	Input *Input `type:"structure" required:"true"`
  3204  }
  3205  
  3206  // String returns the string representation.
  3207  //
  3208  // API parameter values that are decorated as "sensitive" in the API will not
  3209  // be included in the string output. The member name will be present, but the
  3210  // value will be replaced with "sensitive".
  3211  func (s AddApplicationInputInput) String() string {
  3212  	return awsutil.Prettify(s)
  3213  }
  3214  
  3215  // GoString returns the string representation.
  3216  //
  3217  // API parameter values that are decorated as "sensitive" in the API will not
  3218  // be included in the string output. The member name will be present, but the
  3219  // value will be replaced with "sensitive".
  3220  func (s AddApplicationInputInput) GoString() string {
  3221  	return s.String()
  3222  }
  3223  
  3224  // Validate inspects the fields of the type to determine if they are valid.
  3225  func (s *AddApplicationInputInput) Validate() error {
  3226  	invalidParams := request.ErrInvalidParams{Context: "AddApplicationInputInput"}
  3227  	if s.ApplicationName == nil {
  3228  		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
  3229  	}
  3230  	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
  3231  		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
  3232  	}
  3233  	if s.CurrentApplicationVersionId == nil {
  3234  		invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId"))
  3235  	}
  3236  	if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 {
  3237  		invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1))
  3238  	}
  3239  	if s.Input == nil {
  3240  		invalidParams.Add(request.NewErrParamRequired("Input"))
  3241  	}
  3242  	if s.Input != nil {
  3243  		if err := s.Input.Validate(); err != nil {
  3244  			invalidParams.AddNested("Input", err.(request.ErrInvalidParams))
  3245  		}
  3246  	}
  3247  
  3248  	if invalidParams.Len() > 0 {
  3249  		return invalidParams
  3250  	}
  3251  	return nil
  3252  }
  3253  
  3254  // SetApplicationName sets the ApplicationName field's value.
  3255  func (s *AddApplicationInputInput) SetApplicationName(v string) *AddApplicationInputInput {
  3256  	s.ApplicationName = &v
  3257  	return s
  3258  }
  3259  
  3260  // SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value.
  3261  func (s *AddApplicationInputInput) SetCurrentApplicationVersionId(v int64) *AddApplicationInputInput {
  3262  	s.CurrentApplicationVersionId = &v
  3263  	return s
  3264  }
  3265  
  3266  // SetInput sets the Input field's value.
  3267  func (s *AddApplicationInputInput) SetInput(v *Input) *AddApplicationInputInput {
  3268  	s.Input = v
  3269  	return s
  3270  }
  3271  
  3272  type AddApplicationInputOutput struct {
  3273  	_ struct{} `type:"structure"`
  3274  
  3275  	// The Amazon Resource Name (ARN) of the application.
  3276  	ApplicationARN *string `min:"1" type:"string"`
  3277  
  3278  	// Provides the current application version.
  3279  	ApplicationVersionId *int64 `min:"1" type:"long"`
  3280  
  3281  	// Describes the application input configuration.
  3282  	InputDescriptions []*InputDescription `type:"list"`
  3283  }
  3284  
  3285  // String returns the string representation.
  3286  //
  3287  // API parameter values that are decorated as "sensitive" in the API will not
  3288  // be included in the string output. The member name will be present, but the
  3289  // value will be replaced with "sensitive".
  3290  func (s AddApplicationInputOutput) String() string {
  3291  	return awsutil.Prettify(s)
  3292  }
  3293  
  3294  // GoString returns the string representation.
  3295  //
  3296  // API parameter values that are decorated as "sensitive" in the API will not
  3297  // be included in the string output. The member name will be present, but the
  3298  // value will be replaced with "sensitive".
  3299  func (s AddApplicationInputOutput) GoString() string {
  3300  	return s.String()
  3301  }
  3302  
  3303  // SetApplicationARN sets the ApplicationARN field's value.
  3304  func (s *AddApplicationInputOutput) SetApplicationARN(v string) *AddApplicationInputOutput {
  3305  	s.ApplicationARN = &v
  3306  	return s
  3307  }
  3308  
  3309  // SetApplicationVersionId sets the ApplicationVersionId field's value.
  3310  func (s *AddApplicationInputOutput) SetApplicationVersionId(v int64) *AddApplicationInputOutput {
  3311  	s.ApplicationVersionId = &v
  3312  	return s
  3313  }
  3314  
  3315  // SetInputDescriptions sets the InputDescriptions field's value.
  3316  func (s *AddApplicationInputOutput) SetInputDescriptions(v []*InputDescription) *AddApplicationInputOutput {
  3317  	s.InputDescriptions = v
  3318  	return s
  3319  }
  3320  
  3321  type AddApplicationInputProcessingConfigurationInput struct {
  3322  	_ struct{} `type:"structure"`
  3323  
  3324  	// The name of the application to which you want to add the input processing
  3325  	// configuration.
  3326  	//
  3327  	// ApplicationName is a required field
  3328  	ApplicationName *string `min:"1" type:"string" required:"true"`
  3329  
  3330  	// The version of the application to which you want to add the input processing
  3331  	// configuration. You can use the DescribeApplication operation to get the current
  3332  	// application version. If the version specified is not the current version,
  3333  	// the ConcurrentModificationException is returned.
  3334  	//
  3335  	// CurrentApplicationVersionId is a required field
  3336  	CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"`
  3337  
  3338  	// The ID of the input configuration to add the input processing configuration
  3339  	// to. You can get a list of the input IDs for an application using the DescribeApplication
  3340  	// operation.
  3341  	//
  3342  	// InputId is a required field
  3343  	InputId *string `min:"1" type:"string" required:"true"`
  3344  
  3345  	// The InputProcessingConfiguration to add to the application.
  3346  	//
  3347  	// InputProcessingConfiguration is a required field
  3348  	InputProcessingConfiguration *InputProcessingConfiguration `type:"structure" required:"true"`
  3349  }
  3350  
  3351  // String returns the string representation.
  3352  //
  3353  // API parameter values that are decorated as "sensitive" in the API will not
  3354  // be included in the string output. The member name will be present, but the
  3355  // value will be replaced with "sensitive".
  3356  func (s AddApplicationInputProcessingConfigurationInput) String() string {
  3357  	return awsutil.Prettify(s)
  3358  }
  3359  
  3360  // GoString returns the string representation.
  3361  //
  3362  // API parameter values that are decorated as "sensitive" in the API will not
  3363  // be included in the string output. The member name will be present, but the
  3364  // value will be replaced with "sensitive".
  3365  func (s AddApplicationInputProcessingConfigurationInput) GoString() string {
  3366  	return s.String()
  3367  }
  3368  
  3369  // Validate inspects the fields of the type to determine if they are valid.
  3370  func (s *AddApplicationInputProcessingConfigurationInput) Validate() error {
  3371  	invalidParams := request.ErrInvalidParams{Context: "AddApplicationInputProcessingConfigurationInput"}
  3372  	if s.ApplicationName == nil {
  3373  		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
  3374  	}
  3375  	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
  3376  		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
  3377  	}
  3378  	if s.CurrentApplicationVersionId == nil {
  3379  		invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId"))
  3380  	}
  3381  	if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 {
  3382  		invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1))
  3383  	}
  3384  	if s.InputId == nil {
  3385  		invalidParams.Add(request.NewErrParamRequired("InputId"))
  3386  	}
  3387  	if s.InputId != nil && len(*s.InputId) < 1 {
  3388  		invalidParams.Add(request.NewErrParamMinLen("InputId", 1))
  3389  	}
  3390  	if s.InputProcessingConfiguration == nil {
  3391  		invalidParams.Add(request.NewErrParamRequired("InputProcessingConfiguration"))
  3392  	}
  3393  	if s.InputProcessingConfiguration != nil {
  3394  		if err := s.InputProcessingConfiguration.Validate(); err != nil {
  3395  			invalidParams.AddNested("InputProcessingConfiguration", err.(request.ErrInvalidParams))
  3396  		}
  3397  	}
  3398  
  3399  	if invalidParams.Len() > 0 {
  3400  		return invalidParams
  3401  	}
  3402  	return nil
  3403  }
  3404  
  3405  // SetApplicationName sets the ApplicationName field's value.
  3406  func (s *AddApplicationInputProcessingConfigurationInput) SetApplicationName(v string) *AddApplicationInputProcessingConfigurationInput {
  3407  	s.ApplicationName = &v
  3408  	return s
  3409  }
  3410  
  3411  // SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value.
  3412  func (s *AddApplicationInputProcessingConfigurationInput) SetCurrentApplicationVersionId(v int64) *AddApplicationInputProcessingConfigurationInput {
  3413  	s.CurrentApplicationVersionId = &v
  3414  	return s
  3415  }
  3416  
  3417  // SetInputId sets the InputId field's value.
  3418  func (s *AddApplicationInputProcessingConfigurationInput) SetInputId(v string) *AddApplicationInputProcessingConfigurationInput {
  3419  	s.InputId = &v
  3420  	return s
  3421  }
  3422  
  3423  // SetInputProcessingConfiguration sets the InputProcessingConfiguration field's value.
  3424  func (s *AddApplicationInputProcessingConfigurationInput) SetInputProcessingConfiguration(v *InputProcessingConfiguration) *AddApplicationInputProcessingConfigurationInput {
  3425  	s.InputProcessingConfiguration = v
  3426  	return s
  3427  }
  3428  
  3429  type AddApplicationInputProcessingConfigurationOutput struct {
  3430  	_ struct{} `type:"structure"`
  3431  
  3432  	// The Amazon Resource Name (ARN) of the application.
  3433  	ApplicationARN *string `min:"1" type:"string"`
  3434  
  3435  	// Provides the current application version.
  3436  	ApplicationVersionId *int64 `min:"1" type:"long"`
  3437  
  3438  	// The input ID that is associated with the application input. This is the ID
  3439  	// that Kinesis Data Analytics assigns to each input configuration that you
  3440  	// add to your application.
  3441  	InputId *string `min:"1" type:"string"`
  3442  
  3443  	// The description of the preprocessor that executes on records in this input
  3444  	// before the application's code is run.
  3445  	InputProcessingConfigurationDescription *InputProcessingConfigurationDescription `type:"structure"`
  3446  }
  3447  
  3448  // String returns the string representation.
  3449  //
  3450  // API parameter values that are decorated as "sensitive" in the API will not
  3451  // be included in the string output. The member name will be present, but the
  3452  // value will be replaced with "sensitive".
  3453  func (s AddApplicationInputProcessingConfigurationOutput) String() string {
  3454  	return awsutil.Prettify(s)
  3455  }
  3456  
  3457  // GoString returns the string representation.
  3458  //
  3459  // API parameter values that are decorated as "sensitive" in the API will not
  3460  // be included in the string output. The member name will be present, but the
  3461  // value will be replaced with "sensitive".
  3462  func (s AddApplicationInputProcessingConfigurationOutput) GoString() string {
  3463  	return s.String()
  3464  }
  3465  
  3466  // SetApplicationARN sets the ApplicationARN field's value.
  3467  func (s *AddApplicationInputProcessingConfigurationOutput) SetApplicationARN(v string) *AddApplicationInputProcessingConfigurationOutput {
  3468  	s.ApplicationARN = &v
  3469  	return s
  3470  }
  3471  
  3472  // SetApplicationVersionId sets the ApplicationVersionId field's value.
  3473  func (s *AddApplicationInputProcessingConfigurationOutput) SetApplicationVersionId(v int64) *AddApplicationInputProcessingConfigurationOutput {
  3474  	s.ApplicationVersionId = &v
  3475  	return s
  3476  }
  3477  
  3478  // SetInputId sets the InputId field's value.
  3479  func (s *AddApplicationInputProcessingConfigurationOutput) SetInputId(v string) *AddApplicationInputProcessingConfigurationOutput {
  3480  	s.InputId = &v
  3481  	return s
  3482  }
  3483  
  3484  // SetInputProcessingConfigurationDescription sets the InputProcessingConfigurationDescription field's value.
  3485  func (s *AddApplicationInputProcessingConfigurationOutput) SetInputProcessingConfigurationDescription(v *InputProcessingConfigurationDescription) *AddApplicationInputProcessingConfigurationOutput {
  3486  	s.InputProcessingConfigurationDescription = v
  3487  	return s
  3488  }
  3489  
  3490  type AddApplicationOutputInput struct {
  3491  	_ struct{} `type:"structure"`
  3492  
  3493  	// The name of the application to which you want to add the output configuration.
  3494  	//
  3495  	// ApplicationName is a required field
  3496  	ApplicationName *string `min:"1" type:"string" required:"true"`
  3497  
  3498  	// The version of the application to which you want to add the output configuration.
  3499  	// You can use the DescribeApplication operation to get the current application
  3500  	// version. If the version specified is not the current version, the ConcurrentModificationException
  3501  	// is returned.
  3502  	//
  3503  	// CurrentApplicationVersionId is a required field
  3504  	CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"`
  3505  
  3506  	// An array of objects, each describing one output configuration. In the output
  3507  	// configuration, you specify the name of an in-application stream, a destination
  3508  	// (that is, a Kinesis data stream, a Kinesis Data Firehose delivery stream,
  3509  	// or an AWS Lambda function), and record the formation to use when writing
  3510  	// to the destination.
  3511  	//
  3512  	// Output is a required field
  3513  	Output *Output `type:"structure" required:"true"`
  3514  }
  3515  
  3516  // String returns the string representation.
  3517  //
  3518  // API parameter values that are decorated as "sensitive" in the API will not
  3519  // be included in the string output. The member name will be present, but the
  3520  // value will be replaced with "sensitive".
  3521  func (s AddApplicationOutputInput) String() string {
  3522  	return awsutil.Prettify(s)
  3523  }
  3524  
  3525  // GoString returns the string representation.
  3526  //
  3527  // API parameter values that are decorated as "sensitive" in the API will not
  3528  // be included in the string output. The member name will be present, but the
  3529  // value will be replaced with "sensitive".
  3530  func (s AddApplicationOutputInput) GoString() string {
  3531  	return s.String()
  3532  }
  3533  
  3534  // Validate inspects the fields of the type to determine if they are valid.
  3535  func (s *AddApplicationOutputInput) Validate() error {
  3536  	invalidParams := request.ErrInvalidParams{Context: "AddApplicationOutputInput"}
  3537  	if s.ApplicationName == nil {
  3538  		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
  3539  	}
  3540  	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
  3541  		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
  3542  	}
  3543  	if s.CurrentApplicationVersionId == nil {
  3544  		invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId"))
  3545  	}
  3546  	if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 {
  3547  		invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1))
  3548  	}
  3549  	if s.Output == nil {
  3550  		invalidParams.Add(request.NewErrParamRequired("Output"))
  3551  	}
  3552  	if s.Output != nil {
  3553  		if err := s.Output.Validate(); err != nil {
  3554  			invalidParams.AddNested("Output", err.(request.ErrInvalidParams))
  3555  		}
  3556  	}
  3557  
  3558  	if invalidParams.Len() > 0 {
  3559  		return invalidParams
  3560  	}
  3561  	return nil
  3562  }
  3563  
  3564  // SetApplicationName sets the ApplicationName field's value.
  3565  func (s *AddApplicationOutputInput) SetApplicationName(v string) *AddApplicationOutputInput {
  3566  	s.ApplicationName = &v
  3567  	return s
  3568  }
  3569  
  3570  // SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value.
  3571  func (s *AddApplicationOutputInput) SetCurrentApplicationVersionId(v int64) *AddApplicationOutputInput {
  3572  	s.CurrentApplicationVersionId = &v
  3573  	return s
  3574  }
  3575  
  3576  // SetOutput sets the Output field's value.
  3577  func (s *AddApplicationOutputInput) SetOutput(v *Output) *AddApplicationOutputInput {
  3578  	s.Output = v
  3579  	return s
  3580  }
  3581  
  3582  type AddApplicationOutputOutput struct {
  3583  	_ struct{} `type:"structure"`
  3584  
  3585  	// The application Amazon Resource Name (ARN).
  3586  	ApplicationARN *string `min:"1" type:"string"`
  3587  
  3588  	// The updated application version ID. Kinesis Data Analytics increments this
  3589  	// ID when the application is updated.
  3590  	ApplicationVersionId *int64 `min:"1" type:"long"`
  3591  
  3592  	// Describes the application output configuration. For more information, see
  3593  	// Configuring Application Output (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-output.html).
  3594  	OutputDescriptions []*OutputDescription `type:"list"`
  3595  }
  3596  
  3597  // String returns the string representation.
  3598  //
  3599  // API parameter values that are decorated as "sensitive" in the API will not
  3600  // be included in the string output. The member name will be present, but the
  3601  // value will be replaced with "sensitive".
  3602  func (s AddApplicationOutputOutput) String() string {
  3603  	return awsutil.Prettify(s)
  3604  }
  3605  
  3606  // GoString returns the string representation.
  3607  //
  3608  // API parameter values that are decorated as "sensitive" in the API will not
  3609  // be included in the string output. The member name will be present, but the
  3610  // value will be replaced with "sensitive".
  3611  func (s AddApplicationOutputOutput) GoString() string {
  3612  	return s.String()
  3613  }
  3614  
  3615  // SetApplicationARN sets the ApplicationARN field's value.
  3616  func (s *AddApplicationOutputOutput) SetApplicationARN(v string) *AddApplicationOutputOutput {
  3617  	s.ApplicationARN = &v
  3618  	return s
  3619  }
  3620  
  3621  // SetApplicationVersionId sets the ApplicationVersionId field's value.
  3622  func (s *AddApplicationOutputOutput) SetApplicationVersionId(v int64) *AddApplicationOutputOutput {
  3623  	s.ApplicationVersionId = &v
  3624  	return s
  3625  }
  3626  
  3627  // SetOutputDescriptions sets the OutputDescriptions field's value.
  3628  func (s *AddApplicationOutputOutput) SetOutputDescriptions(v []*OutputDescription) *AddApplicationOutputOutput {
  3629  	s.OutputDescriptions = v
  3630  	return s
  3631  }
  3632  
  3633  type AddApplicationReferenceDataSourceInput struct {
  3634  	_ struct{} `type:"structure"`
  3635  
  3636  	// The name of an existing application.
  3637  	//
  3638  	// ApplicationName is a required field
  3639  	ApplicationName *string `min:"1" type:"string" required:"true"`
  3640  
  3641  	// The version of the application for which you are adding the reference data
  3642  	// source. You can use the DescribeApplication operation to get the current
  3643  	// application version. If the version specified is not the current version,
  3644  	// the ConcurrentModificationException is returned.
  3645  	//
  3646  	// CurrentApplicationVersionId is a required field
  3647  	CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"`
  3648  
  3649  	// The reference data source can be an object in your Amazon S3 bucket. Kinesis
  3650  	// Data Analytics reads the object and copies the data into the in-application
  3651  	// table that is created. You provide an S3 bucket, object key name, and the
  3652  	// resulting in-application table that is created.
  3653  	//
  3654  	// ReferenceDataSource is a required field
  3655  	ReferenceDataSource *ReferenceDataSource `type:"structure" required:"true"`
  3656  }
  3657  
  3658  // String returns the string representation.
  3659  //
  3660  // API parameter values that are decorated as "sensitive" in the API will not
  3661  // be included in the string output. The member name will be present, but the
  3662  // value will be replaced with "sensitive".
  3663  func (s AddApplicationReferenceDataSourceInput) String() string {
  3664  	return awsutil.Prettify(s)
  3665  }
  3666  
  3667  // GoString returns the string representation.
  3668  //
  3669  // API parameter values that are decorated as "sensitive" in the API will not
  3670  // be included in the string output. The member name will be present, but the
  3671  // value will be replaced with "sensitive".
  3672  func (s AddApplicationReferenceDataSourceInput) GoString() string {
  3673  	return s.String()
  3674  }
  3675  
  3676  // Validate inspects the fields of the type to determine if they are valid.
  3677  func (s *AddApplicationReferenceDataSourceInput) Validate() error {
  3678  	invalidParams := request.ErrInvalidParams{Context: "AddApplicationReferenceDataSourceInput"}
  3679  	if s.ApplicationName == nil {
  3680  		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
  3681  	}
  3682  	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
  3683  		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
  3684  	}
  3685  	if s.CurrentApplicationVersionId == nil {
  3686  		invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId"))
  3687  	}
  3688  	if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 {
  3689  		invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1))
  3690  	}
  3691  	if s.ReferenceDataSource == nil {
  3692  		invalidParams.Add(request.NewErrParamRequired("ReferenceDataSource"))
  3693  	}
  3694  	if s.ReferenceDataSource != nil {
  3695  		if err := s.ReferenceDataSource.Validate(); err != nil {
  3696  			invalidParams.AddNested("ReferenceDataSource", err.(request.ErrInvalidParams))
  3697  		}
  3698  	}
  3699  
  3700  	if invalidParams.Len() > 0 {
  3701  		return invalidParams
  3702  	}
  3703  	return nil
  3704  }
  3705  
  3706  // SetApplicationName sets the ApplicationName field's value.
  3707  func (s *AddApplicationReferenceDataSourceInput) SetApplicationName(v string) *AddApplicationReferenceDataSourceInput {
  3708  	s.ApplicationName = &v
  3709  	return s
  3710  }
  3711  
  3712  // SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value.
  3713  func (s *AddApplicationReferenceDataSourceInput) SetCurrentApplicationVersionId(v int64) *AddApplicationReferenceDataSourceInput {
  3714  	s.CurrentApplicationVersionId = &v
  3715  	return s
  3716  }
  3717  
  3718  // SetReferenceDataSource sets the ReferenceDataSource field's value.
  3719  func (s *AddApplicationReferenceDataSourceInput) SetReferenceDataSource(v *ReferenceDataSource) *AddApplicationReferenceDataSourceInput {
  3720  	s.ReferenceDataSource = v
  3721  	return s
  3722  }
  3723  
  3724  type AddApplicationReferenceDataSourceOutput struct {
  3725  	_ struct{} `type:"structure"`
  3726  
  3727  	// The application Amazon Resource Name (ARN).
  3728  	ApplicationARN *string `min:"1" type:"string"`
  3729  
  3730  	// The updated application version ID. Kinesis Data Analytics increments this
  3731  	// ID when the application is updated.
  3732  	ApplicationVersionId *int64 `min:"1" type:"long"`
  3733  
  3734  	// Describes reference data sources configured for the application.
  3735  	ReferenceDataSourceDescriptions []*ReferenceDataSourceDescription `type:"list"`
  3736  }
  3737  
  3738  // String returns the string representation.
  3739  //
  3740  // API parameter values that are decorated as "sensitive" in the API will not
  3741  // be included in the string output. The member name will be present, but the
  3742  // value will be replaced with "sensitive".
  3743  func (s AddApplicationReferenceDataSourceOutput) String() string {
  3744  	return awsutil.Prettify(s)
  3745  }
  3746  
  3747  // GoString returns the string representation.
  3748  //
  3749  // API parameter values that are decorated as "sensitive" in the API will not
  3750  // be included in the string output. The member name will be present, but the
  3751  // value will be replaced with "sensitive".
  3752  func (s AddApplicationReferenceDataSourceOutput) GoString() string {
  3753  	return s.String()
  3754  }
  3755  
  3756  // SetApplicationARN sets the ApplicationARN field's value.
  3757  func (s *AddApplicationReferenceDataSourceOutput) SetApplicationARN(v string) *AddApplicationReferenceDataSourceOutput {
  3758  	s.ApplicationARN = &v
  3759  	return s
  3760  }
  3761  
  3762  // SetApplicationVersionId sets the ApplicationVersionId field's value.
  3763  func (s *AddApplicationReferenceDataSourceOutput) SetApplicationVersionId(v int64) *AddApplicationReferenceDataSourceOutput {
  3764  	s.ApplicationVersionId = &v
  3765  	return s
  3766  }
  3767  
  3768  // SetReferenceDataSourceDescriptions sets the ReferenceDataSourceDescriptions field's value.
  3769  func (s *AddApplicationReferenceDataSourceOutput) SetReferenceDataSourceDescriptions(v []*ReferenceDataSourceDescription) *AddApplicationReferenceDataSourceOutput {
  3770  	s.ReferenceDataSourceDescriptions = v
  3771  	return s
  3772  }
  3773  
  3774  type AddApplicationVpcConfigurationInput struct {
  3775  	_ struct{} `type:"structure"`
  3776  
  3777  	// The name of an existing application.
  3778  	//
  3779  	// ApplicationName is a required field
  3780  	ApplicationName *string `min:"1" type:"string" required:"true"`
  3781  
  3782  	// A value you use to implement strong concurrency for application updates.
  3783  	// You must provide the ApplicationVersionID or the ConditionalToken. You get
  3784  	// the application's current ConditionalToken using DescribeApplication. For
  3785  	// better concurrency support, use the ConditionalToken parameter instead of
  3786  	// CurrentApplicationVersionId.
  3787  	ConditionalToken *string `min:"1" type:"string"`
  3788  
  3789  	// The version of the application to which you want to add the VPC configuration.
  3790  	// You must provide the CurrentApplicationVersionId or the ConditionalToken.
  3791  	// You can use the DescribeApplication operation to get the current application
  3792  	// version. If the version specified is not the current version, the ConcurrentModificationException
  3793  	// is returned. For better concurrency support, use the ConditionalToken parameter
  3794  	// instead of CurrentApplicationVersionId.
  3795  	CurrentApplicationVersionId *int64 `min:"1" type:"long"`
  3796  
  3797  	// Description of the VPC to add to the application.
  3798  	//
  3799  	// VpcConfiguration is a required field
  3800  	VpcConfiguration *VpcConfiguration `type:"structure" required:"true"`
  3801  }
  3802  
  3803  // String returns the string representation.
  3804  //
  3805  // API parameter values that are decorated as "sensitive" in the API will not
  3806  // be included in the string output. The member name will be present, but the
  3807  // value will be replaced with "sensitive".
  3808  func (s AddApplicationVpcConfigurationInput) String() string {
  3809  	return awsutil.Prettify(s)
  3810  }
  3811  
  3812  // GoString returns the string representation.
  3813  //
  3814  // API parameter values that are decorated as "sensitive" in the API will not
  3815  // be included in the string output. The member name will be present, but the
  3816  // value will be replaced with "sensitive".
  3817  func (s AddApplicationVpcConfigurationInput) GoString() string {
  3818  	return s.String()
  3819  }
  3820  
  3821  // Validate inspects the fields of the type to determine if they are valid.
  3822  func (s *AddApplicationVpcConfigurationInput) Validate() error {
  3823  	invalidParams := request.ErrInvalidParams{Context: "AddApplicationVpcConfigurationInput"}
  3824  	if s.ApplicationName == nil {
  3825  		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
  3826  	}
  3827  	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
  3828  		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
  3829  	}
  3830  	if s.ConditionalToken != nil && len(*s.ConditionalToken) < 1 {
  3831  		invalidParams.Add(request.NewErrParamMinLen("ConditionalToken", 1))
  3832  	}
  3833  	if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 {
  3834  		invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1))
  3835  	}
  3836  	if s.VpcConfiguration == nil {
  3837  		invalidParams.Add(request.NewErrParamRequired("VpcConfiguration"))
  3838  	}
  3839  	if s.VpcConfiguration != nil {
  3840  		if err := s.VpcConfiguration.Validate(); err != nil {
  3841  			invalidParams.AddNested("VpcConfiguration", err.(request.ErrInvalidParams))
  3842  		}
  3843  	}
  3844  
  3845  	if invalidParams.Len() > 0 {
  3846  		return invalidParams
  3847  	}
  3848  	return nil
  3849  }
  3850  
  3851  // SetApplicationName sets the ApplicationName field's value.
  3852  func (s *AddApplicationVpcConfigurationInput) SetApplicationName(v string) *AddApplicationVpcConfigurationInput {
  3853  	s.ApplicationName = &v
  3854  	return s
  3855  }
  3856  
  3857  // SetConditionalToken sets the ConditionalToken field's value.
  3858  func (s *AddApplicationVpcConfigurationInput) SetConditionalToken(v string) *AddApplicationVpcConfigurationInput {
  3859  	s.ConditionalToken = &v
  3860  	return s
  3861  }
  3862  
  3863  // SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value.
  3864  func (s *AddApplicationVpcConfigurationInput) SetCurrentApplicationVersionId(v int64) *AddApplicationVpcConfigurationInput {
  3865  	s.CurrentApplicationVersionId = &v
  3866  	return s
  3867  }
  3868  
  3869  // SetVpcConfiguration sets the VpcConfiguration field's value.
  3870  func (s *AddApplicationVpcConfigurationInput) SetVpcConfiguration(v *VpcConfiguration) *AddApplicationVpcConfigurationInput {
  3871  	s.VpcConfiguration = v
  3872  	return s
  3873  }
  3874  
  3875  type AddApplicationVpcConfigurationOutput struct {
  3876  	_ struct{} `type:"structure"`
  3877  
  3878  	// The ARN of the application.
  3879  	ApplicationARN *string `min:"1" type:"string"`
  3880  
  3881  	// Provides the current application version. Kinesis Data Analytics updates
  3882  	// the ApplicationVersionId each time you update the application.
  3883  	ApplicationVersionId *int64 `min:"1" type:"long"`
  3884  
  3885  	// The parameters of the new VPC configuration.
  3886  	VpcConfigurationDescription *VpcConfigurationDescription `type:"structure"`
  3887  }
  3888  
  3889  // String returns the string representation.
  3890  //
  3891  // API parameter values that are decorated as "sensitive" in the API will not
  3892  // be included in the string output. The member name will be present, but the
  3893  // value will be replaced with "sensitive".
  3894  func (s AddApplicationVpcConfigurationOutput) String() string {
  3895  	return awsutil.Prettify(s)
  3896  }
  3897  
  3898  // GoString returns the string representation.
  3899  //
  3900  // API parameter values that are decorated as "sensitive" in the API will not
  3901  // be included in the string output. The member name will be present, but the
  3902  // value will be replaced with "sensitive".
  3903  func (s AddApplicationVpcConfigurationOutput) GoString() string {
  3904  	return s.String()
  3905  }
  3906  
  3907  // SetApplicationARN sets the ApplicationARN field's value.
  3908  func (s *AddApplicationVpcConfigurationOutput) SetApplicationARN(v string) *AddApplicationVpcConfigurationOutput {
  3909  	s.ApplicationARN = &v
  3910  	return s
  3911  }
  3912  
  3913  // SetApplicationVersionId sets the ApplicationVersionId field's value.
  3914  func (s *AddApplicationVpcConfigurationOutput) SetApplicationVersionId(v int64) *AddApplicationVpcConfigurationOutput {
  3915  	s.ApplicationVersionId = &v
  3916  	return s
  3917  }
  3918  
  3919  // SetVpcConfigurationDescription sets the VpcConfigurationDescription field's value.
  3920  func (s *AddApplicationVpcConfigurationOutput) SetVpcConfigurationDescription(v *VpcConfigurationDescription) *AddApplicationVpcConfigurationOutput {
  3921  	s.VpcConfigurationDescription = v
  3922  	return s
  3923  }
  3924  
  3925  // Describes code configuration for an application.
  3926  type ApplicationCodeConfiguration struct {
  3927  	_ struct{} `type:"structure"`
  3928  
  3929  	// The location and type of the application code.
  3930  	CodeContent *CodeContent `type:"structure"`
  3931  
  3932  	// Specifies whether the code content is in text or zip format.
  3933  	//
  3934  	// CodeContentType is a required field
  3935  	CodeContentType *string `type:"string" required:"true" enum:"CodeContentType"`
  3936  }
  3937  
  3938  // String returns the string representation.
  3939  //
  3940  // API parameter values that are decorated as "sensitive" in the API will not
  3941  // be included in the string output. The member name will be present, but the
  3942  // value will be replaced with "sensitive".
  3943  func (s ApplicationCodeConfiguration) String() string {
  3944  	return awsutil.Prettify(s)
  3945  }
  3946  
  3947  // GoString returns the string representation.
  3948  //
  3949  // API parameter values that are decorated as "sensitive" in the API will not
  3950  // be included in the string output. The member name will be present, but the
  3951  // value will be replaced with "sensitive".
  3952  func (s ApplicationCodeConfiguration) GoString() string {
  3953  	return s.String()
  3954  }
  3955  
  3956  // Validate inspects the fields of the type to determine if they are valid.
  3957  func (s *ApplicationCodeConfiguration) Validate() error {
  3958  	invalidParams := request.ErrInvalidParams{Context: "ApplicationCodeConfiguration"}
  3959  	if s.CodeContentType == nil {
  3960  		invalidParams.Add(request.NewErrParamRequired("CodeContentType"))
  3961  	}
  3962  	if s.CodeContent != nil {
  3963  		if err := s.CodeContent.Validate(); err != nil {
  3964  			invalidParams.AddNested("CodeContent", err.(request.ErrInvalidParams))
  3965  		}
  3966  	}
  3967  
  3968  	if invalidParams.Len() > 0 {
  3969  		return invalidParams
  3970  	}
  3971  	return nil
  3972  }
  3973  
  3974  // SetCodeContent sets the CodeContent field's value.
  3975  func (s *ApplicationCodeConfiguration) SetCodeContent(v *CodeContent) *ApplicationCodeConfiguration {
  3976  	s.CodeContent = v
  3977  	return s
  3978  }
  3979  
  3980  // SetCodeContentType sets the CodeContentType field's value.
  3981  func (s *ApplicationCodeConfiguration) SetCodeContentType(v string) *ApplicationCodeConfiguration {
  3982  	s.CodeContentType = &v
  3983  	return s
  3984  }
  3985  
  3986  // Describes code configuration for an application.
  3987  type ApplicationCodeConfigurationDescription struct {
  3988  	_ struct{} `type:"structure"`
  3989  
  3990  	// Describes details about the location and format of the application code.
  3991  	CodeContentDescription *CodeContentDescription `type:"structure"`
  3992  
  3993  	// Specifies whether the code content is in text or zip format.
  3994  	//
  3995  	// CodeContentType is a required field
  3996  	CodeContentType *string `type:"string" required:"true" enum:"CodeContentType"`
  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 ApplicationCodeConfigurationDescription) 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 ApplicationCodeConfigurationDescription) GoString() string {
  4014  	return s.String()
  4015  }
  4016  
  4017  // SetCodeContentDescription sets the CodeContentDescription field's value.
  4018  func (s *ApplicationCodeConfigurationDescription) SetCodeContentDescription(v *CodeContentDescription) *ApplicationCodeConfigurationDescription {
  4019  	s.CodeContentDescription = v
  4020  	return s
  4021  }
  4022  
  4023  // SetCodeContentType sets the CodeContentType field's value.
  4024  func (s *ApplicationCodeConfigurationDescription) SetCodeContentType(v string) *ApplicationCodeConfigurationDescription {
  4025  	s.CodeContentType = &v
  4026  	return s
  4027  }
  4028  
  4029  // Describes code configuration updates for an application. This is supported
  4030  // for a Flink-based Kinesis Data Analytics application or a SQL-based Kinesis
  4031  // Data Analytics application.
  4032  type ApplicationCodeConfigurationUpdate struct {
  4033  	_ struct{} `type:"structure"`
  4034  
  4035  	// Describes updates to the code content type.
  4036  	CodeContentTypeUpdate *string `type:"string" enum:"CodeContentType"`
  4037  
  4038  	// Describes updates to the code content of an application.
  4039  	CodeContentUpdate *CodeContentUpdate `type:"structure"`
  4040  }
  4041  
  4042  // String returns the string representation.
  4043  //
  4044  // API parameter values that are decorated as "sensitive" in the API will not
  4045  // be included in the string output. The member name will be present, but the
  4046  // value will be replaced with "sensitive".
  4047  func (s ApplicationCodeConfigurationUpdate) String() string {
  4048  	return awsutil.Prettify(s)
  4049  }
  4050  
  4051  // GoString returns the string representation.
  4052  //
  4053  // API parameter values that are decorated as "sensitive" in the API will not
  4054  // be included in the string output. The member name will be present, but the
  4055  // value will be replaced with "sensitive".
  4056  func (s ApplicationCodeConfigurationUpdate) GoString() string {
  4057  	return s.String()
  4058  }
  4059  
  4060  // Validate inspects the fields of the type to determine if they are valid.
  4061  func (s *ApplicationCodeConfigurationUpdate) Validate() error {
  4062  	invalidParams := request.ErrInvalidParams{Context: "ApplicationCodeConfigurationUpdate"}
  4063  	if s.CodeContentUpdate != nil {
  4064  		if err := s.CodeContentUpdate.Validate(); err != nil {
  4065  			invalidParams.AddNested("CodeContentUpdate", err.(request.ErrInvalidParams))
  4066  		}
  4067  	}
  4068  
  4069  	if invalidParams.Len() > 0 {
  4070  		return invalidParams
  4071  	}
  4072  	return nil
  4073  }
  4074  
  4075  // SetCodeContentTypeUpdate sets the CodeContentTypeUpdate field's value.
  4076  func (s *ApplicationCodeConfigurationUpdate) SetCodeContentTypeUpdate(v string) *ApplicationCodeConfigurationUpdate {
  4077  	s.CodeContentTypeUpdate = &v
  4078  	return s
  4079  }
  4080  
  4081  // SetCodeContentUpdate sets the CodeContentUpdate field's value.
  4082  func (s *ApplicationCodeConfigurationUpdate) SetCodeContentUpdate(v *CodeContentUpdate) *ApplicationCodeConfigurationUpdate {
  4083  	s.CodeContentUpdate = v
  4084  	return s
  4085  }
  4086  
  4087  // Specifies the creation parameters for a Kinesis Data Analytics application.
  4088  type ApplicationConfiguration struct {
  4089  	_ struct{} `type:"structure"`
  4090  
  4091  	// The code location and type parameters for a Flink-based Kinesis Data Analytics
  4092  	// application.
  4093  	ApplicationCodeConfiguration *ApplicationCodeConfiguration `type:"structure"`
  4094  
  4095  	// Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics
  4096  	// application.
  4097  	ApplicationSnapshotConfiguration *ApplicationSnapshotConfiguration `type:"structure"`
  4098  
  4099  	// Describes execution properties for a Flink-based Kinesis Data Analytics application.
  4100  	EnvironmentProperties *EnvironmentProperties `type:"structure"`
  4101  
  4102  	// The creation and update parameters for a Flink-based Kinesis Data Analytics
  4103  	// application.
  4104  	FlinkApplicationConfiguration *FlinkApplicationConfiguration `type:"structure"`
  4105  
  4106  	// The creation and update parameters for a SQL-based Kinesis Data Analytics
  4107  	// application.
  4108  	SqlApplicationConfiguration *SqlApplicationConfiguration `type:"structure"`
  4109  
  4110  	// The array of descriptions of VPC configurations available to the application.
  4111  	VpcConfigurations []*VpcConfiguration `type:"list"`
  4112  
  4113  	// The configuration parameters for a Kinesis Data Analytics Studio notebook.
  4114  	ZeppelinApplicationConfiguration *ZeppelinApplicationConfiguration `type:"structure"`
  4115  }
  4116  
  4117  // String returns the string representation.
  4118  //
  4119  // API parameter values that are decorated as "sensitive" in the API will not
  4120  // be included in the string output. The member name will be present, but the
  4121  // value will be replaced with "sensitive".
  4122  func (s ApplicationConfiguration) String() string {
  4123  	return awsutil.Prettify(s)
  4124  }
  4125  
  4126  // GoString returns the string representation.
  4127  //
  4128  // API parameter values that are decorated as "sensitive" in the API will not
  4129  // be included in the string output. The member name will be present, but the
  4130  // value will be replaced with "sensitive".
  4131  func (s ApplicationConfiguration) GoString() string {
  4132  	return s.String()
  4133  }
  4134  
  4135  // Validate inspects the fields of the type to determine if they are valid.
  4136  func (s *ApplicationConfiguration) Validate() error {
  4137  	invalidParams := request.ErrInvalidParams{Context: "ApplicationConfiguration"}
  4138  	if s.ApplicationCodeConfiguration != nil {
  4139  		if err := s.ApplicationCodeConfiguration.Validate(); err != nil {
  4140  			invalidParams.AddNested("ApplicationCodeConfiguration", err.(request.ErrInvalidParams))
  4141  		}
  4142  	}
  4143  	if s.ApplicationSnapshotConfiguration != nil {
  4144  		if err := s.ApplicationSnapshotConfiguration.Validate(); err != nil {
  4145  			invalidParams.AddNested("ApplicationSnapshotConfiguration", err.(request.ErrInvalidParams))
  4146  		}
  4147  	}
  4148  	if s.EnvironmentProperties != nil {
  4149  		if err := s.EnvironmentProperties.Validate(); err != nil {
  4150  			invalidParams.AddNested("EnvironmentProperties", err.(request.ErrInvalidParams))
  4151  		}
  4152  	}
  4153  	if s.FlinkApplicationConfiguration != nil {
  4154  		if err := s.FlinkApplicationConfiguration.Validate(); err != nil {
  4155  			invalidParams.AddNested("FlinkApplicationConfiguration", err.(request.ErrInvalidParams))
  4156  		}
  4157  	}
  4158  	if s.SqlApplicationConfiguration != nil {
  4159  		if err := s.SqlApplicationConfiguration.Validate(); err != nil {
  4160  			invalidParams.AddNested("SqlApplicationConfiguration", err.(request.ErrInvalidParams))
  4161  		}
  4162  	}
  4163  	if s.VpcConfigurations != nil {
  4164  		for i, v := range s.VpcConfigurations {
  4165  			if v == nil {
  4166  				continue
  4167  			}
  4168  			if err := v.Validate(); err != nil {
  4169  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VpcConfigurations", i), err.(request.ErrInvalidParams))
  4170  			}
  4171  		}
  4172  	}
  4173  	if s.ZeppelinApplicationConfiguration != nil {
  4174  		if err := s.ZeppelinApplicationConfiguration.Validate(); err != nil {
  4175  			invalidParams.AddNested("ZeppelinApplicationConfiguration", err.(request.ErrInvalidParams))
  4176  		}
  4177  	}
  4178  
  4179  	if invalidParams.Len() > 0 {
  4180  		return invalidParams
  4181  	}
  4182  	return nil
  4183  }
  4184  
  4185  // SetApplicationCodeConfiguration sets the ApplicationCodeConfiguration field's value.
  4186  func (s *ApplicationConfiguration) SetApplicationCodeConfiguration(v *ApplicationCodeConfiguration) *ApplicationConfiguration {
  4187  	s.ApplicationCodeConfiguration = v
  4188  	return s
  4189  }
  4190  
  4191  // SetApplicationSnapshotConfiguration sets the ApplicationSnapshotConfiguration field's value.
  4192  func (s *ApplicationConfiguration) SetApplicationSnapshotConfiguration(v *ApplicationSnapshotConfiguration) *ApplicationConfiguration {
  4193  	s.ApplicationSnapshotConfiguration = v
  4194  	return s
  4195  }
  4196  
  4197  // SetEnvironmentProperties sets the EnvironmentProperties field's value.
  4198  func (s *ApplicationConfiguration) SetEnvironmentProperties(v *EnvironmentProperties) *ApplicationConfiguration {
  4199  	s.EnvironmentProperties = v
  4200  	return s
  4201  }
  4202  
  4203  // SetFlinkApplicationConfiguration sets the FlinkApplicationConfiguration field's value.
  4204  func (s *ApplicationConfiguration) SetFlinkApplicationConfiguration(v *FlinkApplicationConfiguration) *ApplicationConfiguration {
  4205  	s.FlinkApplicationConfiguration = v
  4206  	return s
  4207  }
  4208  
  4209  // SetSqlApplicationConfiguration sets the SqlApplicationConfiguration field's value.
  4210  func (s *ApplicationConfiguration) SetSqlApplicationConfiguration(v *SqlApplicationConfiguration) *ApplicationConfiguration {
  4211  	s.SqlApplicationConfiguration = v
  4212  	return s
  4213  }
  4214  
  4215  // SetVpcConfigurations sets the VpcConfigurations field's value.
  4216  func (s *ApplicationConfiguration) SetVpcConfigurations(v []*VpcConfiguration) *ApplicationConfiguration {
  4217  	s.VpcConfigurations = v
  4218  	return s
  4219  }
  4220  
  4221  // SetZeppelinApplicationConfiguration sets the ZeppelinApplicationConfiguration field's value.
  4222  func (s *ApplicationConfiguration) SetZeppelinApplicationConfiguration(v *ZeppelinApplicationConfiguration) *ApplicationConfiguration {
  4223  	s.ZeppelinApplicationConfiguration = v
  4224  	return s
  4225  }
  4226  
  4227  // Describes details about the application code and starting parameters for
  4228  // a Kinesis Data Analytics application.
  4229  type ApplicationConfigurationDescription struct {
  4230  	_ struct{} `type:"structure"`
  4231  
  4232  	// The details about the application code for a Flink-based Kinesis Data Analytics
  4233  	// application.
  4234  	ApplicationCodeConfigurationDescription *ApplicationCodeConfigurationDescription `type:"structure"`
  4235  
  4236  	// Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics
  4237  	// application.
  4238  	ApplicationSnapshotConfigurationDescription *ApplicationSnapshotConfigurationDescription `type:"structure"`
  4239  
  4240  	// Describes execution properties for a Flink-based Kinesis Data Analytics application.
  4241  	EnvironmentPropertyDescriptions *EnvironmentPropertyDescriptions `type:"structure"`
  4242  
  4243  	// The details about a Flink-based Kinesis Data Analytics application.
  4244  	FlinkApplicationConfigurationDescription *FlinkApplicationConfigurationDescription `type:"structure"`
  4245  
  4246  	// The details about the starting properties for a Kinesis Data Analytics application.
  4247  	RunConfigurationDescription *RunConfigurationDescription `type:"structure"`
  4248  
  4249  	// The details about inputs, outputs, and reference data sources for a SQL-based
  4250  	// Kinesis Data Analytics application.
  4251  	SqlApplicationConfigurationDescription *SqlApplicationConfigurationDescription `type:"structure"`
  4252  
  4253  	// The array of descriptions of VPC configurations available to the application.
  4254  	VpcConfigurationDescriptions []*VpcConfigurationDescription `type:"list"`
  4255  
  4256  	// The configuration parameters for a Kinesis Data Analytics Studio notebook.
  4257  	ZeppelinApplicationConfigurationDescription *ZeppelinApplicationConfigurationDescription `type:"structure"`
  4258  }
  4259  
  4260  // String returns the string representation.
  4261  //
  4262  // API parameter values that are decorated as "sensitive" in the API will not
  4263  // be included in the string output. The member name will be present, but the
  4264  // value will be replaced with "sensitive".
  4265  func (s ApplicationConfigurationDescription) String() string {
  4266  	return awsutil.Prettify(s)
  4267  }
  4268  
  4269  // GoString returns the string representation.
  4270  //
  4271  // API parameter values that are decorated as "sensitive" in the API will not
  4272  // be included in the string output. The member name will be present, but the
  4273  // value will be replaced with "sensitive".
  4274  func (s ApplicationConfigurationDescription) GoString() string {
  4275  	return s.String()
  4276  }
  4277  
  4278  // SetApplicationCodeConfigurationDescription sets the ApplicationCodeConfigurationDescription field's value.
  4279  func (s *ApplicationConfigurationDescription) SetApplicationCodeConfigurationDescription(v *ApplicationCodeConfigurationDescription) *ApplicationConfigurationDescription {
  4280  	s.ApplicationCodeConfigurationDescription = v
  4281  	return s
  4282  }
  4283  
  4284  // SetApplicationSnapshotConfigurationDescription sets the ApplicationSnapshotConfigurationDescription field's value.
  4285  func (s *ApplicationConfigurationDescription) SetApplicationSnapshotConfigurationDescription(v *ApplicationSnapshotConfigurationDescription) *ApplicationConfigurationDescription {
  4286  	s.ApplicationSnapshotConfigurationDescription = v
  4287  	return s
  4288  }
  4289  
  4290  // SetEnvironmentPropertyDescriptions sets the EnvironmentPropertyDescriptions field's value.
  4291  func (s *ApplicationConfigurationDescription) SetEnvironmentPropertyDescriptions(v *EnvironmentPropertyDescriptions) *ApplicationConfigurationDescription {
  4292  	s.EnvironmentPropertyDescriptions = v
  4293  	return s
  4294  }
  4295  
  4296  // SetFlinkApplicationConfigurationDescription sets the FlinkApplicationConfigurationDescription field's value.
  4297  func (s *ApplicationConfigurationDescription) SetFlinkApplicationConfigurationDescription(v *FlinkApplicationConfigurationDescription) *ApplicationConfigurationDescription {
  4298  	s.FlinkApplicationConfigurationDescription = v
  4299  	return s
  4300  }
  4301  
  4302  // SetRunConfigurationDescription sets the RunConfigurationDescription field's value.
  4303  func (s *ApplicationConfigurationDescription) SetRunConfigurationDescription(v *RunConfigurationDescription) *ApplicationConfigurationDescription {
  4304  	s.RunConfigurationDescription = v
  4305  	return s
  4306  }
  4307  
  4308  // SetSqlApplicationConfigurationDescription sets the SqlApplicationConfigurationDescription field's value.
  4309  func (s *ApplicationConfigurationDescription) SetSqlApplicationConfigurationDescription(v *SqlApplicationConfigurationDescription) *ApplicationConfigurationDescription {
  4310  	s.SqlApplicationConfigurationDescription = v
  4311  	return s
  4312  }
  4313  
  4314  // SetVpcConfigurationDescriptions sets the VpcConfigurationDescriptions field's value.
  4315  func (s *ApplicationConfigurationDescription) SetVpcConfigurationDescriptions(v []*VpcConfigurationDescription) *ApplicationConfigurationDescription {
  4316  	s.VpcConfigurationDescriptions = v
  4317  	return s
  4318  }
  4319  
  4320  // SetZeppelinApplicationConfigurationDescription sets the ZeppelinApplicationConfigurationDescription field's value.
  4321  func (s *ApplicationConfigurationDescription) SetZeppelinApplicationConfigurationDescription(v *ZeppelinApplicationConfigurationDescription) *ApplicationConfigurationDescription {
  4322  	s.ZeppelinApplicationConfigurationDescription = v
  4323  	return s
  4324  }
  4325  
  4326  // Describes updates to an application's configuration.
  4327  type ApplicationConfigurationUpdate struct {
  4328  	_ struct{} `type:"structure"`
  4329  
  4330  	// Describes updates to an application's code configuration.
  4331  	ApplicationCodeConfigurationUpdate *ApplicationCodeConfigurationUpdate `type:"structure"`
  4332  
  4333  	// Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics
  4334  	// application.
  4335  	ApplicationSnapshotConfigurationUpdate *ApplicationSnapshotConfigurationUpdate `type:"structure"`
  4336  
  4337  	// Describes updates to the environment properties for a Flink-based Kinesis
  4338  	// Data Analytics application.
  4339  	EnvironmentPropertyUpdates *EnvironmentPropertyUpdates `type:"structure"`
  4340  
  4341  	// Describes updates to a Flink-based Kinesis Data Analytics application's configuration.
  4342  	FlinkApplicationConfigurationUpdate *FlinkApplicationConfigurationUpdate `type:"structure"`
  4343  
  4344  	// Describes updates to a SQL-based Kinesis Data Analytics application's configuration.
  4345  	SqlApplicationConfigurationUpdate *SqlApplicationConfigurationUpdate `type:"structure"`
  4346  
  4347  	// Updates to the array of descriptions of VPC configurations available to the
  4348  	// application.
  4349  	VpcConfigurationUpdates []*VpcConfigurationUpdate `type:"list"`
  4350  
  4351  	// Updates to the configuration of a Kinesis Data Analytics Studio notebook.
  4352  	ZeppelinApplicationConfigurationUpdate *ZeppelinApplicationConfigurationUpdate `type:"structure"`
  4353  }
  4354  
  4355  // String returns the string representation.
  4356  //
  4357  // API parameter values that are decorated as "sensitive" in the API will not
  4358  // be included in the string output. The member name will be present, but the
  4359  // value will be replaced with "sensitive".
  4360  func (s ApplicationConfigurationUpdate) String() string {
  4361  	return awsutil.Prettify(s)
  4362  }
  4363  
  4364  // GoString returns the string representation.
  4365  //
  4366  // API parameter values that are decorated as "sensitive" in the API will not
  4367  // be included in the string output. The member name will be present, but the
  4368  // value will be replaced with "sensitive".
  4369  func (s ApplicationConfigurationUpdate) GoString() string {
  4370  	return s.String()
  4371  }
  4372  
  4373  // Validate inspects the fields of the type to determine if they are valid.
  4374  func (s *ApplicationConfigurationUpdate) Validate() error {
  4375  	invalidParams := request.ErrInvalidParams{Context: "ApplicationConfigurationUpdate"}
  4376  	if s.ApplicationCodeConfigurationUpdate != nil {
  4377  		if err := s.ApplicationCodeConfigurationUpdate.Validate(); err != nil {
  4378  			invalidParams.AddNested("ApplicationCodeConfigurationUpdate", err.(request.ErrInvalidParams))
  4379  		}
  4380  	}
  4381  	if s.ApplicationSnapshotConfigurationUpdate != nil {
  4382  		if err := s.ApplicationSnapshotConfigurationUpdate.Validate(); err != nil {
  4383  			invalidParams.AddNested("ApplicationSnapshotConfigurationUpdate", err.(request.ErrInvalidParams))
  4384  		}
  4385  	}
  4386  	if s.EnvironmentPropertyUpdates != nil {
  4387  		if err := s.EnvironmentPropertyUpdates.Validate(); err != nil {
  4388  			invalidParams.AddNested("EnvironmentPropertyUpdates", err.(request.ErrInvalidParams))
  4389  		}
  4390  	}
  4391  	if s.FlinkApplicationConfigurationUpdate != nil {
  4392  		if err := s.FlinkApplicationConfigurationUpdate.Validate(); err != nil {
  4393  			invalidParams.AddNested("FlinkApplicationConfigurationUpdate", err.(request.ErrInvalidParams))
  4394  		}
  4395  	}
  4396  	if s.SqlApplicationConfigurationUpdate != nil {
  4397  		if err := s.SqlApplicationConfigurationUpdate.Validate(); err != nil {
  4398  			invalidParams.AddNested("SqlApplicationConfigurationUpdate", err.(request.ErrInvalidParams))
  4399  		}
  4400  	}
  4401  	if s.VpcConfigurationUpdates != nil {
  4402  		for i, v := range s.VpcConfigurationUpdates {
  4403  			if v == nil {
  4404  				continue
  4405  			}
  4406  			if err := v.Validate(); err != nil {
  4407  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VpcConfigurationUpdates", i), err.(request.ErrInvalidParams))
  4408  			}
  4409  		}
  4410  	}
  4411  	if s.ZeppelinApplicationConfigurationUpdate != nil {
  4412  		if err := s.ZeppelinApplicationConfigurationUpdate.Validate(); err != nil {
  4413  			invalidParams.AddNested("ZeppelinApplicationConfigurationUpdate", err.(request.ErrInvalidParams))
  4414  		}
  4415  	}
  4416  
  4417  	if invalidParams.Len() > 0 {
  4418  		return invalidParams
  4419  	}
  4420  	return nil
  4421  }
  4422  
  4423  // SetApplicationCodeConfigurationUpdate sets the ApplicationCodeConfigurationUpdate field's value.
  4424  func (s *ApplicationConfigurationUpdate) SetApplicationCodeConfigurationUpdate(v *ApplicationCodeConfigurationUpdate) *ApplicationConfigurationUpdate {
  4425  	s.ApplicationCodeConfigurationUpdate = v
  4426  	return s
  4427  }
  4428  
  4429  // SetApplicationSnapshotConfigurationUpdate sets the ApplicationSnapshotConfigurationUpdate field's value.
  4430  func (s *ApplicationConfigurationUpdate) SetApplicationSnapshotConfigurationUpdate(v *ApplicationSnapshotConfigurationUpdate) *ApplicationConfigurationUpdate {
  4431  	s.ApplicationSnapshotConfigurationUpdate = v
  4432  	return s
  4433  }
  4434  
  4435  // SetEnvironmentPropertyUpdates sets the EnvironmentPropertyUpdates field's value.
  4436  func (s *ApplicationConfigurationUpdate) SetEnvironmentPropertyUpdates(v *EnvironmentPropertyUpdates) *ApplicationConfigurationUpdate {
  4437  	s.EnvironmentPropertyUpdates = v
  4438  	return s
  4439  }
  4440  
  4441  // SetFlinkApplicationConfigurationUpdate sets the FlinkApplicationConfigurationUpdate field's value.
  4442  func (s *ApplicationConfigurationUpdate) SetFlinkApplicationConfigurationUpdate(v *FlinkApplicationConfigurationUpdate) *ApplicationConfigurationUpdate {
  4443  	s.FlinkApplicationConfigurationUpdate = v
  4444  	return s
  4445  }
  4446  
  4447  // SetSqlApplicationConfigurationUpdate sets the SqlApplicationConfigurationUpdate field's value.
  4448  func (s *ApplicationConfigurationUpdate) SetSqlApplicationConfigurationUpdate(v *SqlApplicationConfigurationUpdate) *ApplicationConfigurationUpdate {
  4449  	s.SqlApplicationConfigurationUpdate = v
  4450  	return s
  4451  }
  4452  
  4453  // SetVpcConfigurationUpdates sets the VpcConfigurationUpdates field's value.
  4454  func (s *ApplicationConfigurationUpdate) SetVpcConfigurationUpdates(v []*VpcConfigurationUpdate) *ApplicationConfigurationUpdate {
  4455  	s.VpcConfigurationUpdates = v
  4456  	return s
  4457  }
  4458  
  4459  // SetZeppelinApplicationConfigurationUpdate sets the ZeppelinApplicationConfigurationUpdate field's value.
  4460  func (s *ApplicationConfigurationUpdate) SetZeppelinApplicationConfigurationUpdate(v *ZeppelinApplicationConfigurationUpdate) *ApplicationConfigurationUpdate {
  4461  	s.ZeppelinApplicationConfigurationUpdate = v
  4462  	return s
  4463  }
  4464  
  4465  // Describes the application, including the application Amazon Resource Name
  4466  // (ARN), status, latest version, and input and output configurations.
  4467  type ApplicationDetail struct {
  4468  	_ struct{} `type:"structure"`
  4469  
  4470  	// The ARN of the application.
  4471  	//
  4472  	// ApplicationARN is a required field
  4473  	ApplicationARN *string `min:"1" type:"string" required:"true"`
  4474  
  4475  	// Describes details about the application code and starting parameters for
  4476  	// a Kinesis Data Analytics application.
  4477  	ApplicationConfigurationDescription *ApplicationConfigurationDescription `type:"structure"`
  4478  
  4479  	// The description of the application.
  4480  	ApplicationDescription *string `type:"string"`
  4481  
  4482  	// The details of the maintenance configuration for the application.
  4483  	ApplicationMaintenanceConfigurationDescription *ApplicationMaintenanceConfigurationDescription `type:"structure"`
  4484  
  4485  	// To create a Kinesis Data Analytics Studio notebook, you must set the mode
  4486  	// to INTERACTIVE. However, for a Kinesis Data Analytics for Apache Flink application,
  4487  	// the mode is optional.
  4488  	ApplicationMode *string `type:"string" enum:"ApplicationMode"`
  4489  
  4490  	// The name of the application.
  4491  	//
  4492  	// ApplicationName is a required field
  4493  	ApplicationName *string `min:"1" type:"string" required:"true"`
  4494  
  4495  	// The status of the application.
  4496  	//
  4497  	// ApplicationStatus is a required field
  4498  	ApplicationStatus *string `type:"string" required:"true" enum:"ApplicationStatus"`
  4499  
  4500  	// Provides the current application version. Kinesis Data Analytics updates
  4501  	// the ApplicationVersionId each time you update the application.
  4502  	//
  4503  	// ApplicationVersionId is a required field
  4504  	ApplicationVersionId *int64 `min:"1" type:"long" required:"true"`
  4505  
  4506  	// If you reverted the application using RollbackApplication, the application
  4507  	// version when RollbackApplication was called.
  4508  	ApplicationVersionRolledBackFrom *int64 `min:"1" type:"long"`
  4509  
  4510  	// The version to which you want to roll back the application.
  4511  	ApplicationVersionRolledBackTo *int64 `min:"1" type:"long"`
  4512  
  4513  	// The previous application version before the latest application update. RollbackApplication
  4514  	// reverts the application to this version.
  4515  	ApplicationVersionUpdatedFrom *int64 `min:"1" type:"long"`
  4516  
  4517  	// Describes the application Amazon CloudWatch logging options.
  4518  	CloudWatchLoggingOptionDescriptions []*CloudWatchLoggingOptionDescription `type:"list"`
  4519  
  4520  	// A value you use to implement strong concurrency for application updates.
  4521  	ConditionalToken *string `min:"1" type:"string"`
  4522  
  4523  	// The current timestamp when the application was created.
  4524  	CreateTimestamp *time.Time `type:"timestamp"`
  4525  
  4526  	// The current timestamp when the application was last updated.
  4527  	LastUpdateTimestamp *time.Time `type:"timestamp"`
  4528  
  4529  	// The runtime environment for the application (SQL-1_0, FLINK-1_6, FLINK-1_8,
  4530  	// or FLINK-1_11).
  4531  	//
  4532  	// RuntimeEnvironment is a required field
  4533  	RuntimeEnvironment *string `type:"string" required:"true" enum:"RuntimeEnvironment"`
  4534  
  4535  	// Specifies the IAM role that the application uses to access external resources.
  4536  	ServiceExecutionRole *string `min:"1" type:"string"`
  4537  }
  4538  
  4539  // String returns the string representation.
  4540  //
  4541  // API parameter values that are decorated as "sensitive" in the API will not
  4542  // be included in the string output. The member name will be present, but the
  4543  // value will be replaced with "sensitive".
  4544  func (s ApplicationDetail) String() string {
  4545  	return awsutil.Prettify(s)
  4546  }
  4547  
  4548  // GoString returns the string representation.
  4549  //
  4550  // API parameter values that are decorated as "sensitive" in the API will not
  4551  // be included in the string output. The member name will be present, but the
  4552  // value will be replaced with "sensitive".
  4553  func (s ApplicationDetail) GoString() string {
  4554  	return s.String()
  4555  }
  4556  
  4557  // SetApplicationARN sets the ApplicationARN field's value.
  4558  func (s *ApplicationDetail) SetApplicationARN(v string) *ApplicationDetail {
  4559  	s.ApplicationARN = &v
  4560  	return s
  4561  }
  4562  
  4563  // SetApplicationConfigurationDescription sets the ApplicationConfigurationDescription field's value.
  4564  func (s *ApplicationDetail) SetApplicationConfigurationDescription(v *ApplicationConfigurationDescription) *ApplicationDetail {
  4565  	s.ApplicationConfigurationDescription = v
  4566  	return s
  4567  }
  4568  
  4569  // SetApplicationDescription sets the ApplicationDescription field's value.
  4570  func (s *ApplicationDetail) SetApplicationDescription(v string) *ApplicationDetail {
  4571  	s.ApplicationDescription = &v
  4572  	return s
  4573  }
  4574  
  4575  // SetApplicationMaintenanceConfigurationDescription sets the ApplicationMaintenanceConfigurationDescription field's value.
  4576  func (s *ApplicationDetail) SetApplicationMaintenanceConfigurationDescription(v *ApplicationMaintenanceConfigurationDescription) *ApplicationDetail {
  4577  	s.ApplicationMaintenanceConfigurationDescription = v
  4578  	return s
  4579  }
  4580  
  4581  // SetApplicationMode sets the ApplicationMode field's value.
  4582  func (s *ApplicationDetail) SetApplicationMode(v string) *ApplicationDetail {
  4583  	s.ApplicationMode = &v
  4584  	return s
  4585  }
  4586  
  4587  // SetApplicationName sets the ApplicationName field's value.
  4588  func (s *ApplicationDetail) SetApplicationName(v string) *ApplicationDetail {
  4589  	s.ApplicationName = &v
  4590  	return s
  4591  }
  4592  
  4593  // SetApplicationStatus sets the ApplicationStatus field's value.
  4594  func (s *ApplicationDetail) SetApplicationStatus(v string) *ApplicationDetail {
  4595  	s.ApplicationStatus = &v
  4596  	return s
  4597  }
  4598  
  4599  // SetApplicationVersionId sets the ApplicationVersionId field's value.
  4600  func (s *ApplicationDetail) SetApplicationVersionId(v int64) *ApplicationDetail {
  4601  	s.ApplicationVersionId = &v
  4602  	return s
  4603  }
  4604  
  4605  // SetApplicationVersionRolledBackFrom sets the ApplicationVersionRolledBackFrom field's value.
  4606  func (s *ApplicationDetail) SetApplicationVersionRolledBackFrom(v int64) *ApplicationDetail {
  4607  	s.ApplicationVersionRolledBackFrom = &v
  4608  	return s
  4609  }
  4610  
  4611  // SetApplicationVersionRolledBackTo sets the ApplicationVersionRolledBackTo field's value.
  4612  func (s *ApplicationDetail) SetApplicationVersionRolledBackTo(v int64) *ApplicationDetail {
  4613  	s.ApplicationVersionRolledBackTo = &v
  4614  	return s
  4615  }
  4616  
  4617  // SetApplicationVersionUpdatedFrom sets the ApplicationVersionUpdatedFrom field's value.
  4618  func (s *ApplicationDetail) SetApplicationVersionUpdatedFrom(v int64) *ApplicationDetail {
  4619  	s.ApplicationVersionUpdatedFrom = &v
  4620  	return s
  4621  }
  4622  
  4623  // SetCloudWatchLoggingOptionDescriptions sets the CloudWatchLoggingOptionDescriptions field's value.
  4624  func (s *ApplicationDetail) SetCloudWatchLoggingOptionDescriptions(v []*CloudWatchLoggingOptionDescription) *ApplicationDetail {
  4625  	s.CloudWatchLoggingOptionDescriptions = v
  4626  	return s
  4627  }
  4628  
  4629  // SetConditionalToken sets the ConditionalToken field's value.
  4630  func (s *ApplicationDetail) SetConditionalToken(v string) *ApplicationDetail {
  4631  	s.ConditionalToken = &v
  4632  	return s
  4633  }
  4634  
  4635  // SetCreateTimestamp sets the CreateTimestamp field's value.
  4636  func (s *ApplicationDetail) SetCreateTimestamp(v time.Time) *ApplicationDetail {
  4637  	s.CreateTimestamp = &v
  4638  	return s
  4639  }
  4640  
  4641  // SetLastUpdateTimestamp sets the LastUpdateTimestamp field's value.
  4642  func (s *ApplicationDetail) SetLastUpdateTimestamp(v time.Time) *ApplicationDetail {
  4643  	s.LastUpdateTimestamp = &v
  4644  	return s
  4645  }
  4646  
  4647  // SetRuntimeEnvironment sets the RuntimeEnvironment field's value.
  4648  func (s *ApplicationDetail) SetRuntimeEnvironment(v string) *ApplicationDetail {
  4649  	s.RuntimeEnvironment = &v
  4650  	return s
  4651  }
  4652  
  4653  // SetServiceExecutionRole sets the ServiceExecutionRole field's value.
  4654  func (s *ApplicationDetail) SetServiceExecutionRole(v string) *ApplicationDetail {
  4655  	s.ServiceExecutionRole = &v
  4656  	return s
  4657  }
  4658  
  4659  // The details of the maintenance configuration for the application.
  4660  type ApplicationMaintenanceConfigurationDescription struct {
  4661  	_ struct{} `type:"structure"`
  4662  
  4663  	// The end time for the maintenance window.
  4664  	//
  4665  	// ApplicationMaintenanceWindowEndTime is a required field
  4666  	ApplicationMaintenanceWindowEndTime *string `min:"5" type:"string" required:"true"`
  4667  
  4668  	// The start time for the maintenance window.
  4669  	//
  4670  	// ApplicationMaintenanceWindowStartTime is a required field
  4671  	ApplicationMaintenanceWindowStartTime *string `min:"5" type:"string" required:"true"`
  4672  }
  4673  
  4674  // String returns the string representation.
  4675  //
  4676  // API parameter values that are decorated as "sensitive" in the API will not
  4677  // be included in the string output. The member name will be present, but the
  4678  // value will be replaced with "sensitive".
  4679  func (s ApplicationMaintenanceConfigurationDescription) String() string {
  4680  	return awsutil.Prettify(s)
  4681  }
  4682  
  4683  // GoString returns the string representation.
  4684  //
  4685  // API parameter values that are decorated as "sensitive" in the API will not
  4686  // be included in the string output. The member name will be present, but the
  4687  // value will be replaced with "sensitive".
  4688  func (s ApplicationMaintenanceConfigurationDescription) GoString() string {
  4689  	return s.String()
  4690  }
  4691  
  4692  // SetApplicationMaintenanceWindowEndTime sets the ApplicationMaintenanceWindowEndTime field's value.
  4693  func (s *ApplicationMaintenanceConfigurationDescription) SetApplicationMaintenanceWindowEndTime(v string) *ApplicationMaintenanceConfigurationDescription {
  4694  	s.ApplicationMaintenanceWindowEndTime = &v
  4695  	return s
  4696  }
  4697  
  4698  // SetApplicationMaintenanceWindowStartTime sets the ApplicationMaintenanceWindowStartTime field's value.
  4699  func (s *ApplicationMaintenanceConfigurationDescription) SetApplicationMaintenanceWindowStartTime(v string) *ApplicationMaintenanceConfigurationDescription {
  4700  	s.ApplicationMaintenanceWindowStartTime = &v
  4701  	return s
  4702  }
  4703  
  4704  // Describes the updated maintenance configuration for the application.
  4705  type ApplicationMaintenanceConfigurationUpdate struct {
  4706  	_ struct{} `type:"structure"`
  4707  
  4708  	// The updated start time for the maintenance window.
  4709  	//
  4710  	// ApplicationMaintenanceWindowStartTimeUpdate is a required field
  4711  	ApplicationMaintenanceWindowStartTimeUpdate *string `min:"5" type:"string" required:"true"`
  4712  }
  4713  
  4714  // String returns the string representation.
  4715  //
  4716  // API parameter values that are decorated as "sensitive" in the API will not
  4717  // be included in the string output. The member name will be present, but the
  4718  // value will be replaced with "sensitive".
  4719  func (s ApplicationMaintenanceConfigurationUpdate) String() string {
  4720  	return awsutil.Prettify(s)
  4721  }
  4722  
  4723  // GoString returns the string representation.
  4724  //
  4725  // API parameter values that are decorated as "sensitive" in the API will not
  4726  // be included in the string output. The member name will be present, but the
  4727  // value will be replaced with "sensitive".
  4728  func (s ApplicationMaintenanceConfigurationUpdate) GoString() string {
  4729  	return s.String()
  4730  }
  4731  
  4732  // Validate inspects the fields of the type to determine if they are valid.
  4733  func (s *ApplicationMaintenanceConfigurationUpdate) Validate() error {
  4734  	invalidParams := request.ErrInvalidParams{Context: "ApplicationMaintenanceConfigurationUpdate"}
  4735  	if s.ApplicationMaintenanceWindowStartTimeUpdate == nil {
  4736  		invalidParams.Add(request.NewErrParamRequired("ApplicationMaintenanceWindowStartTimeUpdate"))
  4737  	}
  4738  	if s.ApplicationMaintenanceWindowStartTimeUpdate != nil && len(*s.ApplicationMaintenanceWindowStartTimeUpdate) < 5 {
  4739  		invalidParams.Add(request.NewErrParamMinLen("ApplicationMaintenanceWindowStartTimeUpdate", 5))
  4740  	}
  4741  
  4742  	if invalidParams.Len() > 0 {
  4743  		return invalidParams
  4744  	}
  4745  	return nil
  4746  }
  4747  
  4748  // SetApplicationMaintenanceWindowStartTimeUpdate sets the ApplicationMaintenanceWindowStartTimeUpdate field's value.
  4749  func (s *ApplicationMaintenanceConfigurationUpdate) SetApplicationMaintenanceWindowStartTimeUpdate(v string) *ApplicationMaintenanceConfigurationUpdate {
  4750  	s.ApplicationMaintenanceWindowStartTimeUpdate = &v
  4751  	return s
  4752  }
  4753  
  4754  // Specifies the method and snapshot to use when restarting an application using
  4755  // previously saved application state.
  4756  type ApplicationRestoreConfiguration struct {
  4757  	_ struct{} `type:"structure"`
  4758  
  4759  	// Specifies how the application should be restored.
  4760  	//
  4761  	// ApplicationRestoreType is a required field
  4762  	ApplicationRestoreType *string `type:"string" required:"true" enum:"ApplicationRestoreType"`
  4763  
  4764  	// The identifier of an existing snapshot of application state to use to restart
  4765  	// an application. The application uses this value if RESTORE_FROM_CUSTOM_SNAPSHOT
  4766  	// is specified for the ApplicationRestoreType.
  4767  	SnapshotName *string `min:"1" type:"string"`
  4768  }
  4769  
  4770  // String returns the string representation.
  4771  //
  4772  // API parameter values that are decorated as "sensitive" in the API will not
  4773  // be included in the string output. The member name will be present, but the
  4774  // value will be replaced with "sensitive".
  4775  func (s ApplicationRestoreConfiguration) String() string {
  4776  	return awsutil.Prettify(s)
  4777  }
  4778  
  4779  // GoString returns the string representation.
  4780  //
  4781  // API parameter values that are decorated as "sensitive" in the API will not
  4782  // be included in the string output. The member name will be present, but the
  4783  // value will be replaced with "sensitive".
  4784  func (s ApplicationRestoreConfiguration) GoString() string {
  4785  	return s.String()
  4786  }
  4787  
  4788  // Validate inspects the fields of the type to determine if they are valid.
  4789  func (s *ApplicationRestoreConfiguration) Validate() error {
  4790  	invalidParams := request.ErrInvalidParams{Context: "ApplicationRestoreConfiguration"}
  4791  	if s.ApplicationRestoreType == nil {
  4792  		invalidParams.Add(request.NewErrParamRequired("ApplicationRestoreType"))
  4793  	}
  4794  	if s.SnapshotName != nil && len(*s.SnapshotName) < 1 {
  4795  		invalidParams.Add(request.NewErrParamMinLen("SnapshotName", 1))
  4796  	}
  4797  
  4798  	if invalidParams.Len() > 0 {
  4799  		return invalidParams
  4800  	}
  4801  	return nil
  4802  }
  4803  
  4804  // SetApplicationRestoreType sets the ApplicationRestoreType field's value.
  4805  func (s *ApplicationRestoreConfiguration) SetApplicationRestoreType(v string) *ApplicationRestoreConfiguration {
  4806  	s.ApplicationRestoreType = &v
  4807  	return s
  4808  }
  4809  
  4810  // SetSnapshotName sets the SnapshotName field's value.
  4811  func (s *ApplicationRestoreConfiguration) SetSnapshotName(v string) *ApplicationRestoreConfiguration {
  4812  	s.SnapshotName = &v
  4813  	return s
  4814  }
  4815  
  4816  // Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics
  4817  // application.
  4818  type ApplicationSnapshotConfiguration struct {
  4819  	_ struct{} `type:"structure"`
  4820  
  4821  	// Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics
  4822  	// application.
  4823  	//
  4824  	// SnapshotsEnabled is a required field
  4825  	SnapshotsEnabled *bool `type:"boolean" required:"true"`
  4826  }
  4827  
  4828  // String returns the string representation.
  4829  //
  4830  // API parameter values that are decorated as "sensitive" in the API will not
  4831  // be included in the string output. The member name will be present, but the
  4832  // value will be replaced with "sensitive".
  4833  func (s ApplicationSnapshotConfiguration) String() string {
  4834  	return awsutil.Prettify(s)
  4835  }
  4836  
  4837  // GoString returns the string representation.
  4838  //
  4839  // API parameter values that are decorated as "sensitive" in the API will not
  4840  // be included in the string output. The member name will be present, but the
  4841  // value will be replaced with "sensitive".
  4842  func (s ApplicationSnapshotConfiguration) GoString() string {
  4843  	return s.String()
  4844  }
  4845  
  4846  // Validate inspects the fields of the type to determine if they are valid.
  4847  func (s *ApplicationSnapshotConfiguration) Validate() error {
  4848  	invalidParams := request.ErrInvalidParams{Context: "ApplicationSnapshotConfiguration"}
  4849  	if s.SnapshotsEnabled == nil {
  4850  		invalidParams.Add(request.NewErrParamRequired("SnapshotsEnabled"))
  4851  	}
  4852  
  4853  	if invalidParams.Len() > 0 {
  4854  		return invalidParams
  4855  	}
  4856  	return nil
  4857  }
  4858  
  4859  // SetSnapshotsEnabled sets the SnapshotsEnabled field's value.
  4860  func (s *ApplicationSnapshotConfiguration) SetSnapshotsEnabled(v bool) *ApplicationSnapshotConfiguration {
  4861  	s.SnapshotsEnabled = &v
  4862  	return s
  4863  }
  4864  
  4865  // Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics
  4866  // application.
  4867  type ApplicationSnapshotConfigurationDescription struct {
  4868  	_ struct{} `type:"structure"`
  4869  
  4870  	// Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics
  4871  	// application.
  4872  	//
  4873  	// SnapshotsEnabled is a required field
  4874  	SnapshotsEnabled *bool `type:"boolean" required:"true"`
  4875  }
  4876  
  4877  // String returns the string representation.
  4878  //
  4879  // API parameter values that are decorated as "sensitive" in the API will not
  4880  // be included in the string output. The member name will be present, but the
  4881  // value will be replaced with "sensitive".
  4882  func (s ApplicationSnapshotConfigurationDescription) String() string {
  4883  	return awsutil.Prettify(s)
  4884  }
  4885  
  4886  // GoString returns the string representation.
  4887  //
  4888  // API parameter values that are decorated as "sensitive" in the API will not
  4889  // be included in the string output. The member name will be present, but the
  4890  // value will be replaced with "sensitive".
  4891  func (s ApplicationSnapshotConfigurationDescription) GoString() string {
  4892  	return s.String()
  4893  }
  4894  
  4895  // SetSnapshotsEnabled sets the SnapshotsEnabled field's value.
  4896  func (s *ApplicationSnapshotConfigurationDescription) SetSnapshotsEnabled(v bool) *ApplicationSnapshotConfigurationDescription {
  4897  	s.SnapshotsEnabled = &v
  4898  	return s
  4899  }
  4900  
  4901  // Describes updates to whether snapshots are enabled for a Flink-based Kinesis
  4902  // Data Analytics application.
  4903  type ApplicationSnapshotConfigurationUpdate struct {
  4904  	_ struct{} `type:"structure"`
  4905  
  4906  	// Describes updates to whether snapshots are enabled for an application.
  4907  	//
  4908  	// SnapshotsEnabledUpdate is a required field
  4909  	SnapshotsEnabledUpdate *bool `type:"boolean" required:"true"`
  4910  }
  4911  
  4912  // String returns the string representation.
  4913  //
  4914  // API parameter values that are decorated as "sensitive" in the API will not
  4915  // be included in the string output. The member name will be present, but the
  4916  // value will be replaced with "sensitive".
  4917  func (s ApplicationSnapshotConfigurationUpdate) String() string {
  4918  	return awsutil.Prettify(s)
  4919  }
  4920  
  4921  // GoString returns the string representation.
  4922  //
  4923  // API parameter values that are decorated as "sensitive" in the API will not
  4924  // be included in the string output. The member name will be present, but the
  4925  // value will be replaced with "sensitive".
  4926  func (s ApplicationSnapshotConfigurationUpdate) GoString() string {
  4927  	return s.String()
  4928  }
  4929  
  4930  // Validate inspects the fields of the type to determine if they are valid.
  4931  func (s *ApplicationSnapshotConfigurationUpdate) Validate() error {
  4932  	invalidParams := request.ErrInvalidParams{Context: "ApplicationSnapshotConfigurationUpdate"}
  4933  	if s.SnapshotsEnabledUpdate == nil {
  4934  		invalidParams.Add(request.NewErrParamRequired("SnapshotsEnabledUpdate"))
  4935  	}
  4936  
  4937  	if invalidParams.Len() > 0 {
  4938  		return invalidParams
  4939  	}
  4940  	return nil
  4941  }
  4942  
  4943  // SetSnapshotsEnabledUpdate sets the SnapshotsEnabledUpdate field's value.
  4944  func (s *ApplicationSnapshotConfigurationUpdate) SetSnapshotsEnabledUpdate(v bool) *ApplicationSnapshotConfigurationUpdate {
  4945  	s.SnapshotsEnabledUpdate = &v
  4946  	return s
  4947  }
  4948  
  4949  // Provides application summary information, including the application Amazon
  4950  // Resource Name (ARN), name, and status.
  4951  type ApplicationSummary struct {
  4952  	_ struct{} `type:"structure"`
  4953  
  4954  	// The ARN of the application.
  4955  	//
  4956  	// ApplicationARN is a required field
  4957  	ApplicationARN *string `min:"1" type:"string" required:"true"`
  4958  
  4959  	// For a Kinesis Data Analytics for Apache Flink application, the mode is STREAMING.
  4960  	// For a Kinesis Data Analytics Studio notebook, it is INTERACTIVE.
  4961  	ApplicationMode *string `type:"string" enum:"ApplicationMode"`
  4962  
  4963  	// The name of the application.
  4964  	//
  4965  	// ApplicationName is a required field
  4966  	ApplicationName *string `min:"1" type:"string" required:"true"`
  4967  
  4968  	// The status of the application.
  4969  	//
  4970  	// ApplicationStatus is a required field
  4971  	ApplicationStatus *string `type:"string" required:"true" enum:"ApplicationStatus"`
  4972  
  4973  	// Provides the current application version.
  4974  	//
  4975  	// ApplicationVersionId is a required field
  4976  	ApplicationVersionId *int64 `min:"1" type:"long" required:"true"`
  4977  
  4978  	// The runtime environment for the application.
  4979  	//
  4980  	// RuntimeEnvironment is a required field
  4981  	RuntimeEnvironment *string `type:"string" required:"true" enum:"RuntimeEnvironment"`
  4982  }
  4983  
  4984  // String returns the string representation.
  4985  //
  4986  // API parameter values that are decorated as "sensitive" in the API will not
  4987  // be included in the string output. The member name will be present, but the
  4988  // value will be replaced with "sensitive".
  4989  func (s ApplicationSummary) String() string {
  4990  	return awsutil.Prettify(s)
  4991  }
  4992  
  4993  // GoString returns the string representation.
  4994  //
  4995  // API parameter values that are decorated as "sensitive" in the API will not
  4996  // be included in the string output. The member name will be present, but the
  4997  // value will be replaced with "sensitive".
  4998  func (s ApplicationSummary) GoString() string {
  4999  	return s.String()
  5000  }
  5001  
  5002  // SetApplicationARN sets the ApplicationARN field's value.
  5003  func (s *ApplicationSummary) SetApplicationARN(v string) *ApplicationSummary {
  5004  	s.ApplicationARN = &v
  5005  	return s
  5006  }
  5007  
  5008  // SetApplicationMode sets the ApplicationMode field's value.
  5009  func (s *ApplicationSummary) SetApplicationMode(v string) *ApplicationSummary {
  5010  	s.ApplicationMode = &v
  5011  	return s
  5012  }
  5013  
  5014  // SetApplicationName sets the ApplicationName field's value.
  5015  func (s *ApplicationSummary) SetApplicationName(v string) *ApplicationSummary {
  5016  	s.ApplicationName = &v
  5017  	return s
  5018  }
  5019  
  5020  // SetApplicationStatus sets the ApplicationStatus field's value.
  5021  func (s *ApplicationSummary) SetApplicationStatus(v string) *ApplicationSummary {
  5022  	s.ApplicationStatus = &v
  5023  	return s
  5024  }
  5025  
  5026  // SetApplicationVersionId sets the ApplicationVersionId field's value.
  5027  func (s *ApplicationSummary) SetApplicationVersionId(v int64) *ApplicationSummary {
  5028  	s.ApplicationVersionId = &v
  5029  	return s
  5030  }
  5031  
  5032  // SetRuntimeEnvironment sets the RuntimeEnvironment field's value.
  5033  func (s *ApplicationSummary) SetRuntimeEnvironment(v string) *ApplicationSummary {
  5034  	s.RuntimeEnvironment = &v
  5035  	return s
  5036  }
  5037  
  5038  // The summary of the application version.
  5039  type ApplicationVersionSummary struct {
  5040  	_ struct{} `type:"structure"`
  5041  
  5042  	// The status of the application.
  5043  	//
  5044  	// ApplicationStatus is a required field
  5045  	ApplicationStatus *string `type:"string" required:"true" enum:"ApplicationStatus"`
  5046  
  5047  	// The ID of the application version. Kinesis Data Analytics updates the ApplicationVersionId
  5048  	// each time you update the application.
  5049  	//
  5050  	// ApplicationVersionId is a required field
  5051  	ApplicationVersionId *int64 `min:"1" type:"long" required:"true"`
  5052  }
  5053  
  5054  // String returns the string representation.
  5055  //
  5056  // API parameter values that are decorated as "sensitive" in the API will not
  5057  // be included in the string output. The member name will be present, but the
  5058  // value will be replaced with "sensitive".
  5059  func (s ApplicationVersionSummary) String() string {
  5060  	return awsutil.Prettify(s)
  5061  }
  5062  
  5063  // GoString returns the string representation.
  5064  //
  5065  // API parameter values that are decorated as "sensitive" in the API will not
  5066  // be included in the string output. The member name will be present, but the
  5067  // value will be replaced with "sensitive".
  5068  func (s ApplicationVersionSummary) GoString() string {
  5069  	return s.String()
  5070  }
  5071  
  5072  // SetApplicationStatus sets the ApplicationStatus field's value.
  5073  func (s *ApplicationVersionSummary) SetApplicationStatus(v string) *ApplicationVersionSummary {
  5074  	s.ApplicationStatus = &v
  5075  	return s
  5076  }
  5077  
  5078  // SetApplicationVersionId sets the ApplicationVersionId field's value.
  5079  func (s *ApplicationVersionSummary) SetApplicationVersionId(v int64) *ApplicationVersionSummary {
  5080  	s.ApplicationVersionId = &v
  5081  	return s
  5082  }
  5083  
  5084  // For a SQL-based Kinesis Data Analytics application, provides additional mapping
  5085  // information when the record format uses delimiters, such as CSV. For example,
  5086  // the following sample records use CSV format, where the records use the '\n'
  5087  // as the row delimiter and a comma (",") as the column delimiter:
  5088  //
  5089  // "name1", "address1"
  5090  //
  5091  // "name2", "address2"
  5092  type CSVMappingParameters struct {
  5093  	_ struct{} `type:"structure"`
  5094  
  5095  	// The column delimiter. For example, in a CSV format, a comma (",") is the
  5096  	// typical column delimiter.
  5097  	//
  5098  	// RecordColumnDelimiter is a required field
  5099  	RecordColumnDelimiter *string `min:"1" type:"string" required:"true"`
  5100  
  5101  	// The row delimiter. For example, in a CSV format, '\n' is the typical row
  5102  	// delimiter.
  5103  	//
  5104  	// RecordRowDelimiter is a required field
  5105  	RecordRowDelimiter *string `min:"1" type:"string" required:"true"`
  5106  }
  5107  
  5108  // String returns the string representation.
  5109  //
  5110  // API parameter values that are decorated as "sensitive" in the API will not
  5111  // be included in the string output. The member name will be present, but the
  5112  // value will be replaced with "sensitive".
  5113  func (s CSVMappingParameters) String() string {
  5114  	return awsutil.Prettify(s)
  5115  }
  5116  
  5117  // GoString returns the string representation.
  5118  //
  5119  // API parameter values that are decorated as "sensitive" in the API will not
  5120  // be included in the string output. The member name will be present, but the
  5121  // value will be replaced with "sensitive".
  5122  func (s CSVMappingParameters) GoString() string {
  5123  	return s.String()
  5124  }
  5125  
  5126  // Validate inspects the fields of the type to determine if they are valid.
  5127  func (s *CSVMappingParameters) Validate() error {
  5128  	invalidParams := request.ErrInvalidParams{Context: "CSVMappingParameters"}
  5129  	if s.RecordColumnDelimiter == nil {
  5130  		invalidParams.Add(request.NewErrParamRequired("RecordColumnDelimiter"))
  5131  	}
  5132  	if s.RecordColumnDelimiter != nil && len(*s.RecordColumnDelimiter) < 1 {
  5133  		invalidParams.Add(request.NewErrParamMinLen("RecordColumnDelimiter", 1))
  5134  	}
  5135  	if s.RecordRowDelimiter == nil {
  5136  		invalidParams.Add(request.NewErrParamRequired("RecordRowDelimiter"))
  5137  	}
  5138  	if s.RecordRowDelimiter != nil && len(*s.RecordRowDelimiter) < 1 {
  5139  		invalidParams.Add(request.NewErrParamMinLen("RecordRowDelimiter", 1))
  5140  	}
  5141  
  5142  	if invalidParams.Len() > 0 {
  5143  		return invalidParams
  5144  	}
  5145  	return nil
  5146  }
  5147  
  5148  // SetRecordColumnDelimiter sets the RecordColumnDelimiter field's value.
  5149  func (s *CSVMappingParameters) SetRecordColumnDelimiter(v string) *CSVMappingParameters {
  5150  	s.RecordColumnDelimiter = &v
  5151  	return s
  5152  }
  5153  
  5154  // SetRecordRowDelimiter sets the RecordRowDelimiter field's value.
  5155  func (s *CSVMappingParameters) SetRecordRowDelimiter(v string) *CSVMappingParameters {
  5156  	s.RecordRowDelimiter = &v
  5157  	return s
  5158  }
  5159  
  5160  // The configuration parameters for the default AWS Glue database. You use this
  5161  // database for SQL queries that you write in a Kinesis Data Analytics Studio
  5162  // notebook.
  5163  type CatalogConfiguration struct {
  5164  	_ struct{} `type:"structure"`
  5165  
  5166  	// The configuration parameters for the default AWS Glue database. You use this
  5167  	// database for Apache Flink SQL queries and table API transforms that you write
  5168  	// in a Kinesis Data Analytics Studio notebook.
  5169  	//
  5170  	// GlueDataCatalogConfiguration is a required field
  5171  	GlueDataCatalogConfiguration *GlueDataCatalogConfiguration `type:"structure" required:"true"`
  5172  }
  5173  
  5174  // String returns the string representation.
  5175  //
  5176  // API parameter values that are decorated as "sensitive" in the API will not
  5177  // be included in the string output. The member name will be present, but the
  5178  // value will be replaced with "sensitive".
  5179  func (s CatalogConfiguration) String() string {
  5180  	return awsutil.Prettify(s)
  5181  }
  5182  
  5183  // GoString returns the string representation.
  5184  //
  5185  // API parameter values that are decorated as "sensitive" in the API will not
  5186  // be included in the string output. The member name will be present, but the
  5187  // value will be replaced with "sensitive".
  5188  func (s CatalogConfiguration) GoString() string {
  5189  	return s.String()
  5190  }
  5191  
  5192  // Validate inspects the fields of the type to determine if they are valid.
  5193  func (s *CatalogConfiguration) Validate() error {
  5194  	invalidParams := request.ErrInvalidParams{Context: "CatalogConfiguration"}
  5195  	if s.GlueDataCatalogConfiguration == nil {
  5196  		invalidParams.Add(request.NewErrParamRequired("GlueDataCatalogConfiguration"))
  5197  	}
  5198  	if s.GlueDataCatalogConfiguration != nil {
  5199  		if err := s.GlueDataCatalogConfiguration.Validate(); err != nil {
  5200  			invalidParams.AddNested("GlueDataCatalogConfiguration", err.(request.ErrInvalidParams))
  5201  		}
  5202  	}
  5203  
  5204  	if invalidParams.Len() > 0 {
  5205  		return invalidParams
  5206  	}
  5207  	return nil
  5208  }
  5209  
  5210  // SetGlueDataCatalogConfiguration sets the GlueDataCatalogConfiguration field's value.
  5211  func (s *CatalogConfiguration) SetGlueDataCatalogConfiguration(v *GlueDataCatalogConfiguration) *CatalogConfiguration {
  5212  	s.GlueDataCatalogConfiguration = v
  5213  	return s
  5214  }
  5215  
  5216  // The configuration parameters for the default AWS Glue database. You use this
  5217  // database for Apache Flink SQL queries and table API transforms that you write
  5218  // in a Kinesis Data Analytics Studio notebook.
  5219  type CatalogConfigurationDescription struct {
  5220  	_ struct{} `type:"structure"`
  5221  
  5222  	// The configuration parameters for the default AWS Glue database. You use this
  5223  	// database for SQL queries that you write in a Kinesis Data Analytics Studio
  5224  	// notebook.
  5225  	//
  5226  	// GlueDataCatalogConfigurationDescription is a required field
  5227  	GlueDataCatalogConfigurationDescription *GlueDataCatalogConfigurationDescription `type:"structure" required:"true"`
  5228  }
  5229  
  5230  // String returns the string representation.
  5231  //
  5232  // API parameter values that are decorated as "sensitive" in the API will not
  5233  // be included in the string output. The member name will be present, but the
  5234  // value will be replaced with "sensitive".
  5235  func (s CatalogConfigurationDescription) String() string {
  5236  	return awsutil.Prettify(s)
  5237  }
  5238  
  5239  // GoString returns the string representation.
  5240  //
  5241  // API parameter values that are decorated as "sensitive" in the API will not
  5242  // be included in the string output. The member name will be present, but the
  5243  // value will be replaced with "sensitive".
  5244  func (s CatalogConfigurationDescription) GoString() string {
  5245  	return s.String()
  5246  }
  5247  
  5248  // SetGlueDataCatalogConfigurationDescription sets the GlueDataCatalogConfigurationDescription field's value.
  5249  func (s *CatalogConfigurationDescription) SetGlueDataCatalogConfigurationDescription(v *GlueDataCatalogConfigurationDescription) *CatalogConfigurationDescription {
  5250  	s.GlueDataCatalogConfigurationDescription = v
  5251  	return s
  5252  }
  5253  
  5254  // Updates to
  5255  type CatalogConfigurationUpdate struct {
  5256  	_ struct{} `type:"structure"`
  5257  
  5258  	// Updates to the configuration parameters for the default AWS Glue database.
  5259  	// You use this database for SQL queries that you write in a Kinesis Data Analytics
  5260  	// Studio notebook.
  5261  	//
  5262  	// GlueDataCatalogConfigurationUpdate is a required field
  5263  	GlueDataCatalogConfigurationUpdate *GlueDataCatalogConfigurationUpdate `type:"structure" required:"true"`
  5264  }
  5265  
  5266  // String returns the string representation.
  5267  //
  5268  // API parameter values that are decorated as "sensitive" in the API will not
  5269  // be included in the string output. The member name will be present, but the
  5270  // value will be replaced with "sensitive".
  5271  func (s CatalogConfigurationUpdate) String() string {
  5272  	return awsutil.Prettify(s)
  5273  }
  5274  
  5275  // GoString returns the string representation.
  5276  //
  5277  // API parameter values that are decorated as "sensitive" in the API will not
  5278  // be included in the string output. The member name will be present, but the
  5279  // value will be replaced with "sensitive".
  5280  func (s CatalogConfigurationUpdate) GoString() string {
  5281  	return s.String()
  5282  }
  5283  
  5284  // Validate inspects the fields of the type to determine if they are valid.
  5285  func (s *CatalogConfigurationUpdate) Validate() error {
  5286  	invalidParams := request.ErrInvalidParams{Context: "CatalogConfigurationUpdate"}
  5287  	if s.GlueDataCatalogConfigurationUpdate == nil {
  5288  		invalidParams.Add(request.NewErrParamRequired("GlueDataCatalogConfigurationUpdate"))
  5289  	}
  5290  	if s.GlueDataCatalogConfigurationUpdate != nil {
  5291  		if err := s.GlueDataCatalogConfigurationUpdate.Validate(); err != nil {
  5292  			invalidParams.AddNested("GlueDataCatalogConfigurationUpdate", err.(request.ErrInvalidParams))
  5293  		}
  5294  	}
  5295  
  5296  	if invalidParams.Len() > 0 {
  5297  		return invalidParams
  5298  	}
  5299  	return nil
  5300  }
  5301  
  5302  // SetGlueDataCatalogConfigurationUpdate sets the GlueDataCatalogConfigurationUpdate field's value.
  5303  func (s *CatalogConfigurationUpdate) SetGlueDataCatalogConfigurationUpdate(v *GlueDataCatalogConfigurationUpdate) *CatalogConfigurationUpdate {
  5304  	s.GlueDataCatalogConfigurationUpdate = v
  5305  	return s
  5306  }
  5307  
  5308  // Describes an application's checkpointing configuration. Checkpointing is
  5309  // the process of persisting application state for fault tolerance. For more
  5310  // information, see Checkpoints for Fault Tolerance (https://ci.apache.org/projects/flink/flink-docs-release-1.8/concepts/programming-model.html#checkpoints-for-fault-tolerance)
  5311  // in the Apache Flink Documentation (https://ci.apache.org/projects/flink/flink-docs-release-1.8/).
  5312  type CheckpointConfiguration struct {
  5313  	_ struct{} `type:"structure"`
  5314  
  5315  	// Describes the interval in milliseconds between checkpoint operations.
  5316  	//
  5317  	// If CheckpointConfiguration.ConfigurationType is DEFAULT, the application
  5318  	// will use a CheckpointInterval value of 60000, even if this value is set to
  5319  	// another value using this API or in application code.
  5320  	CheckpointInterval *int64 `min:"1" type:"long"`
  5321  
  5322  	// Describes whether checkpointing is enabled for a Flink-based Kinesis Data
  5323  	// Analytics application.
  5324  	//
  5325  	// If CheckpointConfiguration.ConfigurationType is DEFAULT, the application
  5326  	// will use a CheckpointingEnabled value of true, even if this value is set
  5327  	// to another value using this API or in application code.
  5328  	CheckpointingEnabled *bool `type:"boolean"`
  5329  
  5330  	// Describes whether the application uses Kinesis Data Analytics' default checkpointing
  5331  	// behavior. You must set this property to CUSTOM in order to set the CheckpointingEnabled,
  5332  	// CheckpointInterval, or MinPauseBetweenCheckpoints parameters.
  5333  	//
  5334  	// If this value is set to DEFAULT, the application will use the following values,
  5335  	// even if they are set to other values using APIs or application code:
  5336  	//
  5337  	//    * CheckpointingEnabled: true
  5338  	//
  5339  	//    * CheckpointInterval: 60000
  5340  	//
  5341  	//    * MinPauseBetweenCheckpoints: 5000
  5342  	//
  5343  	// ConfigurationType is a required field
  5344  	ConfigurationType *string `type:"string" required:"true" enum:"ConfigurationType"`
  5345  
  5346  	// Describes the minimum time in milliseconds after a checkpoint operation completes
  5347  	// that a new checkpoint operation can start. If a checkpoint operation takes
  5348  	// longer than the CheckpointInterval, the application otherwise performs continual
  5349  	// checkpoint operations. For more information, see Tuning Checkpointing (https://ci.apache.org/projects/flink/flink-docs-release-1.8/ops/state/large_state_tuning.html#tuning-checkpointing)
  5350  	// in the Apache Flink Documentation (https://ci.apache.org/projects/flink/flink-docs-release-1.8/).
  5351  	//
  5352  	// If CheckpointConfiguration.ConfigurationType is DEFAULT, the application
  5353  	// will use a MinPauseBetweenCheckpoints value of 5000, even if this value is
  5354  	// set using this API or in application code.
  5355  	MinPauseBetweenCheckpoints *int64 `type:"long"`
  5356  }
  5357  
  5358  // String returns the string representation.
  5359  //
  5360  // API parameter values that are decorated as "sensitive" in the API will not
  5361  // be included in the string output. The member name will be present, but the
  5362  // value will be replaced with "sensitive".
  5363  func (s CheckpointConfiguration) String() string {
  5364  	return awsutil.Prettify(s)
  5365  }
  5366  
  5367  // GoString returns the string representation.
  5368  //
  5369  // API parameter values that are decorated as "sensitive" in the API will not
  5370  // be included in the string output. The member name will be present, but the
  5371  // value will be replaced with "sensitive".
  5372  func (s CheckpointConfiguration) GoString() string {
  5373  	return s.String()
  5374  }
  5375  
  5376  // Validate inspects the fields of the type to determine if they are valid.
  5377  func (s *CheckpointConfiguration) Validate() error {
  5378  	invalidParams := request.ErrInvalidParams{Context: "CheckpointConfiguration"}
  5379  	if s.CheckpointInterval != nil && *s.CheckpointInterval < 1 {
  5380  		invalidParams.Add(request.NewErrParamMinValue("CheckpointInterval", 1))
  5381  	}
  5382  	if s.ConfigurationType == nil {
  5383  		invalidParams.Add(request.NewErrParamRequired("ConfigurationType"))
  5384  	}
  5385  
  5386  	if invalidParams.Len() > 0 {
  5387  		return invalidParams
  5388  	}
  5389  	return nil
  5390  }
  5391  
  5392  // SetCheckpointInterval sets the CheckpointInterval field's value.
  5393  func (s *CheckpointConfiguration) SetCheckpointInterval(v int64) *CheckpointConfiguration {
  5394  	s.CheckpointInterval = &v
  5395  	return s
  5396  }
  5397  
  5398  // SetCheckpointingEnabled sets the CheckpointingEnabled field's value.
  5399  func (s *CheckpointConfiguration) SetCheckpointingEnabled(v bool) *CheckpointConfiguration {
  5400  	s.CheckpointingEnabled = &v
  5401  	return s
  5402  }
  5403  
  5404  // SetConfigurationType sets the ConfigurationType field's value.
  5405  func (s *CheckpointConfiguration) SetConfigurationType(v string) *CheckpointConfiguration {
  5406  	s.ConfigurationType = &v
  5407  	return s
  5408  }
  5409  
  5410  // SetMinPauseBetweenCheckpoints sets the MinPauseBetweenCheckpoints field's value.
  5411  func (s *CheckpointConfiguration) SetMinPauseBetweenCheckpoints(v int64) *CheckpointConfiguration {
  5412  	s.MinPauseBetweenCheckpoints = &v
  5413  	return s
  5414  }
  5415  
  5416  // Describes checkpointing parameters for a Flink-based Kinesis Data Analytics
  5417  // application.
  5418  type CheckpointConfigurationDescription struct {
  5419  	_ struct{} `type:"structure"`
  5420  
  5421  	// Describes the interval in milliseconds between checkpoint operations.
  5422  	//
  5423  	// If CheckpointConfiguration.ConfigurationType is DEFAULT, the application
  5424  	// will use a CheckpointInterval value of 60000, even if this value is set to
  5425  	// another value using this API or in application code.
  5426  	CheckpointInterval *int64 `min:"1" type:"long"`
  5427  
  5428  	// Describes whether checkpointing is enabled for a Flink-based Kinesis Data
  5429  	// Analytics application.
  5430  	//
  5431  	// If CheckpointConfiguration.ConfigurationType is DEFAULT, the application
  5432  	// will use a CheckpointingEnabled value of true, even if this value is set
  5433  	// to another value using this API or in application code.
  5434  	CheckpointingEnabled *bool `type:"boolean"`
  5435  
  5436  	// Describes whether the application uses the default checkpointing behavior
  5437  	// in Kinesis Data Analytics.
  5438  	//
  5439  	// If this value is set to DEFAULT, the application will use the following values,
  5440  	// even if they are set to other values using APIs or application code:
  5441  	//
  5442  	//    * CheckpointingEnabled: true
  5443  	//
  5444  	//    * CheckpointInterval: 60000
  5445  	//
  5446  	//    * MinPauseBetweenCheckpoints: 5000
  5447  	ConfigurationType *string `type:"string" enum:"ConfigurationType"`
  5448  
  5449  	// Describes the minimum time in milliseconds after a checkpoint operation completes
  5450  	// that a new checkpoint operation can start.
  5451  	//
  5452  	// If CheckpointConfiguration.ConfigurationType is DEFAULT, the application
  5453  	// will use a MinPauseBetweenCheckpoints value of 5000, even if this value is
  5454  	// set using this API or in application code.
  5455  	MinPauseBetweenCheckpoints *int64 `type:"long"`
  5456  }
  5457  
  5458  // String returns the string representation.
  5459  //
  5460  // API parameter values that are decorated as "sensitive" in the API will not
  5461  // be included in the string output. The member name will be present, but the
  5462  // value will be replaced with "sensitive".
  5463  func (s CheckpointConfigurationDescription) String() string {
  5464  	return awsutil.Prettify(s)
  5465  }
  5466  
  5467  // GoString returns the string representation.
  5468  //
  5469  // API parameter values that are decorated as "sensitive" in the API will not
  5470  // be included in the string output. The member name will be present, but the
  5471  // value will be replaced with "sensitive".
  5472  func (s CheckpointConfigurationDescription) GoString() string {
  5473  	return s.String()
  5474  }
  5475  
  5476  // SetCheckpointInterval sets the CheckpointInterval field's value.
  5477  func (s *CheckpointConfigurationDescription) SetCheckpointInterval(v int64) *CheckpointConfigurationDescription {
  5478  	s.CheckpointInterval = &v
  5479  	return s
  5480  }
  5481  
  5482  // SetCheckpointingEnabled sets the CheckpointingEnabled field's value.
  5483  func (s *CheckpointConfigurationDescription) SetCheckpointingEnabled(v bool) *CheckpointConfigurationDescription {
  5484  	s.CheckpointingEnabled = &v
  5485  	return s
  5486  }
  5487  
  5488  // SetConfigurationType sets the ConfigurationType field's value.
  5489  func (s *CheckpointConfigurationDescription) SetConfigurationType(v string) *CheckpointConfigurationDescription {
  5490  	s.ConfigurationType = &v
  5491  	return s
  5492  }
  5493  
  5494  // SetMinPauseBetweenCheckpoints sets the MinPauseBetweenCheckpoints field's value.
  5495  func (s *CheckpointConfigurationDescription) SetMinPauseBetweenCheckpoints(v int64) *CheckpointConfigurationDescription {
  5496  	s.MinPauseBetweenCheckpoints = &v
  5497  	return s
  5498  }
  5499  
  5500  // Describes updates to the checkpointing parameters for a Flink-based Kinesis
  5501  // Data Analytics application.
  5502  type CheckpointConfigurationUpdate struct {
  5503  	_ struct{} `type:"structure"`
  5504  
  5505  	// Describes updates to the interval in milliseconds between checkpoint operations.
  5506  	//
  5507  	// If CheckpointConfiguration.ConfigurationType is DEFAULT, the application
  5508  	// will use a CheckpointInterval value of 60000, even if this value is set to
  5509  	// another value using this API or in application code.
  5510  	CheckpointIntervalUpdate *int64 `min:"1" type:"long"`
  5511  
  5512  	// Describes updates to whether checkpointing is enabled for an application.
  5513  	//
  5514  	// If CheckpointConfiguration.ConfigurationType is DEFAULT, the application
  5515  	// will use a CheckpointingEnabled value of true, even if this value is set
  5516  	// to another value using this API or in application code.
  5517  	CheckpointingEnabledUpdate *bool `type:"boolean"`
  5518  
  5519  	// Describes updates to whether the application uses the default checkpointing
  5520  	// behavior of Kinesis Data Analytics. You must set this property to CUSTOM
  5521  	// in order to set the CheckpointingEnabled, CheckpointInterval, or MinPauseBetweenCheckpoints
  5522  	// parameters.
  5523  	//
  5524  	// If this value is set to DEFAULT, the application will use the following values,
  5525  	// even if they are set to other values using APIs or application code:
  5526  	//
  5527  	//    * CheckpointingEnabled: true
  5528  	//
  5529  	//    * CheckpointInterval: 60000
  5530  	//
  5531  	//    * MinPauseBetweenCheckpoints: 5000
  5532  	ConfigurationTypeUpdate *string `type:"string" enum:"ConfigurationType"`
  5533  
  5534  	// Describes updates to the minimum time in milliseconds after a checkpoint
  5535  	// operation completes that a new checkpoint operation can start.
  5536  	//
  5537  	// If CheckpointConfiguration.ConfigurationType is DEFAULT, the application
  5538  	// will use a MinPauseBetweenCheckpoints value of 5000, even if this value is
  5539  	// set using this API or in application code.
  5540  	MinPauseBetweenCheckpointsUpdate *int64 `type:"long"`
  5541  }
  5542  
  5543  // String returns the string representation.
  5544  //
  5545  // API parameter values that are decorated as "sensitive" in the API will not
  5546  // be included in the string output. The member name will be present, but the
  5547  // value will be replaced with "sensitive".
  5548  func (s CheckpointConfigurationUpdate) String() string {
  5549  	return awsutil.Prettify(s)
  5550  }
  5551  
  5552  // GoString returns the string representation.
  5553  //
  5554  // API parameter values that are decorated as "sensitive" in the API will not
  5555  // be included in the string output. The member name will be present, but the
  5556  // value will be replaced with "sensitive".
  5557  func (s CheckpointConfigurationUpdate) GoString() string {
  5558  	return s.String()
  5559  }
  5560  
  5561  // Validate inspects the fields of the type to determine if they are valid.
  5562  func (s *CheckpointConfigurationUpdate) Validate() error {
  5563  	invalidParams := request.ErrInvalidParams{Context: "CheckpointConfigurationUpdate"}
  5564  	if s.CheckpointIntervalUpdate != nil && *s.CheckpointIntervalUpdate < 1 {
  5565  		invalidParams.Add(request.NewErrParamMinValue("CheckpointIntervalUpdate", 1))
  5566  	}
  5567  
  5568  	if invalidParams.Len() > 0 {
  5569  		return invalidParams
  5570  	}
  5571  	return nil
  5572  }
  5573  
  5574  // SetCheckpointIntervalUpdate sets the CheckpointIntervalUpdate field's value.
  5575  func (s *CheckpointConfigurationUpdate) SetCheckpointIntervalUpdate(v int64) *CheckpointConfigurationUpdate {
  5576  	s.CheckpointIntervalUpdate = &v
  5577  	return s
  5578  }
  5579  
  5580  // SetCheckpointingEnabledUpdate sets the CheckpointingEnabledUpdate field's value.
  5581  func (s *CheckpointConfigurationUpdate) SetCheckpointingEnabledUpdate(v bool) *CheckpointConfigurationUpdate {
  5582  	s.CheckpointingEnabledUpdate = &v
  5583  	return s
  5584  }
  5585  
  5586  // SetConfigurationTypeUpdate sets the ConfigurationTypeUpdate field's value.
  5587  func (s *CheckpointConfigurationUpdate) SetConfigurationTypeUpdate(v string) *CheckpointConfigurationUpdate {
  5588  	s.ConfigurationTypeUpdate = &v
  5589  	return s
  5590  }
  5591  
  5592  // SetMinPauseBetweenCheckpointsUpdate sets the MinPauseBetweenCheckpointsUpdate field's value.
  5593  func (s *CheckpointConfigurationUpdate) SetMinPauseBetweenCheckpointsUpdate(v int64) *CheckpointConfigurationUpdate {
  5594  	s.MinPauseBetweenCheckpointsUpdate = &v
  5595  	return s
  5596  }
  5597  
  5598  // Provides a description of Amazon CloudWatch logging options, including the
  5599  // log stream Amazon Resource Name (ARN).
  5600  type CloudWatchLoggingOption struct {
  5601  	_ struct{} `type:"structure"`
  5602  
  5603  	// The ARN of the CloudWatch log to receive application messages.
  5604  	//
  5605  	// LogStreamARN is a required field
  5606  	LogStreamARN *string `min:"1" type:"string" required:"true"`
  5607  }
  5608  
  5609  // String returns the string representation.
  5610  //
  5611  // API parameter values that are decorated as "sensitive" in the API will not
  5612  // be included in the string output. The member name will be present, but the
  5613  // value will be replaced with "sensitive".
  5614  func (s CloudWatchLoggingOption) String() string {
  5615  	return awsutil.Prettify(s)
  5616  }
  5617  
  5618  // GoString returns the string representation.
  5619  //
  5620  // API parameter values that are decorated as "sensitive" in the API will not
  5621  // be included in the string output. The member name will be present, but the
  5622  // value will be replaced with "sensitive".
  5623  func (s CloudWatchLoggingOption) GoString() string {
  5624  	return s.String()
  5625  }
  5626  
  5627  // Validate inspects the fields of the type to determine if they are valid.
  5628  func (s *CloudWatchLoggingOption) Validate() error {
  5629  	invalidParams := request.ErrInvalidParams{Context: "CloudWatchLoggingOption"}
  5630  	if s.LogStreamARN == nil {
  5631  		invalidParams.Add(request.NewErrParamRequired("LogStreamARN"))
  5632  	}
  5633  	if s.LogStreamARN != nil && len(*s.LogStreamARN) < 1 {
  5634  		invalidParams.Add(request.NewErrParamMinLen("LogStreamARN", 1))
  5635  	}
  5636  
  5637  	if invalidParams.Len() > 0 {
  5638  		return invalidParams
  5639  	}
  5640  	return nil
  5641  }
  5642  
  5643  // SetLogStreamARN sets the LogStreamARN field's value.
  5644  func (s *CloudWatchLoggingOption) SetLogStreamARN(v string) *CloudWatchLoggingOption {
  5645  	s.LogStreamARN = &v
  5646  	return s
  5647  }
  5648  
  5649  // Describes the Amazon CloudWatch logging option.
  5650  type CloudWatchLoggingOptionDescription struct {
  5651  	_ struct{} `type:"structure"`
  5652  
  5653  	// The ID of the CloudWatch logging option description.
  5654  	CloudWatchLoggingOptionId *string `min:"1" type:"string"`
  5655  
  5656  	// The Amazon Resource Name (ARN) of the CloudWatch log to receive application
  5657  	// messages.
  5658  	//
  5659  	// LogStreamARN is a required field
  5660  	LogStreamARN *string `min:"1" type:"string" required:"true"`
  5661  
  5662  	// The IAM ARN of the role to use to send application messages.
  5663  	//
  5664  	// Provided for backward compatibility. Applications created with the current
  5665  	// API version have an application-level service execution role rather than
  5666  	// a resource-level role.
  5667  	RoleARN *string `min:"1" type:"string"`
  5668  }
  5669  
  5670  // String returns the string representation.
  5671  //
  5672  // API parameter values that are decorated as "sensitive" in the API will not
  5673  // be included in the string output. The member name will be present, but the
  5674  // value will be replaced with "sensitive".
  5675  func (s CloudWatchLoggingOptionDescription) String() string {
  5676  	return awsutil.Prettify(s)
  5677  }
  5678  
  5679  // GoString returns the string representation.
  5680  //
  5681  // API parameter values that are decorated as "sensitive" in the API will not
  5682  // be included in the string output. The member name will be present, but the
  5683  // value will be replaced with "sensitive".
  5684  func (s CloudWatchLoggingOptionDescription) GoString() string {
  5685  	return s.String()
  5686  }
  5687  
  5688  // SetCloudWatchLoggingOptionId sets the CloudWatchLoggingOptionId field's value.
  5689  func (s *CloudWatchLoggingOptionDescription) SetCloudWatchLoggingOptionId(v string) *CloudWatchLoggingOptionDescription {
  5690  	s.CloudWatchLoggingOptionId = &v
  5691  	return s
  5692  }
  5693  
  5694  // SetLogStreamARN sets the LogStreamARN field's value.
  5695  func (s *CloudWatchLoggingOptionDescription) SetLogStreamARN(v string) *CloudWatchLoggingOptionDescription {
  5696  	s.LogStreamARN = &v
  5697  	return s
  5698  }
  5699  
  5700  // SetRoleARN sets the RoleARN field's value.
  5701  func (s *CloudWatchLoggingOptionDescription) SetRoleARN(v string) *CloudWatchLoggingOptionDescription {
  5702  	s.RoleARN = &v
  5703  	return s
  5704  }
  5705  
  5706  // Describes the Amazon CloudWatch logging option updates.
  5707  type CloudWatchLoggingOptionUpdate struct {
  5708  	_ struct{} `type:"structure"`
  5709  
  5710  	// The ID of the CloudWatch logging option to update
  5711  	//
  5712  	// CloudWatchLoggingOptionId is a required field
  5713  	CloudWatchLoggingOptionId *string `min:"1" type:"string" required:"true"`
  5714  
  5715  	// The Amazon Resource Name (ARN) of the CloudWatch log to receive application
  5716  	// messages.
  5717  	LogStreamARNUpdate *string `min:"1" type:"string"`
  5718  }
  5719  
  5720  // String returns the string representation.
  5721  //
  5722  // API parameter values that are decorated as "sensitive" in the API will not
  5723  // be included in the string output. The member name will be present, but the
  5724  // value will be replaced with "sensitive".
  5725  func (s CloudWatchLoggingOptionUpdate) String() string {
  5726  	return awsutil.Prettify(s)
  5727  }
  5728  
  5729  // GoString returns the string representation.
  5730  //
  5731  // API parameter values that are decorated as "sensitive" in the API will not
  5732  // be included in the string output. The member name will be present, but the
  5733  // value will be replaced with "sensitive".
  5734  func (s CloudWatchLoggingOptionUpdate) GoString() string {
  5735  	return s.String()
  5736  }
  5737  
  5738  // Validate inspects the fields of the type to determine if they are valid.
  5739  func (s *CloudWatchLoggingOptionUpdate) Validate() error {
  5740  	invalidParams := request.ErrInvalidParams{Context: "CloudWatchLoggingOptionUpdate"}
  5741  	if s.CloudWatchLoggingOptionId == nil {
  5742  		invalidParams.Add(request.NewErrParamRequired("CloudWatchLoggingOptionId"))
  5743  	}
  5744  	if s.CloudWatchLoggingOptionId != nil && len(*s.CloudWatchLoggingOptionId) < 1 {
  5745  		invalidParams.Add(request.NewErrParamMinLen("CloudWatchLoggingOptionId", 1))
  5746  	}
  5747  	if s.LogStreamARNUpdate != nil && len(*s.LogStreamARNUpdate) < 1 {
  5748  		invalidParams.Add(request.NewErrParamMinLen("LogStreamARNUpdate", 1))
  5749  	}
  5750  
  5751  	if invalidParams.Len() > 0 {
  5752  		return invalidParams
  5753  	}
  5754  	return nil
  5755  }
  5756  
  5757  // SetCloudWatchLoggingOptionId sets the CloudWatchLoggingOptionId field's value.
  5758  func (s *CloudWatchLoggingOptionUpdate) SetCloudWatchLoggingOptionId(v string) *CloudWatchLoggingOptionUpdate {
  5759  	s.CloudWatchLoggingOptionId = &v
  5760  	return s
  5761  }
  5762  
  5763  // SetLogStreamARNUpdate sets the LogStreamARNUpdate field's value.
  5764  func (s *CloudWatchLoggingOptionUpdate) SetLogStreamARNUpdate(v string) *CloudWatchLoggingOptionUpdate {
  5765  	s.LogStreamARNUpdate = &v
  5766  	return s
  5767  }
  5768  
  5769  // Specifies either the application code, or the location of the application
  5770  // code, for a Flink-based Kinesis Data Analytics application.
  5771  type CodeContent struct {
  5772  	_ struct{} `type:"structure"`
  5773  
  5774  	// Information about the Amazon S3 bucket that contains the application code.
  5775  	S3ContentLocation *S3ContentLocation `type:"structure"`
  5776  
  5777  	// The text-format code for a Flink-based Kinesis Data Analytics application.
  5778  	TextContent *string `type:"string"`
  5779  
  5780  	// The zip-format code for a Flink-based Kinesis Data Analytics application.
  5781  	// ZipFileContent is automatically base64 encoded/decoded by the SDK.
  5782  	ZipFileContent []byte `type:"blob"`
  5783  }
  5784  
  5785  // String returns the string representation.
  5786  //
  5787  // API parameter values that are decorated as "sensitive" in the API will not
  5788  // be included in the string output. The member name will be present, but the
  5789  // value will be replaced with "sensitive".
  5790  func (s CodeContent) String() string {
  5791  	return awsutil.Prettify(s)
  5792  }
  5793  
  5794  // GoString returns the string representation.
  5795  //
  5796  // API parameter values that are decorated as "sensitive" in the API will not
  5797  // be included in the string output. The member name will be present, but the
  5798  // value will be replaced with "sensitive".
  5799  func (s CodeContent) GoString() string {
  5800  	return s.String()
  5801  }
  5802  
  5803  // Validate inspects the fields of the type to determine if they are valid.
  5804  func (s *CodeContent) Validate() error {
  5805  	invalidParams := request.ErrInvalidParams{Context: "CodeContent"}
  5806  	if s.S3ContentLocation != nil {
  5807  		if err := s.S3ContentLocation.Validate(); err != nil {
  5808  			invalidParams.AddNested("S3ContentLocation", err.(request.ErrInvalidParams))
  5809  		}
  5810  	}
  5811  
  5812  	if invalidParams.Len() > 0 {
  5813  		return invalidParams
  5814  	}
  5815  	return nil
  5816  }
  5817  
  5818  // SetS3ContentLocation sets the S3ContentLocation field's value.
  5819  func (s *CodeContent) SetS3ContentLocation(v *S3ContentLocation) *CodeContent {
  5820  	s.S3ContentLocation = v
  5821  	return s
  5822  }
  5823  
  5824  // SetTextContent sets the TextContent field's value.
  5825  func (s *CodeContent) SetTextContent(v string) *CodeContent {
  5826  	s.TextContent = &v
  5827  	return s
  5828  }
  5829  
  5830  // SetZipFileContent sets the ZipFileContent field's value.
  5831  func (s *CodeContent) SetZipFileContent(v []byte) *CodeContent {
  5832  	s.ZipFileContent = v
  5833  	return s
  5834  }
  5835  
  5836  // Describes details about the code of a Kinesis Data Analytics application.
  5837  type CodeContentDescription struct {
  5838  	_ struct{} `type:"structure"`
  5839  
  5840  	// The checksum that can be used to validate zip-format code.
  5841  	CodeMD5 *string `min:"128" type:"string"`
  5842  
  5843  	// The size in bytes of the application code. Can be used to validate zip-format
  5844  	// code.
  5845  	CodeSize *int64 `type:"long"`
  5846  
  5847  	// The S3 bucket Amazon Resource Name (ARN), file key, and object version of
  5848  	// the application code stored in Amazon S3.
  5849  	S3ApplicationCodeLocationDescription *S3ApplicationCodeLocationDescription `type:"structure"`
  5850  
  5851  	// The text-format code
  5852  	TextContent *string `type:"string"`
  5853  }
  5854  
  5855  // String returns the string representation.
  5856  //
  5857  // API parameter values that are decorated as "sensitive" in the API will not
  5858  // be included in the string output. The member name will be present, but the
  5859  // value will be replaced with "sensitive".
  5860  func (s CodeContentDescription) String() string {
  5861  	return awsutil.Prettify(s)
  5862  }
  5863  
  5864  // GoString returns the string representation.
  5865  //
  5866  // API parameter values that are decorated as "sensitive" in the API will not
  5867  // be included in the string output. The member name will be present, but the
  5868  // value will be replaced with "sensitive".
  5869  func (s CodeContentDescription) GoString() string {
  5870  	return s.String()
  5871  }
  5872  
  5873  // SetCodeMD5 sets the CodeMD5 field's value.
  5874  func (s *CodeContentDescription) SetCodeMD5(v string) *CodeContentDescription {
  5875  	s.CodeMD5 = &v
  5876  	return s
  5877  }
  5878  
  5879  // SetCodeSize sets the CodeSize field's value.
  5880  func (s *CodeContentDescription) SetCodeSize(v int64) *CodeContentDescription {
  5881  	s.CodeSize = &v
  5882  	return s
  5883  }
  5884  
  5885  // SetS3ApplicationCodeLocationDescription sets the S3ApplicationCodeLocationDescription field's value.
  5886  func (s *CodeContentDescription) SetS3ApplicationCodeLocationDescription(v *S3ApplicationCodeLocationDescription) *CodeContentDescription {
  5887  	s.S3ApplicationCodeLocationDescription = v
  5888  	return s
  5889  }
  5890  
  5891  // SetTextContent sets the TextContent field's value.
  5892  func (s *CodeContentDescription) SetTextContent(v string) *CodeContentDescription {
  5893  	s.TextContent = &v
  5894  	return s
  5895  }
  5896  
  5897  // Describes an update to the code of an application. Not supported for Apache
  5898  // Zeppelin.
  5899  type CodeContentUpdate struct {
  5900  	_ struct{} `type:"structure"`
  5901  
  5902  	// Describes an update to the location of code for an application.
  5903  	S3ContentLocationUpdate *S3ContentLocationUpdate `type:"structure"`
  5904  
  5905  	// Describes an update to the text code for an application.
  5906  	TextContentUpdate *string `type:"string"`
  5907  
  5908  	// Describes an update to the zipped code for an application.
  5909  	// ZipFileContentUpdate is automatically base64 encoded/decoded by the SDK.
  5910  	ZipFileContentUpdate []byte `type:"blob"`
  5911  }
  5912  
  5913  // String returns the string representation.
  5914  //
  5915  // API parameter values that are decorated as "sensitive" in the API will not
  5916  // be included in the string output. The member name will be present, but the
  5917  // value will be replaced with "sensitive".
  5918  func (s CodeContentUpdate) String() string {
  5919  	return awsutil.Prettify(s)
  5920  }
  5921  
  5922  // GoString returns the string representation.
  5923  //
  5924  // API parameter values that are decorated as "sensitive" in the API will not
  5925  // be included in the string output. The member name will be present, but the
  5926  // value will be replaced with "sensitive".
  5927  func (s CodeContentUpdate) GoString() string {
  5928  	return s.String()
  5929  }
  5930  
  5931  // Validate inspects the fields of the type to determine if they are valid.
  5932  func (s *CodeContentUpdate) Validate() error {
  5933  	invalidParams := request.ErrInvalidParams{Context: "CodeContentUpdate"}
  5934  	if s.S3ContentLocationUpdate != nil {
  5935  		if err := s.S3ContentLocationUpdate.Validate(); err != nil {
  5936  			invalidParams.AddNested("S3ContentLocationUpdate", err.(request.ErrInvalidParams))
  5937  		}
  5938  	}
  5939  
  5940  	if invalidParams.Len() > 0 {
  5941  		return invalidParams
  5942  	}
  5943  	return nil
  5944  }
  5945  
  5946  // SetS3ContentLocationUpdate sets the S3ContentLocationUpdate field's value.
  5947  func (s *CodeContentUpdate) SetS3ContentLocationUpdate(v *S3ContentLocationUpdate) *CodeContentUpdate {
  5948  	s.S3ContentLocationUpdate = v
  5949  	return s
  5950  }
  5951  
  5952  // SetTextContentUpdate sets the TextContentUpdate field's value.
  5953  func (s *CodeContentUpdate) SetTextContentUpdate(v string) *CodeContentUpdate {
  5954  	s.TextContentUpdate = &v
  5955  	return s
  5956  }
  5957  
  5958  // SetZipFileContentUpdate sets the ZipFileContentUpdate field's value.
  5959  func (s *CodeContentUpdate) SetZipFileContentUpdate(v []byte) *CodeContentUpdate {
  5960  	s.ZipFileContentUpdate = v
  5961  	return s
  5962  }
  5963  
  5964  // The user-provided application code (query) is not valid. This can be a simple
  5965  // syntax error.
  5966  type CodeValidationException struct {
  5967  	_            struct{}                  `type:"structure"`
  5968  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5969  
  5970  	Message_ *string `locationName:"Message" type:"string"`
  5971  }
  5972  
  5973  // String returns the string representation.
  5974  //
  5975  // API parameter values that are decorated as "sensitive" in the API will not
  5976  // be included in the string output. The member name will be present, but the
  5977  // value will be replaced with "sensitive".
  5978  func (s CodeValidationException) String() string {
  5979  	return awsutil.Prettify(s)
  5980  }
  5981  
  5982  // GoString returns the string representation.
  5983  //
  5984  // API parameter values that are decorated as "sensitive" in the API will not
  5985  // be included in the string output. The member name will be present, but the
  5986  // value will be replaced with "sensitive".
  5987  func (s CodeValidationException) GoString() string {
  5988  	return s.String()
  5989  }
  5990  
  5991  func newErrorCodeValidationException(v protocol.ResponseMetadata) error {
  5992  	return &CodeValidationException{
  5993  		RespMetadata: v,
  5994  	}
  5995  }
  5996  
  5997  // Code returns the exception type name.
  5998  func (s *CodeValidationException) Code() string {
  5999  	return "CodeValidationException"
  6000  }
  6001  
  6002  // Message returns the exception's message.
  6003  func (s *CodeValidationException) Message() string {
  6004  	if s.Message_ != nil {
  6005  		return *s.Message_
  6006  	}
  6007  	return ""
  6008  }
  6009  
  6010  // OrigErr always returns nil, satisfies awserr.Error interface.
  6011  func (s *CodeValidationException) OrigErr() error {
  6012  	return nil
  6013  }
  6014  
  6015  func (s *CodeValidationException) Error() string {
  6016  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6017  }
  6018  
  6019  // Status code returns the HTTP status code for the request's response error.
  6020  func (s *CodeValidationException) StatusCode() int {
  6021  	return s.RespMetadata.StatusCode
  6022  }
  6023  
  6024  // RequestID returns the service's response RequestID for request.
  6025  func (s *CodeValidationException) RequestID() string {
  6026  	return s.RespMetadata.RequestID
  6027  }
  6028  
  6029  // Exception thrown as a result of concurrent modifications to an application.
  6030  // This error can be the result of attempting to modify an application without
  6031  // using the current application ID.
  6032  type ConcurrentModificationException struct {
  6033  	_            struct{}                  `type:"structure"`
  6034  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6035  
  6036  	Message_ *string `locationName:"Message" type:"string"`
  6037  }
  6038  
  6039  // String returns the string representation.
  6040  //
  6041  // API parameter values that are decorated as "sensitive" in the API will not
  6042  // be included in the string output. The member name will be present, but the
  6043  // value will be replaced with "sensitive".
  6044  func (s ConcurrentModificationException) String() string {
  6045  	return awsutil.Prettify(s)
  6046  }
  6047  
  6048  // GoString returns the string representation.
  6049  //
  6050  // API parameter values that are decorated as "sensitive" in the API will not
  6051  // be included in the string output. The member name will be present, but the
  6052  // value will be replaced with "sensitive".
  6053  func (s ConcurrentModificationException) GoString() string {
  6054  	return s.String()
  6055  }
  6056  
  6057  func newErrorConcurrentModificationException(v protocol.ResponseMetadata) error {
  6058  	return &ConcurrentModificationException{
  6059  		RespMetadata: v,
  6060  	}
  6061  }
  6062  
  6063  // Code returns the exception type name.
  6064  func (s *ConcurrentModificationException) Code() string {
  6065  	return "ConcurrentModificationException"
  6066  }
  6067  
  6068  // Message returns the exception's message.
  6069  func (s *ConcurrentModificationException) Message() string {
  6070  	if s.Message_ != nil {
  6071  		return *s.Message_
  6072  	}
  6073  	return ""
  6074  }
  6075  
  6076  // OrigErr always returns nil, satisfies awserr.Error interface.
  6077  func (s *ConcurrentModificationException) OrigErr() error {
  6078  	return nil
  6079  }
  6080  
  6081  func (s *ConcurrentModificationException) Error() string {
  6082  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6083  }
  6084  
  6085  // Status code returns the HTTP status code for the request's response error.
  6086  func (s *ConcurrentModificationException) StatusCode() int {
  6087  	return s.RespMetadata.StatusCode
  6088  }
  6089  
  6090  // RequestID returns the service's response RequestID for request.
  6091  func (s *ConcurrentModificationException) RequestID() string {
  6092  	return s.RespMetadata.RequestID
  6093  }
  6094  
  6095  type CreateApplicationInput struct {
  6096  	_ struct{} `type:"structure"`
  6097  
  6098  	// Use this parameter to configure the application.
  6099  	ApplicationConfiguration *ApplicationConfiguration `type:"structure"`
  6100  
  6101  	// A summary description of the application.
  6102  	ApplicationDescription *string `type:"string"`
  6103  
  6104  	// Use the STREAMING mode to create a Kinesis Data Analytics Studio notebook.
  6105  	// To create a Kinesis Data Analytics Studio notebook, use the INTERACTIVE mode.
  6106  	ApplicationMode *string `type:"string" enum:"ApplicationMode"`
  6107  
  6108  	// The name of your application (for example, sample-app).
  6109  	//
  6110  	// ApplicationName is a required field
  6111  	ApplicationName *string `min:"1" type:"string" required:"true"`
  6112  
  6113  	// Use this parameter to configure an Amazon CloudWatch log stream to monitor
  6114  	// application configuration errors.
  6115  	CloudWatchLoggingOptions []*CloudWatchLoggingOption `type:"list"`
  6116  
  6117  	// The runtime environment for the application (SQL-1_0, FLINK-1_6, FLINK-1_8,
  6118  	// or FLINK-1_11).
  6119  	//
  6120  	// RuntimeEnvironment is a required field
  6121  	RuntimeEnvironment *string `type:"string" required:"true" enum:"RuntimeEnvironment"`
  6122  
  6123  	// The IAM role used by the application to access Kinesis data streams, Kinesis
  6124  	// Data Firehose delivery streams, Amazon S3 objects, and other external resources.
  6125  	//
  6126  	// ServiceExecutionRole is a required field
  6127  	ServiceExecutionRole *string `min:"1" type:"string" required:"true"`
  6128  
  6129  	// A list of one or more tags to assign to the application. A tag is a key-value
  6130  	// pair that identifies an application. Note that the maximum number of application
  6131  	// tags includes system tags. The maximum number of user-defined application
  6132  	// tags is 50. For more information, see Using Tagging (https://docs.aws.amazon.com/kinesisanalytics/latest/java/how-tagging.html).
  6133  	Tags []*Tag `min:"1" type:"list"`
  6134  }
  6135  
  6136  // String returns the string representation.
  6137  //
  6138  // API parameter values that are decorated as "sensitive" in the API will not
  6139  // be included in the string output. The member name will be present, but the
  6140  // value will be replaced with "sensitive".
  6141  func (s CreateApplicationInput) String() string {
  6142  	return awsutil.Prettify(s)
  6143  }
  6144  
  6145  // GoString returns the string representation.
  6146  //
  6147  // API parameter values that are decorated as "sensitive" in the API will not
  6148  // be included in the string output. The member name will be present, but the
  6149  // value will be replaced with "sensitive".
  6150  func (s CreateApplicationInput) GoString() string {
  6151  	return s.String()
  6152  }
  6153  
  6154  // Validate inspects the fields of the type to determine if they are valid.
  6155  func (s *CreateApplicationInput) Validate() error {
  6156  	invalidParams := request.ErrInvalidParams{Context: "CreateApplicationInput"}
  6157  	if s.ApplicationName == nil {
  6158  		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
  6159  	}
  6160  	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
  6161  		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
  6162  	}
  6163  	if s.RuntimeEnvironment == nil {
  6164  		invalidParams.Add(request.NewErrParamRequired("RuntimeEnvironment"))
  6165  	}
  6166  	if s.ServiceExecutionRole == nil {
  6167  		invalidParams.Add(request.NewErrParamRequired("ServiceExecutionRole"))
  6168  	}
  6169  	if s.ServiceExecutionRole != nil && len(*s.ServiceExecutionRole) < 1 {
  6170  		invalidParams.Add(request.NewErrParamMinLen("ServiceExecutionRole", 1))
  6171  	}
  6172  	if s.Tags != nil && len(s.Tags) < 1 {
  6173  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  6174  	}
  6175  	if s.ApplicationConfiguration != nil {
  6176  		if err := s.ApplicationConfiguration.Validate(); err != nil {
  6177  			invalidParams.AddNested("ApplicationConfiguration", err.(request.ErrInvalidParams))
  6178  		}
  6179  	}
  6180  	if s.CloudWatchLoggingOptions != nil {
  6181  		for i, v := range s.CloudWatchLoggingOptions {
  6182  			if v == nil {
  6183  				continue
  6184  			}
  6185  			if err := v.Validate(); err != nil {
  6186  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CloudWatchLoggingOptions", i), err.(request.ErrInvalidParams))
  6187  			}
  6188  		}
  6189  	}
  6190  	if s.Tags != nil {
  6191  		for i, v := range s.Tags {
  6192  			if v == nil {
  6193  				continue
  6194  			}
  6195  			if err := v.Validate(); err != nil {
  6196  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  6197  			}
  6198  		}
  6199  	}
  6200  
  6201  	if invalidParams.Len() > 0 {
  6202  		return invalidParams
  6203  	}
  6204  	return nil
  6205  }
  6206  
  6207  // SetApplicationConfiguration sets the ApplicationConfiguration field's value.
  6208  func (s *CreateApplicationInput) SetApplicationConfiguration(v *ApplicationConfiguration) *CreateApplicationInput {
  6209  	s.ApplicationConfiguration = v
  6210  	return s
  6211  }
  6212  
  6213  // SetApplicationDescription sets the ApplicationDescription field's value.
  6214  func (s *CreateApplicationInput) SetApplicationDescription(v string) *CreateApplicationInput {
  6215  	s.ApplicationDescription = &v
  6216  	return s
  6217  }
  6218  
  6219  // SetApplicationMode sets the ApplicationMode field's value.
  6220  func (s *CreateApplicationInput) SetApplicationMode(v string) *CreateApplicationInput {
  6221  	s.ApplicationMode = &v
  6222  	return s
  6223  }
  6224  
  6225  // SetApplicationName sets the ApplicationName field's value.
  6226  func (s *CreateApplicationInput) SetApplicationName(v string) *CreateApplicationInput {
  6227  	s.ApplicationName = &v
  6228  	return s
  6229  }
  6230  
  6231  // SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value.
  6232  func (s *CreateApplicationInput) SetCloudWatchLoggingOptions(v []*CloudWatchLoggingOption) *CreateApplicationInput {
  6233  	s.CloudWatchLoggingOptions = v
  6234  	return s
  6235  }
  6236  
  6237  // SetRuntimeEnvironment sets the RuntimeEnvironment field's value.
  6238  func (s *CreateApplicationInput) SetRuntimeEnvironment(v string) *CreateApplicationInput {
  6239  	s.RuntimeEnvironment = &v
  6240  	return s
  6241  }
  6242  
  6243  // SetServiceExecutionRole sets the ServiceExecutionRole field's value.
  6244  func (s *CreateApplicationInput) SetServiceExecutionRole(v string) *CreateApplicationInput {
  6245  	s.ServiceExecutionRole = &v
  6246  	return s
  6247  }
  6248  
  6249  // SetTags sets the Tags field's value.
  6250  func (s *CreateApplicationInput) SetTags(v []*Tag) *CreateApplicationInput {
  6251  	s.Tags = v
  6252  	return s
  6253  }
  6254  
  6255  type CreateApplicationOutput struct {
  6256  	_ struct{} `type:"structure"`
  6257  
  6258  	// In response to your CreateApplication request, Kinesis Data Analytics returns
  6259  	// a response with details of the application it created.
  6260  	//
  6261  	// ApplicationDetail is a required field
  6262  	ApplicationDetail *ApplicationDetail `type:"structure" required:"true"`
  6263  }
  6264  
  6265  // String returns the string representation.
  6266  //
  6267  // API parameter values that are decorated as "sensitive" in the API will not
  6268  // be included in the string output. The member name will be present, but the
  6269  // value will be replaced with "sensitive".
  6270  func (s CreateApplicationOutput) String() string {
  6271  	return awsutil.Prettify(s)
  6272  }
  6273  
  6274  // GoString returns the string representation.
  6275  //
  6276  // API parameter values that are decorated as "sensitive" in the API will not
  6277  // be included in the string output. The member name will be present, but the
  6278  // value will be replaced with "sensitive".
  6279  func (s CreateApplicationOutput) GoString() string {
  6280  	return s.String()
  6281  }
  6282  
  6283  // SetApplicationDetail sets the ApplicationDetail field's value.
  6284  func (s *CreateApplicationOutput) SetApplicationDetail(v *ApplicationDetail) *CreateApplicationOutput {
  6285  	s.ApplicationDetail = v
  6286  	return s
  6287  }
  6288  
  6289  type CreateApplicationPresignedUrlInput struct {
  6290  	_ struct{} `type:"structure"`
  6291  
  6292  	// The name of the application.
  6293  	//
  6294  	// ApplicationName is a required field
  6295  	ApplicationName *string `min:"1" type:"string" required:"true"`
  6296  
  6297  	// The duration in seconds for which the returned URL will be valid.
  6298  	SessionExpirationDurationInSeconds *int64 `min:"1800" type:"long"`
  6299  
  6300  	// The type of the extension for which to create and return a URL. Currently,
  6301  	// the only valid extension URL type is FLINK_DASHBOARD_URL.
  6302  	//
  6303  	// UrlType is a required field
  6304  	UrlType *string `type:"string" required:"true" enum:"UrlType"`
  6305  }
  6306  
  6307  // String returns the string representation.
  6308  //
  6309  // API parameter values that are decorated as "sensitive" in the API will not
  6310  // be included in the string output. The member name will be present, but the
  6311  // value will be replaced with "sensitive".
  6312  func (s CreateApplicationPresignedUrlInput) String() string {
  6313  	return awsutil.Prettify(s)
  6314  }
  6315  
  6316  // GoString returns the string representation.
  6317  //
  6318  // API parameter values that are decorated as "sensitive" in the API will not
  6319  // be included in the string output. The member name will be present, but the
  6320  // value will be replaced with "sensitive".
  6321  func (s CreateApplicationPresignedUrlInput) GoString() string {
  6322  	return s.String()
  6323  }
  6324  
  6325  // Validate inspects the fields of the type to determine if they are valid.
  6326  func (s *CreateApplicationPresignedUrlInput) Validate() error {
  6327  	invalidParams := request.ErrInvalidParams{Context: "CreateApplicationPresignedUrlInput"}
  6328  	if s.ApplicationName == nil {
  6329  		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
  6330  	}
  6331  	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
  6332  		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
  6333  	}
  6334  	if s.SessionExpirationDurationInSeconds != nil && *s.SessionExpirationDurationInSeconds < 1800 {
  6335  		invalidParams.Add(request.NewErrParamMinValue("SessionExpirationDurationInSeconds", 1800))
  6336  	}
  6337  	if s.UrlType == nil {
  6338  		invalidParams.Add(request.NewErrParamRequired("UrlType"))
  6339  	}
  6340  
  6341  	if invalidParams.Len() > 0 {
  6342  		return invalidParams
  6343  	}
  6344  	return nil
  6345  }
  6346  
  6347  // SetApplicationName sets the ApplicationName field's value.
  6348  func (s *CreateApplicationPresignedUrlInput) SetApplicationName(v string) *CreateApplicationPresignedUrlInput {
  6349  	s.ApplicationName = &v
  6350  	return s
  6351  }
  6352  
  6353  // SetSessionExpirationDurationInSeconds sets the SessionExpirationDurationInSeconds field's value.
  6354  func (s *CreateApplicationPresignedUrlInput) SetSessionExpirationDurationInSeconds(v int64) *CreateApplicationPresignedUrlInput {
  6355  	s.SessionExpirationDurationInSeconds = &v
  6356  	return s
  6357  }
  6358  
  6359  // SetUrlType sets the UrlType field's value.
  6360  func (s *CreateApplicationPresignedUrlInput) SetUrlType(v string) *CreateApplicationPresignedUrlInput {
  6361  	s.UrlType = &v
  6362  	return s
  6363  }
  6364  
  6365  type CreateApplicationPresignedUrlOutput struct {
  6366  	_ struct{} `type:"structure"`
  6367  
  6368  	// The URL of the extension.
  6369  	AuthorizedUrl *string `min:"1" type:"string"`
  6370  }
  6371  
  6372  // String returns the string representation.
  6373  //
  6374  // API parameter values that are decorated as "sensitive" in the API will not
  6375  // be included in the string output. The member name will be present, but the
  6376  // value will be replaced with "sensitive".
  6377  func (s CreateApplicationPresignedUrlOutput) String() string {
  6378  	return awsutil.Prettify(s)
  6379  }
  6380  
  6381  // GoString returns the string representation.
  6382  //
  6383  // API parameter values that are decorated as "sensitive" in the API will not
  6384  // be included in the string output. The member name will be present, but the
  6385  // value will be replaced with "sensitive".
  6386  func (s CreateApplicationPresignedUrlOutput) GoString() string {
  6387  	return s.String()
  6388  }
  6389  
  6390  // SetAuthorizedUrl sets the AuthorizedUrl field's value.
  6391  func (s *CreateApplicationPresignedUrlOutput) SetAuthorizedUrl(v string) *CreateApplicationPresignedUrlOutput {
  6392  	s.AuthorizedUrl = &v
  6393  	return s
  6394  }
  6395  
  6396  type CreateApplicationSnapshotInput struct {
  6397  	_ struct{} `type:"structure"`
  6398  
  6399  	// The name of an existing application
  6400  	//
  6401  	// ApplicationName is a required field
  6402  	ApplicationName *string `min:"1" type:"string" required:"true"`
  6403  
  6404  	// An identifier for the application snapshot.
  6405  	//
  6406  	// SnapshotName is a required field
  6407  	SnapshotName *string `min:"1" type:"string" required:"true"`
  6408  }
  6409  
  6410  // String returns the string representation.
  6411  //
  6412  // API parameter values that are decorated as "sensitive" in the API will not
  6413  // be included in the string output. The member name will be present, but the
  6414  // value will be replaced with "sensitive".
  6415  func (s CreateApplicationSnapshotInput) String() string {
  6416  	return awsutil.Prettify(s)
  6417  }
  6418  
  6419  // GoString returns the string representation.
  6420  //
  6421  // API parameter values that are decorated as "sensitive" in the API will not
  6422  // be included in the string output. The member name will be present, but the
  6423  // value will be replaced with "sensitive".
  6424  func (s CreateApplicationSnapshotInput) GoString() string {
  6425  	return s.String()
  6426  }
  6427  
  6428  // Validate inspects the fields of the type to determine if they are valid.
  6429  func (s *CreateApplicationSnapshotInput) Validate() error {
  6430  	invalidParams := request.ErrInvalidParams{Context: "CreateApplicationSnapshotInput"}
  6431  	if s.ApplicationName == nil {
  6432  		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
  6433  	}
  6434  	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
  6435  		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
  6436  	}
  6437  	if s.SnapshotName == nil {
  6438  		invalidParams.Add(request.NewErrParamRequired("SnapshotName"))
  6439  	}
  6440  	if s.SnapshotName != nil && len(*s.SnapshotName) < 1 {
  6441  		invalidParams.Add(request.NewErrParamMinLen("SnapshotName", 1))
  6442  	}
  6443  
  6444  	if invalidParams.Len() > 0 {
  6445  		return invalidParams
  6446  	}
  6447  	return nil
  6448  }
  6449  
  6450  // SetApplicationName sets the ApplicationName field's value.
  6451  func (s *CreateApplicationSnapshotInput) SetApplicationName(v string) *CreateApplicationSnapshotInput {
  6452  	s.ApplicationName = &v
  6453  	return s
  6454  }
  6455  
  6456  // SetSnapshotName sets the SnapshotName field's value.
  6457  func (s *CreateApplicationSnapshotInput) SetSnapshotName(v string) *CreateApplicationSnapshotInput {
  6458  	s.SnapshotName = &v
  6459  	return s
  6460  }
  6461  
  6462  type CreateApplicationSnapshotOutput struct {
  6463  	_ struct{} `type:"structure"`
  6464  }
  6465  
  6466  // String returns the string representation.
  6467  //
  6468  // API parameter values that are decorated as "sensitive" in the API will not
  6469  // be included in the string output. The member name will be present, but the
  6470  // value will be replaced with "sensitive".
  6471  func (s CreateApplicationSnapshotOutput) String() string {
  6472  	return awsutil.Prettify(s)
  6473  }
  6474  
  6475  // GoString returns the string representation.
  6476  //
  6477  // API parameter values that are decorated as "sensitive" in the API will not
  6478  // be included in the string output. The member name will be present, but the
  6479  // value will be replaced with "sensitive".
  6480  func (s CreateApplicationSnapshotOutput) GoString() string {
  6481  	return s.String()
  6482  }
  6483  
  6484  // Specifies dependency JARs, as well as JAR files that contain user-defined
  6485  // functions (UDF).
  6486  type CustomArtifactConfiguration struct {
  6487  	_ struct{} `type:"structure"`
  6488  
  6489  	// UDF stands for user-defined functions. This type of artifact must be in an
  6490  	// S3 bucket. A DEPENDENCY_JAR can be in either Maven or an S3 bucket.
  6491  	//
  6492  	// ArtifactType is a required field
  6493  	ArtifactType *string `type:"string" required:"true" enum:"ArtifactType"`
  6494  
  6495  	// The parameters required to fully specify a Maven reference.
  6496  	MavenReference *MavenReference `type:"structure"`
  6497  
  6498  	// For a Kinesis Data Analytics application provides a description of an Amazon
  6499  	// S3 object, including the Amazon Resource Name (ARN) of the S3 bucket, the
  6500  	// name of the Amazon S3 object that contains the data, and the version number
  6501  	// of the Amazon S3 object that contains the data.
  6502  	S3ContentLocation *S3ContentLocation `type:"structure"`
  6503  }
  6504  
  6505  // String returns the string representation.
  6506  //
  6507  // API parameter values that are decorated as "sensitive" in the API will not
  6508  // be included in the string output. The member name will be present, but the
  6509  // value will be replaced with "sensitive".
  6510  func (s CustomArtifactConfiguration) String() string {
  6511  	return awsutil.Prettify(s)
  6512  }
  6513  
  6514  // GoString returns the string representation.
  6515  //
  6516  // API parameter values that are decorated as "sensitive" in the API will not
  6517  // be included in the string output. The member name will be present, but the
  6518  // value will be replaced with "sensitive".
  6519  func (s CustomArtifactConfiguration) GoString() string {
  6520  	return s.String()
  6521  }
  6522  
  6523  // Validate inspects the fields of the type to determine if they are valid.
  6524  func (s *CustomArtifactConfiguration) Validate() error {
  6525  	invalidParams := request.ErrInvalidParams{Context: "CustomArtifactConfiguration"}
  6526  	if s.ArtifactType == nil {
  6527  		invalidParams.Add(request.NewErrParamRequired("ArtifactType"))
  6528  	}
  6529  	if s.MavenReference != nil {
  6530  		if err := s.MavenReference.Validate(); err != nil {
  6531  			invalidParams.AddNested("MavenReference", err.(request.ErrInvalidParams))
  6532  		}
  6533  	}
  6534  	if s.S3ContentLocation != nil {
  6535  		if err := s.S3ContentLocation.Validate(); err != nil {
  6536  			invalidParams.AddNested("S3ContentLocation", err.(request.ErrInvalidParams))
  6537  		}
  6538  	}
  6539  
  6540  	if invalidParams.Len() > 0 {
  6541  		return invalidParams
  6542  	}
  6543  	return nil
  6544  }
  6545  
  6546  // SetArtifactType sets the ArtifactType field's value.
  6547  func (s *CustomArtifactConfiguration) SetArtifactType(v string) *CustomArtifactConfiguration {
  6548  	s.ArtifactType = &v
  6549  	return s
  6550  }
  6551  
  6552  // SetMavenReference sets the MavenReference field's value.
  6553  func (s *CustomArtifactConfiguration) SetMavenReference(v *MavenReference) *CustomArtifactConfiguration {
  6554  	s.MavenReference = v
  6555  	return s
  6556  }
  6557  
  6558  // SetS3ContentLocation sets the S3ContentLocation field's value.
  6559  func (s *CustomArtifactConfiguration) SetS3ContentLocation(v *S3ContentLocation) *CustomArtifactConfiguration {
  6560  	s.S3ContentLocation = v
  6561  	return s
  6562  }
  6563  
  6564  // Specifies a dependency JAR or a JAR of user-defined functions.
  6565  type CustomArtifactConfigurationDescription struct {
  6566  	_ struct{} `type:"structure"`
  6567  
  6568  	// UDF stands for user-defined functions. This type of artifact must be in an
  6569  	// S3 bucket. A DEPENDENCY_JAR can be in either Maven or an S3 bucket.
  6570  	ArtifactType *string `type:"string" enum:"ArtifactType"`
  6571  
  6572  	// The parameters that are required to specify a Maven dependency.
  6573  	MavenReferenceDescription *MavenReference `type:"structure"`
  6574  
  6575  	// For a Kinesis Data Analytics application provides a description of an Amazon
  6576  	// S3 object, including the Amazon Resource Name (ARN) of the S3 bucket, the
  6577  	// name of the Amazon S3 object that contains the data, and the version number
  6578  	// of the Amazon S3 object that contains the data.
  6579  	S3ContentLocationDescription *S3ContentLocation `type:"structure"`
  6580  }
  6581  
  6582  // String returns the string representation.
  6583  //
  6584  // API parameter values that are decorated as "sensitive" in the API will not
  6585  // be included in the string output. The member name will be present, but the
  6586  // value will be replaced with "sensitive".
  6587  func (s CustomArtifactConfigurationDescription) String() string {
  6588  	return awsutil.Prettify(s)
  6589  }
  6590  
  6591  // GoString returns the string representation.
  6592  //
  6593  // API parameter values that are decorated as "sensitive" in the API will not
  6594  // be included in the string output. The member name will be present, but the
  6595  // value will be replaced with "sensitive".
  6596  func (s CustomArtifactConfigurationDescription) GoString() string {
  6597  	return s.String()
  6598  }
  6599  
  6600  // SetArtifactType sets the ArtifactType field's value.
  6601  func (s *CustomArtifactConfigurationDescription) SetArtifactType(v string) *CustomArtifactConfigurationDescription {
  6602  	s.ArtifactType = &v
  6603  	return s
  6604  }
  6605  
  6606  // SetMavenReferenceDescription sets the MavenReferenceDescription field's value.
  6607  func (s *CustomArtifactConfigurationDescription) SetMavenReferenceDescription(v *MavenReference) *CustomArtifactConfigurationDescription {
  6608  	s.MavenReferenceDescription = v
  6609  	return s
  6610  }
  6611  
  6612  // SetS3ContentLocationDescription sets the S3ContentLocationDescription field's value.
  6613  func (s *CustomArtifactConfigurationDescription) SetS3ContentLocationDescription(v *S3ContentLocation) *CustomArtifactConfigurationDescription {
  6614  	s.S3ContentLocationDescription = v
  6615  	return s
  6616  }
  6617  
  6618  type DeleteApplicationCloudWatchLoggingOptionInput struct {
  6619  	_ struct{} `type:"structure"`
  6620  
  6621  	// The application name.
  6622  	//
  6623  	// ApplicationName is a required field
  6624  	ApplicationName *string `min:"1" type:"string" required:"true"`
  6625  
  6626  	// The CloudWatchLoggingOptionId of the Amazon CloudWatch logging option to
  6627  	// delete. You can get the CloudWatchLoggingOptionId by using the DescribeApplication
  6628  	// operation.
  6629  	//
  6630  	// CloudWatchLoggingOptionId is a required field
  6631  	CloudWatchLoggingOptionId *string `min:"1" type:"string" required:"true"`
  6632  
  6633  	// A value you use to implement strong concurrency for application updates.
  6634  	// You must provide the CurrentApplicationVersionId or the ConditionalToken.
  6635  	// You get the application's current ConditionalToken using DescribeApplication.
  6636  	// For better concurrency support, use the ConditionalToken parameter instead
  6637  	// of CurrentApplicationVersionId.
  6638  	ConditionalToken *string `min:"1" type:"string"`
  6639  
  6640  	// The version ID of the application. You must provide the CurrentApplicationVersionId
  6641  	// or the ConditionalToken. You can retrieve the application version ID using
  6642  	// DescribeApplication. For better concurrency support, use the ConditionalToken
  6643  	// parameter instead of CurrentApplicationVersionId.
  6644  	CurrentApplicationVersionId *int64 `min:"1" type:"long"`
  6645  }
  6646  
  6647  // String returns the string representation.
  6648  //
  6649  // API parameter values that are decorated as "sensitive" in the API will not
  6650  // be included in the string output. The member name will be present, but the
  6651  // value will be replaced with "sensitive".
  6652  func (s DeleteApplicationCloudWatchLoggingOptionInput) String() string {
  6653  	return awsutil.Prettify(s)
  6654  }
  6655  
  6656  // GoString returns the string representation.
  6657  //
  6658  // API parameter values that are decorated as "sensitive" in the API will not
  6659  // be included in the string output. The member name will be present, but the
  6660  // value will be replaced with "sensitive".
  6661  func (s DeleteApplicationCloudWatchLoggingOptionInput) GoString() string {
  6662  	return s.String()
  6663  }
  6664  
  6665  // Validate inspects the fields of the type to determine if they are valid.
  6666  func (s *DeleteApplicationCloudWatchLoggingOptionInput) Validate() error {
  6667  	invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationCloudWatchLoggingOptionInput"}
  6668  	if s.ApplicationName == nil {
  6669  		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
  6670  	}
  6671  	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
  6672  		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
  6673  	}
  6674  	if s.CloudWatchLoggingOptionId == nil {
  6675  		invalidParams.Add(request.NewErrParamRequired("CloudWatchLoggingOptionId"))
  6676  	}
  6677  	if s.CloudWatchLoggingOptionId != nil && len(*s.CloudWatchLoggingOptionId) < 1 {
  6678  		invalidParams.Add(request.NewErrParamMinLen("CloudWatchLoggingOptionId", 1))
  6679  	}
  6680  	if s.ConditionalToken != nil && len(*s.ConditionalToken) < 1 {
  6681  		invalidParams.Add(request.NewErrParamMinLen("ConditionalToken", 1))
  6682  	}
  6683  	if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 {
  6684  		invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1))
  6685  	}
  6686  
  6687  	if invalidParams.Len() > 0 {
  6688  		return invalidParams
  6689  	}
  6690  	return nil
  6691  }
  6692  
  6693  // SetApplicationName sets the ApplicationName field's value.
  6694  func (s *DeleteApplicationCloudWatchLoggingOptionInput) SetApplicationName(v string) *DeleteApplicationCloudWatchLoggingOptionInput {
  6695  	s.ApplicationName = &v
  6696  	return s
  6697  }
  6698  
  6699  // SetCloudWatchLoggingOptionId sets the CloudWatchLoggingOptionId field's value.
  6700  func (s *DeleteApplicationCloudWatchLoggingOptionInput) SetCloudWatchLoggingOptionId(v string) *DeleteApplicationCloudWatchLoggingOptionInput {
  6701  	s.CloudWatchLoggingOptionId = &v
  6702  	return s
  6703  }
  6704  
  6705  // SetConditionalToken sets the ConditionalToken field's value.
  6706  func (s *DeleteApplicationCloudWatchLoggingOptionInput) SetConditionalToken(v string) *DeleteApplicationCloudWatchLoggingOptionInput {
  6707  	s.ConditionalToken = &v
  6708  	return s
  6709  }
  6710  
  6711  // SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value.
  6712  func (s *DeleteApplicationCloudWatchLoggingOptionInput) SetCurrentApplicationVersionId(v int64) *DeleteApplicationCloudWatchLoggingOptionInput {
  6713  	s.CurrentApplicationVersionId = &v
  6714  	return s
  6715  }
  6716  
  6717  type DeleteApplicationCloudWatchLoggingOptionOutput struct {
  6718  	_ struct{} `type:"structure"`
  6719  
  6720  	// The application's Amazon Resource Name (ARN).
  6721  	ApplicationARN *string `min:"1" type:"string"`
  6722  
  6723  	// The version ID of the application. Kinesis Data Analytics updates the ApplicationVersionId
  6724  	// each time you change the CloudWatch logging options.
  6725  	ApplicationVersionId *int64 `min:"1" type:"long"`
  6726  
  6727  	// The descriptions of the remaining CloudWatch logging options for the application.
  6728  	CloudWatchLoggingOptionDescriptions []*CloudWatchLoggingOptionDescription `type:"list"`
  6729  }
  6730  
  6731  // String returns the string representation.
  6732  //
  6733  // API parameter values that are decorated as "sensitive" in the API will not
  6734  // be included in the string output. The member name will be present, but the
  6735  // value will be replaced with "sensitive".
  6736  func (s DeleteApplicationCloudWatchLoggingOptionOutput) String() string {
  6737  	return awsutil.Prettify(s)
  6738  }
  6739  
  6740  // GoString returns the string representation.
  6741  //
  6742  // API parameter values that are decorated as "sensitive" in the API will not
  6743  // be included in the string output. The member name will be present, but the
  6744  // value will be replaced with "sensitive".
  6745  func (s DeleteApplicationCloudWatchLoggingOptionOutput) GoString() string {
  6746  	return s.String()
  6747  }
  6748  
  6749  // SetApplicationARN sets the ApplicationARN field's value.
  6750  func (s *DeleteApplicationCloudWatchLoggingOptionOutput) SetApplicationARN(v string) *DeleteApplicationCloudWatchLoggingOptionOutput {
  6751  	s.ApplicationARN = &v
  6752  	return s
  6753  }
  6754  
  6755  // SetApplicationVersionId sets the ApplicationVersionId field's value.
  6756  func (s *DeleteApplicationCloudWatchLoggingOptionOutput) SetApplicationVersionId(v int64) *DeleteApplicationCloudWatchLoggingOptionOutput {
  6757  	s.ApplicationVersionId = &v
  6758  	return s
  6759  }
  6760  
  6761  // SetCloudWatchLoggingOptionDescriptions sets the CloudWatchLoggingOptionDescriptions field's value.
  6762  func (s *DeleteApplicationCloudWatchLoggingOptionOutput) SetCloudWatchLoggingOptionDescriptions(v []*CloudWatchLoggingOptionDescription) *DeleteApplicationCloudWatchLoggingOptionOutput {
  6763  	s.CloudWatchLoggingOptionDescriptions = v
  6764  	return s
  6765  }
  6766  
  6767  type DeleteApplicationInput struct {
  6768  	_ struct{} `type:"structure"`
  6769  
  6770  	// The name of the application to delete.
  6771  	//
  6772  	// ApplicationName is a required field
  6773  	ApplicationName *string `min:"1" type:"string" required:"true"`
  6774  
  6775  	// Use the DescribeApplication operation to get this value.
  6776  	//
  6777  	// CreateTimestamp is a required field
  6778  	CreateTimestamp *time.Time `type:"timestamp" required:"true"`
  6779  }
  6780  
  6781  // String returns the string representation.
  6782  //
  6783  // API parameter values that are decorated as "sensitive" in the API will not
  6784  // be included in the string output. The member name will be present, but the
  6785  // value will be replaced with "sensitive".
  6786  func (s DeleteApplicationInput) String() string {
  6787  	return awsutil.Prettify(s)
  6788  }
  6789  
  6790  // GoString returns the string representation.
  6791  //
  6792  // API parameter values that are decorated as "sensitive" in the API will not
  6793  // be included in the string output. The member name will be present, but the
  6794  // value will be replaced with "sensitive".
  6795  func (s DeleteApplicationInput) GoString() string {
  6796  	return s.String()
  6797  }
  6798  
  6799  // Validate inspects the fields of the type to determine if they are valid.
  6800  func (s *DeleteApplicationInput) Validate() error {
  6801  	invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationInput"}
  6802  	if s.ApplicationName == nil {
  6803  		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
  6804  	}
  6805  	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
  6806  		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
  6807  	}
  6808  	if s.CreateTimestamp == nil {
  6809  		invalidParams.Add(request.NewErrParamRequired("CreateTimestamp"))
  6810  	}
  6811  
  6812  	if invalidParams.Len() > 0 {
  6813  		return invalidParams
  6814  	}
  6815  	return nil
  6816  }
  6817  
  6818  // SetApplicationName sets the ApplicationName field's value.
  6819  func (s *DeleteApplicationInput) SetApplicationName(v string) *DeleteApplicationInput {
  6820  	s.ApplicationName = &v
  6821  	return s
  6822  }
  6823  
  6824  // SetCreateTimestamp sets the CreateTimestamp field's value.
  6825  func (s *DeleteApplicationInput) SetCreateTimestamp(v time.Time) *DeleteApplicationInput {
  6826  	s.CreateTimestamp = &v
  6827  	return s
  6828  }
  6829  
  6830  type DeleteApplicationInputProcessingConfigurationInput struct {
  6831  	_ struct{} `type:"structure"`
  6832  
  6833  	// The name of the application.
  6834  	//
  6835  	// ApplicationName is a required field
  6836  	ApplicationName *string `min:"1" type:"string" required:"true"`
  6837  
  6838  	// The application version. You can use the DescribeApplication operation to
  6839  	// get the current application version. If the version specified is not the
  6840  	// current version, the ConcurrentModificationException is returned.
  6841  	//
  6842  	// CurrentApplicationVersionId is a required field
  6843  	CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"`
  6844  
  6845  	// The ID of the input configuration from which to delete the input processing
  6846  	// configuration. You can get a list of the input IDs for an application by
  6847  	// using the DescribeApplication operation.
  6848  	//
  6849  	// InputId is a required field
  6850  	InputId *string `min:"1" type:"string" required:"true"`
  6851  }
  6852  
  6853  // String returns the string representation.
  6854  //
  6855  // API parameter values that are decorated as "sensitive" in the API will not
  6856  // be included in the string output. The member name will be present, but the
  6857  // value will be replaced with "sensitive".
  6858  func (s DeleteApplicationInputProcessingConfigurationInput) String() string {
  6859  	return awsutil.Prettify(s)
  6860  }
  6861  
  6862  // GoString returns the string representation.
  6863  //
  6864  // API parameter values that are decorated as "sensitive" in the API will not
  6865  // be included in the string output. The member name will be present, but the
  6866  // value will be replaced with "sensitive".
  6867  func (s DeleteApplicationInputProcessingConfigurationInput) GoString() string {
  6868  	return s.String()
  6869  }
  6870  
  6871  // Validate inspects the fields of the type to determine if they are valid.
  6872  func (s *DeleteApplicationInputProcessingConfigurationInput) Validate() error {
  6873  	invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationInputProcessingConfigurationInput"}
  6874  	if s.ApplicationName == nil {
  6875  		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
  6876  	}
  6877  	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
  6878  		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
  6879  	}
  6880  	if s.CurrentApplicationVersionId == nil {
  6881  		invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId"))
  6882  	}
  6883  	if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 {
  6884  		invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1))
  6885  	}
  6886  	if s.InputId == nil {
  6887  		invalidParams.Add(request.NewErrParamRequired("InputId"))
  6888  	}
  6889  	if s.InputId != nil && len(*s.InputId) < 1 {
  6890  		invalidParams.Add(request.NewErrParamMinLen("InputId", 1))
  6891  	}
  6892  
  6893  	if invalidParams.Len() > 0 {
  6894  		return invalidParams
  6895  	}
  6896  	return nil
  6897  }
  6898  
  6899  // SetApplicationName sets the ApplicationName field's value.
  6900  func (s *DeleteApplicationInputProcessingConfigurationInput) SetApplicationName(v string) *DeleteApplicationInputProcessingConfigurationInput {
  6901  	s.ApplicationName = &v
  6902  	return s
  6903  }
  6904  
  6905  // SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value.
  6906  func (s *DeleteApplicationInputProcessingConfigurationInput) SetCurrentApplicationVersionId(v int64) *DeleteApplicationInputProcessingConfigurationInput {
  6907  	s.CurrentApplicationVersionId = &v
  6908  	return s
  6909  }
  6910  
  6911  // SetInputId sets the InputId field's value.
  6912  func (s *DeleteApplicationInputProcessingConfigurationInput) SetInputId(v string) *DeleteApplicationInputProcessingConfigurationInput {
  6913  	s.InputId = &v
  6914  	return s
  6915  }
  6916  
  6917  type DeleteApplicationInputProcessingConfigurationOutput struct {
  6918  	_ struct{} `type:"structure"`
  6919  
  6920  	// The Amazon Resource Name (ARN) of the application.
  6921  	ApplicationARN *string `min:"1" type:"string"`
  6922  
  6923  	// The current application version ID.
  6924  	ApplicationVersionId *int64 `min:"1" type:"long"`
  6925  }
  6926  
  6927  // String returns the string representation.
  6928  //
  6929  // API parameter values that are decorated as "sensitive" in the API will not
  6930  // be included in the string output. The member name will be present, but the
  6931  // value will be replaced with "sensitive".
  6932  func (s DeleteApplicationInputProcessingConfigurationOutput) String() string {
  6933  	return awsutil.Prettify(s)
  6934  }
  6935  
  6936  // GoString returns the string representation.
  6937  //
  6938  // API parameter values that are decorated as "sensitive" in the API will not
  6939  // be included in the string output. The member name will be present, but the
  6940  // value will be replaced with "sensitive".
  6941  func (s DeleteApplicationInputProcessingConfigurationOutput) GoString() string {
  6942  	return s.String()
  6943  }
  6944  
  6945  // SetApplicationARN sets the ApplicationARN field's value.
  6946  func (s *DeleteApplicationInputProcessingConfigurationOutput) SetApplicationARN(v string) *DeleteApplicationInputProcessingConfigurationOutput {
  6947  	s.ApplicationARN = &v
  6948  	return s
  6949  }
  6950  
  6951  // SetApplicationVersionId sets the ApplicationVersionId field's value.
  6952  func (s *DeleteApplicationInputProcessingConfigurationOutput) SetApplicationVersionId(v int64) *DeleteApplicationInputProcessingConfigurationOutput {
  6953  	s.ApplicationVersionId = &v
  6954  	return s
  6955  }
  6956  
  6957  type DeleteApplicationOutput struct {
  6958  	_ struct{} `type:"structure"`
  6959  }
  6960  
  6961  // String returns the string representation.
  6962  //
  6963  // API parameter values that are decorated as "sensitive" in the API will not
  6964  // be included in the string output. The member name will be present, but the
  6965  // value will be replaced with "sensitive".
  6966  func (s DeleteApplicationOutput) String() string {
  6967  	return awsutil.Prettify(s)
  6968  }
  6969  
  6970  // GoString returns the string representation.
  6971  //
  6972  // API parameter values that are decorated as "sensitive" in the API will not
  6973  // be included in the string output. The member name will be present, but the
  6974  // value will be replaced with "sensitive".
  6975  func (s DeleteApplicationOutput) GoString() string {
  6976  	return s.String()
  6977  }
  6978  
  6979  type DeleteApplicationOutputInput struct {
  6980  	_ struct{} `type:"structure"`
  6981  
  6982  	// The application name.
  6983  	//
  6984  	// ApplicationName is a required field
  6985  	ApplicationName *string `min:"1" type:"string" required:"true"`
  6986  
  6987  	// The application version. You can use the DescribeApplication operation to
  6988  	// get the current application version. If the version specified is not the
  6989  	// current version, the ConcurrentModificationException is returned.
  6990  	//
  6991  	// CurrentApplicationVersionId is a required field
  6992  	CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"`
  6993  
  6994  	// The ID of the configuration to delete. Each output configuration that is
  6995  	// added to the application (either when the application is created or later)
  6996  	// using the AddApplicationOutput operation has a unique ID. You need to provide
  6997  	// the ID to uniquely identify the output configuration that you want to delete
  6998  	// from the application configuration. You can use the DescribeApplication operation
  6999  	// to get the specific OutputId.
  7000  	//
  7001  	// OutputId is a required field
  7002  	OutputId *string `min:"1" type:"string" required:"true"`
  7003  }
  7004  
  7005  // String returns the string representation.
  7006  //
  7007  // API parameter values that are decorated as "sensitive" in the API will not
  7008  // be included in the string output. The member name will be present, but the
  7009  // value will be replaced with "sensitive".
  7010  func (s DeleteApplicationOutputInput) String() string {
  7011  	return awsutil.Prettify(s)
  7012  }
  7013  
  7014  // GoString returns the string representation.
  7015  //
  7016  // API parameter values that are decorated as "sensitive" in the API will not
  7017  // be included in the string output. The member name will be present, but the
  7018  // value will be replaced with "sensitive".
  7019  func (s DeleteApplicationOutputInput) GoString() string {
  7020  	return s.String()
  7021  }
  7022  
  7023  // Validate inspects the fields of the type to determine if they are valid.
  7024  func (s *DeleteApplicationOutputInput) Validate() error {
  7025  	invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationOutputInput"}
  7026  	if s.ApplicationName == nil {
  7027  		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
  7028  	}
  7029  	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
  7030  		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
  7031  	}
  7032  	if s.CurrentApplicationVersionId == nil {
  7033  		invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId"))
  7034  	}
  7035  	if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 {
  7036  		invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1))
  7037  	}
  7038  	if s.OutputId == nil {
  7039  		invalidParams.Add(request.NewErrParamRequired("OutputId"))
  7040  	}
  7041  	if s.OutputId != nil && len(*s.OutputId) < 1 {
  7042  		invalidParams.Add(request.NewErrParamMinLen("OutputId", 1))
  7043  	}
  7044  
  7045  	if invalidParams.Len() > 0 {
  7046  		return invalidParams
  7047  	}
  7048  	return nil
  7049  }
  7050  
  7051  // SetApplicationName sets the ApplicationName field's value.
  7052  func (s *DeleteApplicationOutputInput) SetApplicationName(v string) *DeleteApplicationOutputInput {
  7053  	s.ApplicationName = &v
  7054  	return s
  7055  }
  7056  
  7057  // SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value.
  7058  func (s *DeleteApplicationOutputInput) SetCurrentApplicationVersionId(v int64) *DeleteApplicationOutputInput {
  7059  	s.CurrentApplicationVersionId = &v
  7060  	return s
  7061  }
  7062  
  7063  // SetOutputId sets the OutputId field's value.
  7064  func (s *DeleteApplicationOutputInput) SetOutputId(v string) *DeleteApplicationOutputInput {
  7065  	s.OutputId = &v
  7066  	return s
  7067  }
  7068  
  7069  type DeleteApplicationOutputOutput struct {
  7070  	_ struct{} `type:"structure"`
  7071  
  7072  	// The application Amazon Resource Name (ARN).
  7073  	ApplicationARN *string `min:"1" type:"string"`
  7074  
  7075  	// The current application version ID.
  7076  	ApplicationVersionId *int64 `min:"1" type:"long"`
  7077  }
  7078  
  7079  // String returns the string representation.
  7080  //
  7081  // API parameter values that are decorated as "sensitive" in the API will not
  7082  // be included in the string output. The member name will be present, but the
  7083  // value will be replaced with "sensitive".
  7084  func (s DeleteApplicationOutputOutput) String() string {
  7085  	return awsutil.Prettify(s)
  7086  }
  7087  
  7088  // GoString returns the string representation.
  7089  //
  7090  // API parameter values that are decorated as "sensitive" in the API will not
  7091  // be included in the string output. The member name will be present, but the
  7092  // value will be replaced with "sensitive".
  7093  func (s DeleteApplicationOutputOutput) GoString() string {
  7094  	return s.String()
  7095  }
  7096  
  7097  // SetApplicationARN sets the ApplicationARN field's value.
  7098  func (s *DeleteApplicationOutputOutput) SetApplicationARN(v string) *DeleteApplicationOutputOutput {
  7099  	s.ApplicationARN = &v
  7100  	return s
  7101  }
  7102  
  7103  // SetApplicationVersionId sets the ApplicationVersionId field's value.
  7104  func (s *DeleteApplicationOutputOutput) SetApplicationVersionId(v int64) *DeleteApplicationOutputOutput {
  7105  	s.ApplicationVersionId = &v
  7106  	return s
  7107  }
  7108  
  7109  type DeleteApplicationReferenceDataSourceInput struct {
  7110  	_ struct{} `type:"structure"`
  7111  
  7112  	// The name of an existing application.
  7113  	//
  7114  	// ApplicationName is a required field
  7115  	ApplicationName *string `min:"1" type:"string" required:"true"`
  7116  
  7117  	// The current application version. You can use the DescribeApplication operation
  7118  	// to get the current application version. If the version specified is not the
  7119  	// current version, the ConcurrentModificationException is returned.
  7120  	//
  7121  	// CurrentApplicationVersionId is a required field
  7122  	CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"`
  7123  
  7124  	// The ID of the reference data source. When you add a reference data source
  7125  	// to your application using the AddApplicationReferenceDataSource, Kinesis
  7126  	// Data Analytics assigns an ID. You can use the DescribeApplication operation
  7127  	// to get the reference ID.
  7128  	//
  7129  	// ReferenceId is a required field
  7130  	ReferenceId *string `min:"1" type:"string" required:"true"`
  7131  }
  7132  
  7133  // String returns the string representation.
  7134  //
  7135  // API parameter values that are decorated as "sensitive" in the API will not
  7136  // be included in the string output. The member name will be present, but the
  7137  // value will be replaced with "sensitive".
  7138  func (s DeleteApplicationReferenceDataSourceInput) String() string {
  7139  	return awsutil.Prettify(s)
  7140  }
  7141  
  7142  // GoString returns the string representation.
  7143  //
  7144  // API parameter values that are decorated as "sensitive" in the API will not
  7145  // be included in the string output. The member name will be present, but the
  7146  // value will be replaced with "sensitive".
  7147  func (s DeleteApplicationReferenceDataSourceInput) GoString() string {
  7148  	return s.String()
  7149  }
  7150  
  7151  // Validate inspects the fields of the type to determine if they are valid.
  7152  func (s *DeleteApplicationReferenceDataSourceInput) Validate() error {
  7153  	invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationReferenceDataSourceInput"}
  7154  	if s.ApplicationName == nil {
  7155  		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
  7156  	}
  7157  	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
  7158  		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
  7159  	}
  7160  	if s.CurrentApplicationVersionId == nil {
  7161  		invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId"))
  7162  	}
  7163  	if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 {
  7164  		invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1))
  7165  	}
  7166  	if s.ReferenceId == nil {
  7167  		invalidParams.Add(request.NewErrParamRequired("ReferenceId"))
  7168  	}
  7169  	if s.ReferenceId != nil && len(*s.ReferenceId) < 1 {
  7170  		invalidParams.Add(request.NewErrParamMinLen("ReferenceId", 1))
  7171  	}
  7172  
  7173  	if invalidParams.Len() > 0 {
  7174  		return invalidParams
  7175  	}
  7176  	return nil
  7177  }
  7178  
  7179  // SetApplicationName sets the ApplicationName field's value.
  7180  func (s *DeleteApplicationReferenceDataSourceInput) SetApplicationName(v string) *DeleteApplicationReferenceDataSourceInput {
  7181  	s.ApplicationName = &v
  7182  	return s
  7183  }
  7184  
  7185  // SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value.
  7186  func (s *DeleteApplicationReferenceDataSourceInput) SetCurrentApplicationVersionId(v int64) *DeleteApplicationReferenceDataSourceInput {
  7187  	s.CurrentApplicationVersionId = &v
  7188  	return s
  7189  }
  7190  
  7191  // SetReferenceId sets the ReferenceId field's value.
  7192  func (s *DeleteApplicationReferenceDataSourceInput) SetReferenceId(v string) *DeleteApplicationReferenceDataSourceInput {
  7193  	s.ReferenceId = &v
  7194  	return s
  7195  }
  7196  
  7197  type DeleteApplicationReferenceDataSourceOutput struct {
  7198  	_ struct{} `type:"structure"`
  7199  
  7200  	// The application Amazon Resource Name (ARN).
  7201  	ApplicationARN *string `min:"1" type:"string"`
  7202  
  7203  	// The updated version ID of the application.
  7204  	ApplicationVersionId *int64 `min:"1" type:"long"`
  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 DeleteApplicationReferenceDataSourceOutput) 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 DeleteApplicationReferenceDataSourceOutput) GoString() string {
  7222  	return s.String()
  7223  }
  7224  
  7225  // SetApplicationARN sets the ApplicationARN field's value.
  7226  func (s *DeleteApplicationReferenceDataSourceOutput) SetApplicationARN(v string) *DeleteApplicationReferenceDataSourceOutput {
  7227  	s.ApplicationARN = &v
  7228  	return s
  7229  }
  7230  
  7231  // SetApplicationVersionId sets the ApplicationVersionId field's value.
  7232  func (s *DeleteApplicationReferenceDataSourceOutput) SetApplicationVersionId(v int64) *DeleteApplicationReferenceDataSourceOutput {
  7233  	s.ApplicationVersionId = &v
  7234  	return s
  7235  }
  7236  
  7237  type DeleteApplicationSnapshotInput struct {
  7238  	_ struct{} `type:"structure"`
  7239  
  7240  	// The name of an existing application.
  7241  	//
  7242  	// ApplicationName is a required field
  7243  	ApplicationName *string `min:"1" type:"string" required:"true"`
  7244  
  7245  	// The creation timestamp of the application snapshot to delete. You can retrieve
  7246  	// this value using or .
  7247  	//
  7248  	// SnapshotCreationTimestamp is a required field
  7249  	SnapshotCreationTimestamp *time.Time `type:"timestamp" required:"true"`
  7250  
  7251  	// The identifier for the snapshot delete.
  7252  	//
  7253  	// SnapshotName is a required field
  7254  	SnapshotName *string `min:"1" type:"string" required:"true"`
  7255  }
  7256  
  7257  // String returns the string representation.
  7258  //
  7259  // API parameter values that are decorated as "sensitive" in the API will not
  7260  // be included in the string output. The member name will be present, but the
  7261  // value will be replaced with "sensitive".
  7262  func (s DeleteApplicationSnapshotInput) String() string {
  7263  	return awsutil.Prettify(s)
  7264  }
  7265  
  7266  // GoString returns the string representation.
  7267  //
  7268  // API parameter values that are decorated as "sensitive" in the API will not
  7269  // be included in the string output. The member name will be present, but the
  7270  // value will be replaced with "sensitive".
  7271  func (s DeleteApplicationSnapshotInput) GoString() string {
  7272  	return s.String()
  7273  }
  7274  
  7275  // Validate inspects the fields of the type to determine if they are valid.
  7276  func (s *DeleteApplicationSnapshotInput) Validate() error {
  7277  	invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationSnapshotInput"}
  7278  	if s.ApplicationName == nil {
  7279  		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
  7280  	}
  7281  	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
  7282  		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
  7283  	}
  7284  	if s.SnapshotCreationTimestamp == nil {
  7285  		invalidParams.Add(request.NewErrParamRequired("SnapshotCreationTimestamp"))
  7286  	}
  7287  	if s.SnapshotName == nil {
  7288  		invalidParams.Add(request.NewErrParamRequired("SnapshotName"))
  7289  	}
  7290  	if s.SnapshotName != nil && len(*s.SnapshotName) < 1 {
  7291  		invalidParams.Add(request.NewErrParamMinLen("SnapshotName", 1))
  7292  	}
  7293  
  7294  	if invalidParams.Len() > 0 {
  7295  		return invalidParams
  7296  	}
  7297  	return nil
  7298  }
  7299  
  7300  // SetApplicationName sets the ApplicationName field's value.
  7301  func (s *DeleteApplicationSnapshotInput) SetApplicationName(v string) *DeleteApplicationSnapshotInput {
  7302  	s.ApplicationName = &v
  7303  	return s
  7304  }
  7305  
  7306  // SetSnapshotCreationTimestamp sets the SnapshotCreationTimestamp field's value.
  7307  func (s *DeleteApplicationSnapshotInput) SetSnapshotCreationTimestamp(v time.Time) *DeleteApplicationSnapshotInput {
  7308  	s.SnapshotCreationTimestamp = &v
  7309  	return s
  7310  }
  7311  
  7312  // SetSnapshotName sets the SnapshotName field's value.
  7313  func (s *DeleteApplicationSnapshotInput) SetSnapshotName(v string) *DeleteApplicationSnapshotInput {
  7314  	s.SnapshotName = &v
  7315  	return s
  7316  }
  7317  
  7318  type DeleteApplicationSnapshotOutput struct {
  7319  	_ struct{} `type:"structure"`
  7320  }
  7321  
  7322  // String returns the string representation.
  7323  //
  7324  // API parameter values that are decorated as "sensitive" in the API will not
  7325  // be included in the string output. The member name will be present, but the
  7326  // value will be replaced with "sensitive".
  7327  func (s DeleteApplicationSnapshotOutput) String() string {
  7328  	return awsutil.Prettify(s)
  7329  }
  7330  
  7331  // GoString returns the string representation.
  7332  //
  7333  // API parameter values that are decorated as "sensitive" in the API will not
  7334  // be included in the string output. The member name will be present, but the
  7335  // value will be replaced with "sensitive".
  7336  func (s DeleteApplicationSnapshotOutput) GoString() string {
  7337  	return s.String()
  7338  }
  7339  
  7340  type DeleteApplicationVpcConfigurationInput struct {
  7341  	_ struct{} `type:"structure"`
  7342  
  7343  	// The name of an existing application.
  7344  	//
  7345  	// ApplicationName is a required field
  7346  	ApplicationName *string `min:"1" type:"string" required:"true"`
  7347  
  7348  	// A value you use to implement strong concurrency for application updates.
  7349  	// You must provide the CurrentApplicationVersionId or the ConditionalToken.
  7350  	// You get the application's current ConditionalToken using DescribeApplication.
  7351  	// For better concurrency support, use the ConditionalToken parameter instead
  7352  	// of CurrentApplicationVersionId.
  7353  	ConditionalToken *string `min:"1" type:"string"`
  7354  
  7355  	// The current application version ID. You must provide the CurrentApplicationVersionId
  7356  	// or the ConditionalToken. You can retrieve the application version ID using
  7357  	// DescribeApplication. For better concurrency support, use the ConditionalToken
  7358  	// parameter instead of CurrentApplicationVersionId.
  7359  	CurrentApplicationVersionId *int64 `min:"1" type:"long"`
  7360  
  7361  	// The ID of the VPC configuration to delete.
  7362  	//
  7363  	// VpcConfigurationId is a required field
  7364  	VpcConfigurationId *string `min:"1" type:"string" required:"true"`
  7365  }
  7366  
  7367  // String returns the string representation.
  7368  //
  7369  // API parameter values that are decorated as "sensitive" in the API will not
  7370  // be included in the string output. The member name will be present, but the
  7371  // value will be replaced with "sensitive".
  7372  func (s DeleteApplicationVpcConfigurationInput) String() string {
  7373  	return awsutil.Prettify(s)
  7374  }
  7375  
  7376  // GoString returns the string representation.
  7377  //
  7378  // API parameter values that are decorated as "sensitive" in the API will not
  7379  // be included in the string output. The member name will be present, but the
  7380  // value will be replaced with "sensitive".
  7381  func (s DeleteApplicationVpcConfigurationInput) GoString() string {
  7382  	return s.String()
  7383  }
  7384  
  7385  // Validate inspects the fields of the type to determine if they are valid.
  7386  func (s *DeleteApplicationVpcConfigurationInput) Validate() error {
  7387  	invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationVpcConfigurationInput"}
  7388  	if s.ApplicationName == nil {
  7389  		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
  7390  	}
  7391  	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
  7392  		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
  7393  	}
  7394  	if s.ConditionalToken != nil && len(*s.ConditionalToken) < 1 {
  7395  		invalidParams.Add(request.NewErrParamMinLen("ConditionalToken", 1))
  7396  	}
  7397  	if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 {
  7398  		invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1))
  7399  	}
  7400  	if s.VpcConfigurationId == nil {
  7401  		invalidParams.Add(request.NewErrParamRequired("VpcConfigurationId"))
  7402  	}
  7403  	if s.VpcConfigurationId != nil && len(*s.VpcConfigurationId) < 1 {
  7404  		invalidParams.Add(request.NewErrParamMinLen("VpcConfigurationId", 1))
  7405  	}
  7406  
  7407  	if invalidParams.Len() > 0 {
  7408  		return invalidParams
  7409  	}
  7410  	return nil
  7411  }
  7412  
  7413  // SetApplicationName sets the ApplicationName field's value.
  7414  func (s *DeleteApplicationVpcConfigurationInput) SetApplicationName(v string) *DeleteApplicationVpcConfigurationInput {
  7415  	s.ApplicationName = &v
  7416  	return s
  7417  }
  7418  
  7419  // SetConditionalToken sets the ConditionalToken field's value.
  7420  func (s *DeleteApplicationVpcConfigurationInput) SetConditionalToken(v string) *DeleteApplicationVpcConfigurationInput {
  7421  	s.ConditionalToken = &v
  7422  	return s
  7423  }
  7424  
  7425  // SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value.
  7426  func (s *DeleteApplicationVpcConfigurationInput) SetCurrentApplicationVersionId(v int64) *DeleteApplicationVpcConfigurationInput {
  7427  	s.CurrentApplicationVersionId = &v
  7428  	return s
  7429  }
  7430  
  7431  // SetVpcConfigurationId sets the VpcConfigurationId field's value.
  7432  func (s *DeleteApplicationVpcConfigurationInput) SetVpcConfigurationId(v string) *DeleteApplicationVpcConfigurationInput {
  7433  	s.VpcConfigurationId = &v
  7434  	return s
  7435  }
  7436  
  7437  type DeleteApplicationVpcConfigurationOutput struct {
  7438  	_ struct{} `type:"structure"`
  7439  
  7440  	// The ARN of the Kinesis Data Analytics application.
  7441  	ApplicationARN *string `min:"1" type:"string"`
  7442  
  7443  	// The updated version ID of the application.
  7444  	ApplicationVersionId *int64 `min:"1" type:"long"`
  7445  }
  7446  
  7447  // String returns the string representation.
  7448  //
  7449  // API parameter values that are decorated as "sensitive" in the API will not
  7450  // be included in the string output. The member name will be present, but the
  7451  // value will be replaced with "sensitive".
  7452  func (s DeleteApplicationVpcConfigurationOutput) String() string {
  7453  	return awsutil.Prettify(s)
  7454  }
  7455  
  7456  // GoString returns the string representation.
  7457  //
  7458  // API parameter values that are decorated as "sensitive" in the API will not
  7459  // be included in the string output. The member name will be present, but the
  7460  // value will be replaced with "sensitive".
  7461  func (s DeleteApplicationVpcConfigurationOutput) GoString() string {
  7462  	return s.String()
  7463  }
  7464  
  7465  // SetApplicationARN sets the ApplicationARN field's value.
  7466  func (s *DeleteApplicationVpcConfigurationOutput) SetApplicationARN(v string) *DeleteApplicationVpcConfigurationOutput {
  7467  	s.ApplicationARN = &v
  7468  	return s
  7469  }
  7470  
  7471  // SetApplicationVersionId sets the ApplicationVersionId field's value.
  7472  func (s *DeleteApplicationVpcConfigurationOutput) SetApplicationVersionId(v int64) *DeleteApplicationVpcConfigurationOutput {
  7473  	s.ApplicationVersionId = &v
  7474  	return s
  7475  }
  7476  
  7477  // The information required to deploy a Kinesis Data Analytics Studio notebook
  7478  // as an application with durable state..
  7479  type DeployAsApplicationConfiguration struct {
  7480  	_ struct{} `type:"structure"`
  7481  
  7482  	// The description of an Amazon S3 object that contains the Amazon Data Analytics
  7483  	// application, including the Amazon Resource Name (ARN) of the S3 bucket, the
  7484  	// name of the Amazon S3 object that contains the data, and the version number
  7485  	// of the Amazon S3 object that contains the data.
  7486  	//
  7487  	// S3ContentLocation is a required field
  7488  	S3ContentLocation *S3ContentBaseLocation `type:"structure" required:"true"`
  7489  }
  7490  
  7491  // String returns the string representation.
  7492  //
  7493  // API parameter values that are decorated as "sensitive" in the API will not
  7494  // be included in the string output. The member name will be present, but the
  7495  // value will be replaced with "sensitive".
  7496  func (s DeployAsApplicationConfiguration) String() string {
  7497  	return awsutil.Prettify(s)
  7498  }
  7499  
  7500  // GoString returns the string representation.
  7501  //
  7502  // API parameter values that are decorated as "sensitive" in the API will not
  7503  // be included in the string output. The member name will be present, but the
  7504  // value will be replaced with "sensitive".
  7505  func (s DeployAsApplicationConfiguration) GoString() string {
  7506  	return s.String()
  7507  }
  7508  
  7509  // Validate inspects the fields of the type to determine if they are valid.
  7510  func (s *DeployAsApplicationConfiguration) Validate() error {
  7511  	invalidParams := request.ErrInvalidParams{Context: "DeployAsApplicationConfiguration"}
  7512  	if s.S3ContentLocation == nil {
  7513  		invalidParams.Add(request.NewErrParamRequired("S3ContentLocation"))
  7514  	}
  7515  	if s.S3ContentLocation != nil {
  7516  		if err := s.S3ContentLocation.Validate(); err != nil {
  7517  			invalidParams.AddNested("S3ContentLocation", err.(request.ErrInvalidParams))
  7518  		}
  7519  	}
  7520  
  7521  	if invalidParams.Len() > 0 {
  7522  		return invalidParams
  7523  	}
  7524  	return nil
  7525  }
  7526  
  7527  // SetS3ContentLocation sets the S3ContentLocation field's value.
  7528  func (s *DeployAsApplicationConfiguration) SetS3ContentLocation(v *S3ContentBaseLocation) *DeployAsApplicationConfiguration {
  7529  	s.S3ContentLocation = v
  7530  	return s
  7531  }
  7532  
  7533  // The configuration information required to deploy an Amazon Data Analytics
  7534  // Studio notebook as an application with durable state.
  7535  type DeployAsApplicationConfigurationDescription struct {
  7536  	_ struct{} `type:"structure"`
  7537  
  7538  	// The location that holds the data required to specify an Amazon Data Analytics
  7539  	// application.
  7540  	//
  7541  	// S3ContentLocationDescription is a required field
  7542  	S3ContentLocationDescription *S3ContentBaseLocationDescription `type:"structure" required:"true"`
  7543  }
  7544  
  7545  // String returns the string representation.
  7546  //
  7547  // API parameter values that are decorated as "sensitive" in the API will not
  7548  // be included in the string output. The member name will be present, but the
  7549  // value will be replaced with "sensitive".
  7550  func (s DeployAsApplicationConfigurationDescription) String() string {
  7551  	return awsutil.Prettify(s)
  7552  }
  7553  
  7554  // GoString returns the string representation.
  7555  //
  7556  // API parameter values that are decorated as "sensitive" in the API will not
  7557  // be included in the string output. The member name will be present, but the
  7558  // value will be replaced with "sensitive".
  7559  func (s DeployAsApplicationConfigurationDescription) GoString() string {
  7560  	return s.String()
  7561  }
  7562  
  7563  // SetS3ContentLocationDescription sets the S3ContentLocationDescription field's value.
  7564  func (s *DeployAsApplicationConfigurationDescription) SetS3ContentLocationDescription(v *S3ContentBaseLocationDescription) *DeployAsApplicationConfigurationDescription {
  7565  	s.S3ContentLocationDescription = v
  7566  	return s
  7567  }
  7568  
  7569  // Updates to the configuration information required to deploy an Amazon Data
  7570  // Analytics Studio notebook as an application with durable state..
  7571  type DeployAsApplicationConfigurationUpdate struct {
  7572  	_ struct{} `type:"structure"`
  7573  
  7574  	// Updates to the location that holds the data required to specify an Amazon
  7575  	// Data Analytics application.
  7576  	//
  7577  	// S3ContentLocationUpdate is a required field
  7578  	S3ContentLocationUpdate *S3ContentBaseLocationUpdate `type:"structure" required:"true"`
  7579  }
  7580  
  7581  // String returns the string representation.
  7582  //
  7583  // API parameter values that are decorated as "sensitive" in the API will not
  7584  // be included in the string output. The member name will be present, but the
  7585  // value will be replaced with "sensitive".
  7586  func (s DeployAsApplicationConfigurationUpdate) String() string {
  7587  	return awsutil.Prettify(s)
  7588  }
  7589  
  7590  // GoString returns the string representation.
  7591  //
  7592  // API parameter values that are decorated as "sensitive" in the API will not
  7593  // be included in the string output. The member name will be present, but the
  7594  // value will be replaced with "sensitive".
  7595  func (s DeployAsApplicationConfigurationUpdate) GoString() string {
  7596  	return s.String()
  7597  }
  7598  
  7599  // Validate inspects the fields of the type to determine if they are valid.
  7600  func (s *DeployAsApplicationConfigurationUpdate) Validate() error {
  7601  	invalidParams := request.ErrInvalidParams{Context: "DeployAsApplicationConfigurationUpdate"}
  7602  	if s.S3ContentLocationUpdate == nil {
  7603  		invalidParams.Add(request.NewErrParamRequired("S3ContentLocationUpdate"))
  7604  	}
  7605  	if s.S3ContentLocationUpdate != nil {
  7606  		if err := s.S3ContentLocationUpdate.Validate(); err != nil {
  7607  			invalidParams.AddNested("S3ContentLocationUpdate", err.(request.ErrInvalidParams))
  7608  		}
  7609  	}
  7610  
  7611  	if invalidParams.Len() > 0 {
  7612  		return invalidParams
  7613  	}
  7614  	return nil
  7615  }
  7616  
  7617  // SetS3ContentLocationUpdate sets the S3ContentLocationUpdate field's value.
  7618  func (s *DeployAsApplicationConfigurationUpdate) SetS3ContentLocationUpdate(v *S3ContentBaseLocationUpdate) *DeployAsApplicationConfigurationUpdate {
  7619  	s.S3ContentLocationUpdate = v
  7620  	return s
  7621  }
  7622  
  7623  type DescribeApplicationInput struct {
  7624  	_ struct{} `type:"structure"`
  7625  
  7626  	// The name of the application.
  7627  	//
  7628  	// ApplicationName is a required field
  7629  	ApplicationName *string `min:"1" type:"string" required:"true"`
  7630  
  7631  	// Displays verbose information about a Kinesis Data Analytics application,
  7632  	// including the application's job plan.
  7633  	IncludeAdditionalDetails *bool `type:"boolean"`
  7634  }
  7635  
  7636  // String returns the string representation.
  7637  //
  7638  // API parameter values that are decorated as "sensitive" in the API will not
  7639  // be included in the string output. The member name will be present, but the
  7640  // value will be replaced with "sensitive".
  7641  func (s DescribeApplicationInput) String() string {
  7642  	return awsutil.Prettify(s)
  7643  }
  7644  
  7645  // GoString returns the string representation.
  7646  //
  7647  // API parameter values that are decorated as "sensitive" in the API will not
  7648  // be included in the string output. The member name will be present, but the
  7649  // value will be replaced with "sensitive".
  7650  func (s DescribeApplicationInput) GoString() string {
  7651  	return s.String()
  7652  }
  7653  
  7654  // Validate inspects the fields of the type to determine if they are valid.
  7655  func (s *DescribeApplicationInput) Validate() error {
  7656  	invalidParams := request.ErrInvalidParams{Context: "DescribeApplicationInput"}
  7657  	if s.ApplicationName == nil {
  7658  		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
  7659  	}
  7660  	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
  7661  		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
  7662  	}
  7663  
  7664  	if invalidParams.Len() > 0 {
  7665  		return invalidParams
  7666  	}
  7667  	return nil
  7668  }
  7669  
  7670  // SetApplicationName sets the ApplicationName field's value.
  7671  func (s *DescribeApplicationInput) SetApplicationName(v string) *DescribeApplicationInput {
  7672  	s.ApplicationName = &v
  7673  	return s
  7674  }
  7675  
  7676  // SetIncludeAdditionalDetails sets the IncludeAdditionalDetails field's value.
  7677  func (s *DescribeApplicationInput) SetIncludeAdditionalDetails(v bool) *DescribeApplicationInput {
  7678  	s.IncludeAdditionalDetails = &v
  7679  	return s
  7680  }
  7681  
  7682  type DescribeApplicationOutput struct {
  7683  	_ struct{} `type:"structure"`
  7684  
  7685  	// Provides a description of the application, such as the application's Amazon
  7686  	// Resource Name (ARN), status, and latest version.
  7687  	//
  7688  	// ApplicationDetail is a required field
  7689  	ApplicationDetail *ApplicationDetail `type:"structure" required:"true"`
  7690  }
  7691  
  7692  // String returns the string representation.
  7693  //
  7694  // API parameter values that are decorated as "sensitive" in the API will not
  7695  // be included in the string output. The member name will be present, but the
  7696  // value will be replaced with "sensitive".
  7697  func (s DescribeApplicationOutput) String() string {
  7698  	return awsutil.Prettify(s)
  7699  }
  7700  
  7701  // GoString returns the string representation.
  7702  //
  7703  // API parameter values that are decorated as "sensitive" in the API will not
  7704  // be included in the string output. The member name will be present, but the
  7705  // value will be replaced with "sensitive".
  7706  func (s DescribeApplicationOutput) GoString() string {
  7707  	return s.String()
  7708  }
  7709  
  7710  // SetApplicationDetail sets the ApplicationDetail field's value.
  7711  func (s *DescribeApplicationOutput) SetApplicationDetail(v *ApplicationDetail) *DescribeApplicationOutput {
  7712  	s.ApplicationDetail = v
  7713  	return s
  7714  }
  7715  
  7716  type DescribeApplicationSnapshotInput struct {
  7717  	_ struct{} `type:"structure"`
  7718  
  7719  	// The name of an existing application.
  7720  	//
  7721  	// ApplicationName is a required field
  7722  	ApplicationName *string `min:"1" type:"string" required:"true"`
  7723  
  7724  	// The identifier of an application snapshot. You can retrieve this value using .
  7725  	//
  7726  	// SnapshotName is a required field
  7727  	SnapshotName *string `min:"1" type:"string" required:"true"`
  7728  }
  7729  
  7730  // String returns the string representation.
  7731  //
  7732  // API parameter values that are decorated as "sensitive" in the API will not
  7733  // be included in the string output. The member name will be present, but the
  7734  // value will be replaced with "sensitive".
  7735  func (s DescribeApplicationSnapshotInput) String() string {
  7736  	return awsutil.Prettify(s)
  7737  }
  7738  
  7739  // GoString returns the string representation.
  7740  //
  7741  // API parameter values that are decorated as "sensitive" in the API will not
  7742  // be included in the string output. The member name will be present, but the
  7743  // value will be replaced with "sensitive".
  7744  func (s DescribeApplicationSnapshotInput) GoString() string {
  7745  	return s.String()
  7746  }
  7747  
  7748  // Validate inspects the fields of the type to determine if they are valid.
  7749  func (s *DescribeApplicationSnapshotInput) Validate() error {
  7750  	invalidParams := request.ErrInvalidParams{Context: "DescribeApplicationSnapshotInput"}
  7751  	if s.ApplicationName == nil {
  7752  		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
  7753  	}
  7754  	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
  7755  		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
  7756  	}
  7757  	if s.SnapshotName == nil {
  7758  		invalidParams.Add(request.NewErrParamRequired("SnapshotName"))
  7759  	}
  7760  	if s.SnapshotName != nil && len(*s.SnapshotName) < 1 {
  7761  		invalidParams.Add(request.NewErrParamMinLen("SnapshotName", 1))
  7762  	}
  7763  
  7764  	if invalidParams.Len() > 0 {
  7765  		return invalidParams
  7766  	}
  7767  	return nil
  7768  }
  7769  
  7770  // SetApplicationName sets the ApplicationName field's value.
  7771  func (s *DescribeApplicationSnapshotInput) SetApplicationName(v string) *DescribeApplicationSnapshotInput {
  7772  	s.ApplicationName = &v
  7773  	return s
  7774  }
  7775  
  7776  // SetSnapshotName sets the SnapshotName field's value.
  7777  func (s *DescribeApplicationSnapshotInput) SetSnapshotName(v string) *DescribeApplicationSnapshotInput {
  7778  	s.SnapshotName = &v
  7779  	return s
  7780  }
  7781  
  7782  type DescribeApplicationSnapshotOutput struct {
  7783  	_ struct{} `type:"structure"`
  7784  
  7785  	// An object containing information about the application snapshot.
  7786  	//
  7787  	// SnapshotDetails is a required field
  7788  	SnapshotDetails *SnapshotDetails `type:"structure" required:"true"`
  7789  }
  7790  
  7791  // String returns the string representation.
  7792  //
  7793  // API parameter values that are decorated as "sensitive" in the API will not
  7794  // be included in the string output. The member name will be present, but the
  7795  // value will be replaced with "sensitive".
  7796  func (s DescribeApplicationSnapshotOutput) String() string {
  7797  	return awsutil.Prettify(s)
  7798  }
  7799  
  7800  // GoString returns the string representation.
  7801  //
  7802  // API parameter values that are decorated as "sensitive" in the API will not
  7803  // be included in the string output. The member name will be present, but the
  7804  // value will be replaced with "sensitive".
  7805  func (s DescribeApplicationSnapshotOutput) GoString() string {
  7806  	return s.String()
  7807  }
  7808  
  7809  // SetSnapshotDetails sets the SnapshotDetails field's value.
  7810  func (s *DescribeApplicationSnapshotOutput) SetSnapshotDetails(v *SnapshotDetails) *DescribeApplicationSnapshotOutput {
  7811  	s.SnapshotDetails = v
  7812  	return s
  7813  }
  7814  
  7815  type DescribeApplicationVersionInput struct {
  7816  	_ struct{} `type:"structure"`
  7817  
  7818  	// The name of the application for which you want to get the version description.
  7819  	//
  7820  	// ApplicationName is a required field
  7821  	ApplicationName *string `min:"1" type:"string" required:"true"`
  7822  
  7823  	// The ID of the application version for which you want to get the description.
  7824  	//
  7825  	// ApplicationVersionId is a required field
  7826  	ApplicationVersionId *int64 `min:"1" type:"long" required:"true"`
  7827  }
  7828  
  7829  // String returns the string representation.
  7830  //
  7831  // API parameter values that are decorated as "sensitive" in the API will not
  7832  // be included in the string output. The member name will be present, but the
  7833  // value will be replaced with "sensitive".
  7834  func (s DescribeApplicationVersionInput) String() string {
  7835  	return awsutil.Prettify(s)
  7836  }
  7837  
  7838  // GoString returns the string representation.
  7839  //
  7840  // API parameter values that are decorated as "sensitive" in the API will not
  7841  // be included in the string output. The member name will be present, but the
  7842  // value will be replaced with "sensitive".
  7843  func (s DescribeApplicationVersionInput) GoString() string {
  7844  	return s.String()
  7845  }
  7846  
  7847  // Validate inspects the fields of the type to determine if they are valid.
  7848  func (s *DescribeApplicationVersionInput) Validate() error {
  7849  	invalidParams := request.ErrInvalidParams{Context: "DescribeApplicationVersionInput"}
  7850  	if s.ApplicationName == nil {
  7851  		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
  7852  	}
  7853  	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
  7854  		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
  7855  	}
  7856  	if s.ApplicationVersionId == nil {
  7857  		invalidParams.Add(request.NewErrParamRequired("ApplicationVersionId"))
  7858  	}
  7859  	if s.ApplicationVersionId != nil && *s.ApplicationVersionId < 1 {
  7860  		invalidParams.Add(request.NewErrParamMinValue("ApplicationVersionId", 1))
  7861  	}
  7862  
  7863  	if invalidParams.Len() > 0 {
  7864  		return invalidParams
  7865  	}
  7866  	return nil
  7867  }
  7868  
  7869  // SetApplicationName sets the ApplicationName field's value.
  7870  func (s *DescribeApplicationVersionInput) SetApplicationName(v string) *DescribeApplicationVersionInput {
  7871  	s.ApplicationName = &v
  7872  	return s
  7873  }
  7874  
  7875  // SetApplicationVersionId sets the ApplicationVersionId field's value.
  7876  func (s *DescribeApplicationVersionInput) SetApplicationVersionId(v int64) *DescribeApplicationVersionInput {
  7877  	s.ApplicationVersionId = &v
  7878  	return s
  7879  }
  7880  
  7881  type DescribeApplicationVersionOutput struct {
  7882  	_ struct{} `type:"structure"`
  7883  
  7884  	// Describes the application, including the application Amazon Resource Name
  7885  	// (ARN), status, latest version, and input and output configurations.
  7886  	ApplicationVersionDetail *ApplicationDetail `type:"structure"`
  7887  }
  7888  
  7889  // String returns the string representation.
  7890  //
  7891  // API parameter values that are decorated as "sensitive" in the API will not
  7892  // be included in the string output. The member name will be present, but the
  7893  // value will be replaced with "sensitive".
  7894  func (s DescribeApplicationVersionOutput) String() string {
  7895  	return awsutil.Prettify(s)
  7896  }
  7897  
  7898  // GoString returns the string representation.
  7899  //
  7900  // API parameter values that are decorated as "sensitive" in the API will not
  7901  // be included in the string output. The member name will be present, but the
  7902  // value will be replaced with "sensitive".
  7903  func (s DescribeApplicationVersionOutput) GoString() string {
  7904  	return s.String()
  7905  }
  7906  
  7907  // SetApplicationVersionDetail sets the ApplicationVersionDetail field's value.
  7908  func (s *DescribeApplicationVersionOutput) SetApplicationVersionDetail(v *ApplicationDetail) *DescribeApplicationVersionOutput {
  7909  	s.ApplicationVersionDetail = v
  7910  	return s
  7911  }
  7912  
  7913  // Describes the data format when records are written to the destination in
  7914  // a SQL-based Kinesis Data Analytics application.
  7915  type DestinationSchema struct {
  7916  	_ struct{} `type:"structure"`
  7917  
  7918  	// Specifies the format of the records on the output stream.
  7919  	//
  7920  	// RecordFormatType is a required field
  7921  	RecordFormatType *string `type:"string" required:"true" enum:"RecordFormatType"`
  7922  }
  7923  
  7924  // String returns the string representation.
  7925  //
  7926  // API parameter values that are decorated as "sensitive" in the API will not
  7927  // be included in the string output. The member name will be present, but the
  7928  // value will be replaced with "sensitive".
  7929  func (s DestinationSchema) String() string {
  7930  	return awsutil.Prettify(s)
  7931  }
  7932  
  7933  // GoString returns the string representation.
  7934  //
  7935  // API parameter values that are decorated as "sensitive" in the API will not
  7936  // be included in the string output. The member name will be present, but the
  7937  // value will be replaced with "sensitive".
  7938  func (s DestinationSchema) GoString() string {
  7939  	return s.String()
  7940  }
  7941  
  7942  // Validate inspects the fields of the type to determine if they are valid.
  7943  func (s *DestinationSchema) Validate() error {
  7944  	invalidParams := request.ErrInvalidParams{Context: "DestinationSchema"}
  7945  	if s.RecordFormatType == nil {
  7946  		invalidParams.Add(request.NewErrParamRequired("RecordFormatType"))
  7947  	}
  7948  
  7949  	if invalidParams.Len() > 0 {
  7950  		return invalidParams
  7951  	}
  7952  	return nil
  7953  }
  7954  
  7955  // SetRecordFormatType sets the RecordFormatType field's value.
  7956  func (s *DestinationSchema) SetRecordFormatType(v string) *DestinationSchema {
  7957  	s.RecordFormatType = &v
  7958  	return s
  7959  }
  7960  
  7961  type DiscoverInputSchemaInput struct {
  7962  	_ struct{} `type:"structure"`
  7963  
  7964  	// The InputProcessingConfiguration to use to preprocess the records before
  7965  	// discovering the schema of the records.
  7966  	InputProcessingConfiguration *InputProcessingConfiguration `type:"structure"`
  7967  
  7968  	// The point at which you want Kinesis Data Analytics to start reading records
  7969  	// from the specified streaming source discovery purposes.
  7970  	InputStartingPositionConfiguration *InputStartingPositionConfiguration `type:"structure"`
  7971  
  7972  	// The Amazon Resource Name (ARN) of the streaming source.
  7973  	ResourceARN *string `min:"1" type:"string"`
  7974  
  7975  	// Specify this parameter to discover a schema from data in an Amazon S3 object.
  7976  	S3Configuration *S3Configuration `type:"structure"`
  7977  
  7978  	// The ARN of the role that is used to access the streaming source.
  7979  	//
  7980  	// ServiceExecutionRole is a required field
  7981  	ServiceExecutionRole *string `min:"1" type:"string" required:"true"`
  7982  }
  7983  
  7984  // String returns the string representation.
  7985  //
  7986  // API parameter values that are decorated as "sensitive" in the API will not
  7987  // be included in the string output. The member name will be present, but the
  7988  // value will be replaced with "sensitive".
  7989  func (s DiscoverInputSchemaInput) String() string {
  7990  	return awsutil.Prettify(s)
  7991  }
  7992  
  7993  // GoString returns the string representation.
  7994  //
  7995  // API parameter values that are decorated as "sensitive" in the API will not
  7996  // be included in the string output. The member name will be present, but the
  7997  // value will be replaced with "sensitive".
  7998  func (s DiscoverInputSchemaInput) GoString() string {
  7999  	return s.String()
  8000  }
  8001  
  8002  // Validate inspects the fields of the type to determine if they are valid.
  8003  func (s *DiscoverInputSchemaInput) Validate() error {
  8004  	invalidParams := request.ErrInvalidParams{Context: "DiscoverInputSchemaInput"}
  8005  	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
  8006  		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
  8007  	}
  8008  	if s.ServiceExecutionRole == nil {
  8009  		invalidParams.Add(request.NewErrParamRequired("ServiceExecutionRole"))
  8010  	}
  8011  	if s.ServiceExecutionRole != nil && len(*s.ServiceExecutionRole) < 1 {
  8012  		invalidParams.Add(request.NewErrParamMinLen("ServiceExecutionRole", 1))
  8013  	}
  8014  	if s.InputProcessingConfiguration != nil {
  8015  		if err := s.InputProcessingConfiguration.Validate(); err != nil {
  8016  			invalidParams.AddNested("InputProcessingConfiguration", err.(request.ErrInvalidParams))
  8017  		}
  8018  	}
  8019  	if s.S3Configuration != nil {
  8020  		if err := s.S3Configuration.Validate(); err != nil {
  8021  			invalidParams.AddNested("S3Configuration", err.(request.ErrInvalidParams))
  8022  		}
  8023  	}
  8024  
  8025  	if invalidParams.Len() > 0 {
  8026  		return invalidParams
  8027  	}
  8028  	return nil
  8029  }
  8030  
  8031  // SetInputProcessingConfiguration sets the InputProcessingConfiguration field's value.
  8032  func (s *DiscoverInputSchemaInput) SetInputProcessingConfiguration(v *InputProcessingConfiguration) *DiscoverInputSchemaInput {
  8033  	s.InputProcessingConfiguration = v
  8034  	return s
  8035  }
  8036  
  8037  // SetInputStartingPositionConfiguration sets the InputStartingPositionConfiguration field's value.
  8038  func (s *DiscoverInputSchemaInput) SetInputStartingPositionConfiguration(v *InputStartingPositionConfiguration) *DiscoverInputSchemaInput {
  8039  	s.InputStartingPositionConfiguration = v
  8040  	return s
  8041  }
  8042  
  8043  // SetResourceARN sets the ResourceARN field's value.
  8044  func (s *DiscoverInputSchemaInput) SetResourceARN(v string) *DiscoverInputSchemaInput {
  8045  	s.ResourceARN = &v
  8046  	return s
  8047  }
  8048  
  8049  // SetS3Configuration sets the S3Configuration field's value.
  8050  func (s *DiscoverInputSchemaInput) SetS3Configuration(v *S3Configuration) *DiscoverInputSchemaInput {
  8051  	s.S3Configuration = v
  8052  	return s
  8053  }
  8054  
  8055  // SetServiceExecutionRole sets the ServiceExecutionRole field's value.
  8056  func (s *DiscoverInputSchemaInput) SetServiceExecutionRole(v string) *DiscoverInputSchemaInput {
  8057  	s.ServiceExecutionRole = &v
  8058  	return s
  8059  }
  8060  
  8061  type DiscoverInputSchemaOutput struct {
  8062  	_ struct{} `type:"structure"`
  8063  
  8064  	// The schema inferred from the streaming source. It identifies the format of
  8065  	// the data in the streaming source and how each data element maps to corresponding
  8066  	// columns in the in-application stream that you can create.
  8067  	InputSchema *SourceSchema `type:"structure"`
  8068  
  8069  	// An array of elements, where each element corresponds to a row in a stream
  8070  	// record (a stream record can have more than one row).
  8071  	ParsedInputRecords [][]*string `type:"list"`
  8072  
  8073  	// The stream data that was modified by the processor specified in the InputProcessingConfiguration
  8074  	// parameter.
  8075  	ProcessedInputRecords []*string `type:"list"`
  8076  
  8077  	// The raw stream data that was sampled to infer the schema.
  8078  	RawInputRecords []*string `type:"list"`
  8079  }
  8080  
  8081  // String returns the string representation.
  8082  //
  8083  // API parameter values that are decorated as "sensitive" in the API will not
  8084  // be included in the string output. The member name will be present, but the
  8085  // value will be replaced with "sensitive".
  8086  func (s DiscoverInputSchemaOutput) String() string {
  8087  	return awsutil.Prettify(s)
  8088  }
  8089  
  8090  // GoString returns the string representation.
  8091  //
  8092  // API parameter values that are decorated as "sensitive" in the API will not
  8093  // be included in the string output. The member name will be present, but the
  8094  // value will be replaced with "sensitive".
  8095  func (s DiscoverInputSchemaOutput) GoString() string {
  8096  	return s.String()
  8097  }
  8098  
  8099  // SetInputSchema sets the InputSchema field's value.
  8100  func (s *DiscoverInputSchemaOutput) SetInputSchema(v *SourceSchema) *DiscoverInputSchemaOutput {
  8101  	s.InputSchema = v
  8102  	return s
  8103  }
  8104  
  8105  // SetParsedInputRecords sets the ParsedInputRecords field's value.
  8106  func (s *DiscoverInputSchemaOutput) SetParsedInputRecords(v [][]*string) *DiscoverInputSchemaOutput {
  8107  	s.ParsedInputRecords = v
  8108  	return s
  8109  }
  8110  
  8111  // SetProcessedInputRecords sets the ProcessedInputRecords field's value.
  8112  func (s *DiscoverInputSchemaOutput) SetProcessedInputRecords(v []*string) *DiscoverInputSchemaOutput {
  8113  	s.ProcessedInputRecords = v
  8114  	return s
  8115  }
  8116  
  8117  // SetRawInputRecords sets the RawInputRecords field's value.
  8118  func (s *DiscoverInputSchemaOutput) SetRawInputRecords(v []*string) *DiscoverInputSchemaOutput {
  8119  	s.RawInputRecords = v
  8120  	return s
  8121  }
  8122  
  8123  // Describes execution properties for a Flink-based Kinesis Data Analytics application.
  8124  type EnvironmentProperties struct {
  8125  	_ struct{} `type:"structure"`
  8126  
  8127  	// Describes the execution property groups.
  8128  	//
  8129  	// PropertyGroups is a required field
  8130  	PropertyGroups []*PropertyGroup `type:"list" required:"true"`
  8131  }
  8132  
  8133  // String returns the string representation.
  8134  //
  8135  // API parameter values that are decorated as "sensitive" in the API will not
  8136  // be included in the string output. The member name will be present, but the
  8137  // value will be replaced with "sensitive".
  8138  func (s EnvironmentProperties) String() string {
  8139  	return awsutil.Prettify(s)
  8140  }
  8141  
  8142  // GoString 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 EnvironmentProperties) GoString() string {
  8148  	return s.String()
  8149  }
  8150  
  8151  // Validate inspects the fields of the type to determine if they are valid.
  8152  func (s *EnvironmentProperties) Validate() error {
  8153  	invalidParams := request.ErrInvalidParams{Context: "EnvironmentProperties"}
  8154  	if s.PropertyGroups == nil {
  8155  		invalidParams.Add(request.NewErrParamRequired("PropertyGroups"))
  8156  	}
  8157  	if s.PropertyGroups != nil {
  8158  		for i, v := range s.PropertyGroups {
  8159  			if v == nil {
  8160  				continue
  8161  			}
  8162  			if err := v.Validate(); err != nil {
  8163  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PropertyGroups", i), err.(request.ErrInvalidParams))
  8164  			}
  8165  		}
  8166  	}
  8167  
  8168  	if invalidParams.Len() > 0 {
  8169  		return invalidParams
  8170  	}
  8171  	return nil
  8172  }
  8173  
  8174  // SetPropertyGroups sets the PropertyGroups field's value.
  8175  func (s *EnvironmentProperties) SetPropertyGroups(v []*PropertyGroup) *EnvironmentProperties {
  8176  	s.PropertyGroups = v
  8177  	return s
  8178  }
  8179  
  8180  // Describes the execution properties for an Apache Flink runtime.
  8181  type EnvironmentPropertyDescriptions struct {
  8182  	_ struct{} `type:"structure"`
  8183  
  8184  	// Describes the execution property groups.
  8185  	PropertyGroupDescriptions []*PropertyGroup `type:"list"`
  8186  }
  8187  
  8188  // String returns the string representation.
  8189  //
  8190  // API parameter values that are decorated as "sensitive" in the API will not
  8191  // be included in the string output. The member name will be present, but the
  8192  // value will be replaced with "sensitive".
  8193  func (s EnvironmentPropertyDescriptions) String() string {
  8194  	return awsutil.Prettify(s)
  8195  }
  8196  
  8197  // GoString returns the string representation.
  8198  //
  8199  // API parameter values that are decorated as "sensitive" in the API will not
  8200  // be included in the string output. The member name will be present, but the
  8201  // value will be replaced with "sensitive".
  8202  func (s EnvironmentPropertyDescriptions) GoString() string {
  8203  	return s.String()
  8204  }
  8205  
  8206  // SetPropertyGroupDescriptions sets the PropertyGroupDescriptions field's value.
  8207  func (s *EnvironmentPropertyDescriptions) SetPropertyGroupDescriptions(v []*PropertyGroup) *EnvironmentPropertyDescriptions {
  8208  	s.PropertyGroupDescriptions = v
  8209  	return s
  8210  }
  8211  
  8212  // Describes updates to the execution property groups for a Flink-based Kinesis
  8213  // Data Analytics application or a Studio notebook.
  8214  type EnvironmentPropertyUpdates struct {
  8215  	_ struct{} `type:"structure"`
  8216  
  8217  	// Describes updates to the execution property groups.
  8218  	//
  8219  	// PropertyGroups is a required field
  8220  	PropertyGroups []*PropertyGroup `type:"list" required:"true"`
  8221  }
  8222  
  8223  // String returns the string representation.
  8224  //
  8225  // API parameter values that are decorated as "sensitive" in the API will not
  8226  // be included in the string output. The member name will be present, but the
  8227  // value will be replaced with "sensitive".
  8228  func (s EnvironmentPropertyUpdates) String() string {
  8229  	return awsutil.Prettify(s)
  8230  }
  8231  
  8232  // GoString returns the string representation.
  8233  //
  8234  // API parameter values that are decorated as "sensitive" in the API will not
  8235  // be included in the string output. The member name will be present, but the
  8236  // value will be replaced with "sensitive".
  8237  func (s EnvironmentPropertyUpdates) GoString() string {
  8238  	return s.String()
  8239  }
  8240  
  8241  // Validate inspects the fields of the type to determine if they are valid.
  8242  func (s *EnvironmentPropertyUpdates) Validate() error {
  8243  	invalidParams := request.ErrInvalidParams{Context: "EnvironmentPropertyUpdates"}
  8244  	if s.PropertyGroups == nil {
  8245  		invalidParams.Add(request.NewErrParamRequired("PropertyGroups"))
  8246  	}
  8247  	if s.PropertyGroups != nil {
  8248  		for i, v := range s.PropertyGroups {
  8249  			if v == nil {
  8250  				continue
  8251  			}
  8252  			if err := v.Validate(); err != nil {
  8253  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PropertyGroups", i), err.(request.ErrInvalidParams))
  8254  			}
  8255  		}
  8256  	}
  8257  
  8258  	if invalidParams.Len() > 0 {
  8259  		return invalidParams
  8260  	}
  8261  	return nil
  8262  }
  8263  
  8264  // SetPropertyGroups sets the PropertyGroups field's value.
  8265  func (s *EnvironmentPropertyUpdates) SetPropertyGroups(v []*PropertyGroup) *EnvironmentPropertyUpdates {
  8266  	s.PropertyGroups = v
  8267  	return s
  8268  }
  8269  
  8270  // Describes configuration parameters for a Flink-based Kinesis Data Analytics
  8271  // application or a Studio notebook.
  8272  type FlinkApplicationConfiguration struct {
  8273  	_ struct{} `type:"structure"`
  8274  
  8275  	// Describes an application's checkpointing configuration. Checkpointing is
  8276  	// the process of persisting application state for fault tolerance. For more
  8277  	// information, see Checkpoints for Fault Tolerance (https://ci.apache.org/projects/flink/flink-docs-release-1.8/concepts/programming-model.html#checkpoints-for-fault-tolerance)
  8278  	// in the Apache Flink Documentation (https://ci.apache.org/projects/flink/flink-docs-release-1.8/).
  8279  	CheckpointConfiguration *CheckpointConfiguration `type:"structure"`
  8280  
  8281  	// Describes configuration parameters for Amazon CloudWatch logging for an application.
  8282  	MonitoringConfiguration *MonitoringConfiguration `type:"structure"`
  8283  
  8284  	// Describes parameters for how an application executes multiple tasks simultaneously.
  8285  	ParallelismConfiguration *ParallelismConfiguration `type:"structure"`
  8286  }
  8287  
  8288  // String returns the string representation.
  8289  //
  8290  // API parameter values that are decorated as "sensitive" in the API will not
  8291  // be included in the string output. The member name will be present, but the
  8292  // value will be replaced with "sensitive".
  8293  func (s FlinkApplicationConfiguration) String() string {
  8294  	return awsutil.Prettify(s)
  8295  }
  8296  
  8297  // GoString returns the string representation.
  8298  //
  8299  // API parameter values that are decorated as "sensitive" in the API will not
  8300  // be included in the string output. The member name will be present, but the
  8301  // value will be replaced with "sensitive".
  8302  func (s FlinkApplicationConfiguration) GoString() string {
  8303  	return s.String()
  8304  }
  8305  
  8306  // Validate inspects the fields of the type to determine if they are valid.
  8307  func (s *FlinkApplicationConfiguration) Validate() error {
  8308  	invalidParams := request.ErrInvalidParams{Context: "FlinkApplicationConfiguration"}
  8309  	if s.CheckpointConfiguration != nil {
  8310  		if err := s.CheckpointConfiguration.Validate(); err != nil {
  8311  			invalidParams.AddNested("CheckpointConfiguration", err.(request.ErrInvalidParams))
  8312  		}
  8313  	}
  8314  	if s.MonitoringConfiguration != nil {
  8315  		if err := s.MonitoringConfiguration.Validate(); err != nil {
  8316  			invalidParams.AddNested("MonitoringConfiguration", err.(request.ErrInvalidParams))
  8317  		}
  8318  	}
  8319  	if s.ParallelismConfiguration != nil {
  8320  		if err := s.ParallelismConfiguration.Validate(); err != nil {
  8321  			invalidParams.AddNested("ParallelismConfiguration", err.(request.ErrInvalidParams))
  8322  		}
  8323  	}
  8324  
  8325  	if invalidParams.Len() > 0 {
  8326  		return invalidParams
  8327  	}
  8328  	return nil
  8329  }
  8330  
  8331  // SetCheckpointConfiguration sets the CheckpointConfiguration field's value.
  8332  func (s *FlinkApplicationConfiguration) SetCheckpointConfiguration(v *CheckpointConfiguration) *FlinkApplicationConfiguration {
  8333  	s.CheckpointConfiguration = v
  8334  	return s
  8335  }
  8336  
  8337  // SetMonitoringConfiguration sets the MonitoringConfiguration field's value.
  8338  func (s *FlinkApplicationConfiguration) SetMonitoringConfiguration(v *MonitoringConfiguration) *FlinkApplicationConfiguration {
  8339  	s.MonitoringConfiguration = v
  8340  	return s
  8341  }
  8342  
  8343  // SetParallelismConfiguration sets the ParallelismConfiguration field's value.
  8344  func (s *FlinkApplicationConfiguration) SetParallelismConfiguration(v *ParallelismConfiguration) *FlinkApplicationConfiguration {
  8345  	s.ParallelismConfiguration = v
  8346  	return s
  8347  }
  8348  
  8349  // Describes configuration parameters for a Flink-based Kinesis Data Analytics
  8350  // application.
  8351  type FlinkApplicationConfigurationDescription struct {
  8352  	_ struct{} `type:"structure"`
  8353  
  8354  	// Describes an application's checkpointing configuration. Checkpointing is
  8355  	// the process of persisting application state for fault tolerance.
  8356  	CheckpointConfigurationDescription *CheckpointConfigurationDescription `type:"structure"`
  8357  
  8358  	// The job plan for an application. For more information about the job plan,
  8359  	// see Jobs and Scheduling (https://ci.apache.org/projects/flink/flink-docs-release-1.8/internals/job_scheduling.html)
  8360  	// in the Apache Flink Documentation (https://ci.apache.org/projects/flink/flink-docs-release-1.8/).
  8361  	// To retrieve the job plan for the application, use the DescribeApplicationRequest$IncludeAdditionalDetails
  8362  	// parameter of the DescribeApplication operation.
  8363  	JobPlanDescription *string `type:"string"`
  8364  
  8365  	// Describes configuration parameters for Amazon CloudWatch logging for an application.
  8366  	MonitoringConfigurationDescription *MonitoringConfigurationDescription `type:"structure"`
  8367  
  8368  	// Describes parameters for how an application executes multiple tasks simultaneously.
  8369  	ParallelismConfigurationDescription *ParallelismConfigurationDescription `type:"structure"`
  8370  }
  8371  
  8372  // String returns the string representation.
  8373  //
  8374  // API parameter values that are decorated as "sensitive" in the API will not
  8375  // be included in the string output. The member name will be present, but the
  8376  // value will be replaced with "sensitive".
  8377  func (s FlinkApplicationConfigurationDescription) String() string {
  8378  	return awsutil.Prettify(s)
  8379  }
  8380  
  8381  // GoString returns the string representation.
  8382  //
  8383  // API parameter values that are decorated as "sensitive" in the API will not
  8384  // be included in the string output. The member name will be present, but the
  8385  // value will be replaced with "sensitive".
  8386  func (s FlinkApplicationConfigurationDescription) GoString() string {
  8387  	return s.String()
  8388  }
  8389  
  8390  // SetCheckpointConfigurationDescription sets the CheckpointConfigurationDescription field's value.
  8391  func (s *FlinkApplicationConfigurationDescription) SetCheckpointConfigurationDescription(v *CheckpointConfigurationDescription) *FlinkApplicationConfigurationDescription {
  8392  	s.CheckpointConfigurationDescription = v
  8393  	return s
  8394  }
  8395  
  8396  // SetJobPlanDescription sets the JobPlanDescription field's value.
  8397  func (s *FlinkApplicationConfigurationDescription) SetJobPlanDescription(v string) *FlinkApplicationConfigurationDescription {
  8398  	s.JobPlanDescription = &v
  8399  	return s
  8400  }
  8401  
  8402  // SetMonitoringConfigurationDescription sets the MonitoringConfigurationDescription field's value.
  8403  func (s *FlinkApplicationConfigurationDescription) SetMonitoringConfigurationDescription(v *MonitoringConfigurationDescription) *FlinkApplicationConfigurationDescription {
  8404  	s.MonitoringConfigurationDescription = v
  8405  	return s
  8406  }
  8407  
  8408  // SetParallelismConfigurationDescription sets the ParallelismConfigurationDescription field's value.
  8409  func (s *FlinkApplicationConfigurationDescription) SetParallelismConfigurationDescription(v *ParallelismConfigurationDescription) *FlinkApplicationConfigurationDescription {
  8410  	s.ParallelismConfigurationDescription = v
  8411  	return s
  8412  }
  8413  
  8414  // Describes updates to the configuration parameters for a Flink-based Kinesis
  8415  // Data Analytics application.
  8416  type FlinkApplicationConfigurationUpdate struct {
  8417  	_ struct{} `type:"structure"`
  8418  
  8419  	// Describes updates to an application's checkpointing configuration. Checkpointing
  8420  	// is the process of persisting application state for fault tolerance.
  8421  	CheckpointConfigurationUpdate *CheckpointConfigurationUpdate `type:"structure"`
  8422  
  8423  	// Describes updates to the configuration parameters for Amazon CloudWatch logging
  8424  	// for an application.
  8425  	MonitoringConfigurationUpdate *MonitoringConfigurationUpdate `type:"structure"`
  8426  
  8427  	// Describes updates to the parameters for how an application executes multiple
  8428  	// tasks simultaneously.
  8429  	ParallelismConfigurationUpdate *ParallelismConfigurationUpdate `type:"structure"`
  8430  }
  8431  
  8432  // String 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 FlinkApplicationConfigurationUpdate) String() string {
  8438  	return awsutil.Prettify(s)
  8439  }
  8440  
  8441  // GoString returns the string representation.
  8442  //
  8443  // API parameter values that are decorated as "sensitive" in the API will not
  8444  // be included in the string output. The member name will be present, but the
  8445  // value will be replaced with "sensitive".
  8446  func (s FlinkApplicationConfigurationUpdate) GoString() string {
  8447  	return s.String()
  8448  }
  8449  
  8450  // Validate inspects the fields of the type to determine if they are valid.
  8451  func (s *FlinkApplicationConfigurationUpdate) Validate() error {
  8452  	invalidParams := request.ErrInvalidParams{Context: "FlinkApplicationConfigurationUpdate"}
  8453  	if s.CheckpointConfigurationUpdate != nil {
  8454  		if err := s.CheckpointConfigurationUpdate.Validate(); err != nil {
  8455  			invalidParams.AddNested("CheckpointConfigurationUpdate", err.(request.ErrInvalidParams))
  8456  		}
  8457  	}
  8458  	if s.ParallelismConfigurationUpdate != nil {
  8459  		if err := s.ParallelismConfigurationUpdate.Validate(); err != nil {
  8460  			invalidParams.AddNested("ParallelismConfigurationUpdate", err.(request.ErrInvalidParams))
  8461  		}
  8462  	}
  8463  
  8464  	if invalidParams.Len() > 0 {
  8465  		return invalidParams
  8466  	}
  8467  	return nil
  8468  }
  8469  
  8470  // SetCheckpointConfigurationUpdate sets the CheckpointConfigurationUpdate field's value.
  8471  func (s *FlinkApplicationConfigurationUpdate) SetCheckpointConfigurationUpdate(v *CheckpointConfigurationUpdate) *FlinkApplicationConfigurationUpdate {
  8472  	s.CheckpointConfigurationUpdate = v
  8473  	return s
  8474  }
  8475  
  8476  // SetMonitoringConfigurationUpdate sets the MonitoringConfigurationUpdate field's value.
  8477  func (s *FlinkApplicationConfigurationUpdate) SetMonitoringConfigurationUpdate(v *MonitoringConfigurationUpdate) *FlinkApplicationConfigurationUpdate {
  8478  	s.MonitoringConfigurationUpdate = v
  8479  	return s
  8480  }
  8481  
  8482  // SetParallelismConfigurationUpdate sets the ParallelismConfigurationUpdate field's value.
  8483  func (s *FlinkApplicationConfigurationUpdate) SetParallelismConfigurationUpdate(v *ParallelismConfigurationUpdate) *FlinkApplicationConfigurationUpdate {
  8484  	s.ParallelismConfigurationUpdate = v
  8485  	return s
  8486  }
  8487  
  8488  // Describes the starting parameters for a Flink-based Kinesis Data Analytics
  8489  // application.
  8490  type FlinkRunConfiguration struct {
  8491  	_ struct{} `type:"structure"`
  8492  
  8493  	// When restoring from a snapshot, specifies whether the runtime is allowed
  8494  	// to skip a state that cannot be mapped to the new program. This will happen
  8495  	// if the program is updated between snapshots to remove stateful parameters,
  8496  	// and state data in the snapshot no longer corresponds to valid application
  8497  	// data. For more information, see Allowing Non-Restored State (https://ci.apache.org/projects/flink/flink-docs-release-1.8/ops/state/savepoints.html#allowing-non-restored-state)
  8498  	// in the Apache Flink documentation (https://ci.apache.org/projects/flink/flink-docs-release-1.8/).
  8499  	//
  8500  	// This value defaults to false. If you update your application without specifying
  8501  	// this parameter, AllowNonRestoredState will be set to false, even if it was
  8502  	// previously set to true.
  8503  	AllowNonRestoredState *bool `type:"boolean"`
  8504  }
  8505  
  8506  // String returns the string representation.
  8507  //
  8508  // API parameter values that are decorated as "sensitive" in the API will not
  8509  // be included in the string output. The member name will be present, but the
  8510  // value will be replaced with "sensitive".
  8511  func (s FlinkRunConfiguration) String() string {
  8512  	return awsutil.Prettify(s)
  8513  }
  8514  
  8515  // GoString returns the string representation.
  8516  //
  8517  // API parameter values that are decorated as "sensitive" in the API will not
  8518  // be included in the string output. The member name will be present, but the
  8519  // value will be replaced with "sensitive".
  8520  func (s FlinkRunConfiguration) GoString() string {
  8521  	return s.String()
  8522  }
  8523  
  8524  // SetAllowNonRestoredState sets the AllowNonRestoredState field's value.
  8525  func (s *FlinkRunConfiguration) SetAllowNonRestoredState(v bool) *FlinkRunConfiguration {
  8526  	s.AllowNonRestoredState = &v
  8527  	return s
  8528  }
  8529  
  8530  // The configuration of the Glue Data Catalog that you use for Apache Flink
  8531  // SQL queries and table API transforms that you write in an application.
  8532  type GlueDataCatalogConfiguration struct {
  8533  	_ struct{} `type:"structure"`
  8534  
  8535  	// The Amazon Resource Name (ARN) of the database.
  8536  	//
  8537  	// DatabaseARN is a required field
  8538  	DatabaseARN *string `min:"1" type:"string" required:"true"`
  8539  }
  8540  
  8541  // String returns the string representation.
  8542  //
  8543  // API parameter values that are decorated as "sensitive" in the API will not
  8544  // be included in the string output. The member name will be present, but the
  8545  // value will be replaced with "sensitive".
  8546  func (s GlueDataCatalogConfiguration) String() string {
  8547  	return awsutil.Prettify(s)
  8548  }
  8549  
  8550  // GoString returns the string representation.
  8551  //
  8552  // API parameter values that are decorated as "sensitive" in the API will not
  8553  // be included in the string output. The member name will be present, but the
  8554  // value will be replaced with "sensitive".
  8555  func (s GlueDataCatalogConfiguration) GoString() string {
  8556  	return s.String()
  8557  }
  8558  
  8559  // Validate inspects the fields of the type to determine if they are valid.
  8560  func (s *GlueDataCatalogConfiguration) Validate() error {
  8561  	invalidParams := request.ErrInvalidParams{Context: "GlueDataCatalogConfiguration"}
  8562  	if s.DatabaseARN == nil {
  8563  		invalidParams.Add(request.NewErrParamRequired("DatabaseARN"))
  8564  	}
  8565  	if s.DatabaseARN != nil && len(*s.DatabaseARN) < 1 {
  8566  		invalidParams.Add(request.NewErrParamMinLen("DatabaseARN", 1))
  8567  	}
  8568  
  8569  	if invalidParams.Len() > 0 {
  8570  		return invalidParams
  8571  	}
  8572  	return nil
  8573  }
  8574  
  8575  // SetDatabaseARN sets the DatabaseARN field's value.
  8576  func (s *GlueDataCatalogConfiguration) SetDatabaseARN(v string) *GlueDataCatalogConfiguration {
  8577  	s.DatabaseARN = &v
  8578  	return s
  8579  }
  8580  
  8581  // The configuration of the Glue Data Catalog that you use for Apache Flink
  8582  // SQL queries and table API transforms that you write in an application.
  8583  type GlueDataCatalogConfigurationDescription struct {
  8584  	_ struct{} `type:"structure"`
  8585  
  8586  	// The Amazon Resource Name (ARN) of the database.
  8587  	//
  8588  	// DatabaseARN is a required field
  8589  	DatabaseARN *string `min:"1" type:"string" required:"true"`
  8590  }
  8591  
  8592  // String returns the string representation.
  8593  //
  8594  // API parameter values that are decorated as "sensitive" in the API will not
  8595  // be included in the string output. The member name will be present, but the
  8596  // value will be replaced with "sensitive".
  8597  func (s GlueDataCatalogConfigurationDescription) String() string {
  8598  	return awsutil.Prettify(s)
  8599  }
  8600  
  8601  // GoString returns the string representation.
  8602  //
  8603  // API parameter values that are decorated as "sensitive" in the API will not
  8604  // be included in the string output. The member name will be present, but the
  8605  // value will be replaced with "sensitive".
  8606  func (s GlueDataCatalogConfigurationDescription) GoString() string {
  8607  	return s.String()
  8608  }
  8609  
  8610  // SetDatabaseARN sets the DatabaseARN field's value.
  8611  func (s *GlueDataCatalogConfigurationDescription) SetDatabaseARN(v string) *GlueDataCatalogConfigurationDescription {
  8612  	s.DatabaseARN = &v
  8613  	return s
  8614  }
  8615  
  8616  // Updates to the configuration of the Glue Data Catalog that you use for SQL
  8617  // queries that you write in a Kinesis Data Analytics Studio notebook.
  8618  type GlueDataCatalogConfigurationUpdate struct {
  8619  	_ struct{} `type:"structure"`
  8620  
  8621  	// The updated Amazon Resource Name (ARN) of the database.
  8622  	DatabaseARNUpdate *string `min:"1" type:"string"`
  8623  }
  8624  
  8625  // String returns the string representation.
  8626  //
  8627  // API parameter values that are decorated as "sensitive" in the API will not
  8628  // be included in the string output. The member name will be present, but the
  8629  // value will be replaced with "sensitive".
  8630  func (s GlueDataCatalogConfigurationUpdate) String() string {
  8631  	return awsutil.Prettify(s)
  8632  }
  8633  
  8634  // GoString 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 GlueDataCatalogConfigurationUpdate) GoString() string {
  8640  	return s.String()
  8641  }
  8642  
  8643  // Validate inspects the fields of the type to determine if they are valid.
  8644  func (s *GlueDataCatalogConfigurationUpdate) Validate() error {
  8645  	invalidParams := request.ErrInvalidParams{Context: "GlueDataCatalogConfigurationUpdate"}
  8646  	if s.DatabaseARNUpdate != nil && len(*s.DatabaseARNUpdate) < 1 {
  8647  		invalidParams.Add(request.NewErrParamMinLen("DatabaseARNUpdate", 1))
  8648  	}
  8649  
  8650  	if invalidParams.Len() > 0 {
  8651  		return invalidParams
  8652  	}
  8653  	return nil
  8654  }
  8655  
  8656  // SetDatabaseARNUpdate sets the DatabaseARNUpdate field's value.
  8657  func (s *GlueDataCatalogConfigurationUpdate) SetDatabaseARNUpdate(v string) *GlueDataCatalogConfigurationUpdate {
  8658  	s.DatabaseARNUpdate = &v
  8659  	return s
  8660  }
  8661  
  8662  // When you configure the application input for a SQL-based Kinesis Data Analytics
  8663  // application, you specify the streaming source, the in-application stream
  8664  // name that is created, and the mapping between the two.
  8665  type Input struct {
  8666  	_ struct{} `type:"structure"`
  8667  
  8668  	// Describes the number of in-application streams to create.
  8669  	InputParallelism *InputParallelism `type:"structure"`
  8670  
  8671  	// The InputProcessingConfiguration for the input. An input processor transforms
  8672  	// records as they are received from the stream, before the application's SQL
  8673  	// code executes. Currently, the only input processing configuration available
  8674  	// is InputLambdaProcessor.
  8675  	InputProcessingConfiguration *InputProcessingConfiguration `type:"structure"`
  8676  
  8677  	// Describes the format of the data in the streaming source, and how each data
  8678  	// element maps to corresponding columns in the in-application stream that is
  8679  	// being created.
  8680  	//
  8681  	// Also used to describe the format of the reference data source.
  8682  	//
  8683  	// InputSchema is a required field
  8684  	InputSchema *SourceSchema `type:"structure" required:"true"`
  8685  
  8686  	// If the streaming source is an Amazon Kinesis Data Firehose delivery stream,
  8687  	// identifies the delivery stream's ARN.
  8688  	KinesisFirehoseInput *KinesisFirehoseInput `type:"structure"`
  8689  
  8690  	// If the streaming source is an Amazon Kinesis data stream, identifies the
  8691  	// stream's Amazon Resource Name (ARN).
  8692  	KinesisStreamsInput *KinesisStreamsInput `type:"structure"`
  8693  
  8694  	// The name prefix to use when creating an in-application stream. Suppose that
  8695  	// you specify a prefix "MyInApplicationStream." Kinesis Data Analytics then
  8696  	// creates one or more (as per the InputParallelism count you specified) in-application
  8697  	// streams with the names "MyInApplicationStream_001," "MyInApplicationStream_002,"
  8698  	// and so on.
  8699  	//
  8700  	// NamePrefix is a required field
  8701  	NamePrefix *string `min:"1" type:"string" required:"true"`
  8702  }
  8703  
  8704  // String returns the string representation.
  8705  //
  8706  // API parameter values that are decorated as "sensitive" in the API will not
  8707  // be included in the string output. The member name will be present, but the
  8708  // value will be replaced with "sensitive".
  8709  func (s Input) String() string {
  8710  	return awsutil.Prettify(s)
  8711  }
  8712  
  8713  // GoString returns the string representation.
  8714  //
  8715  // API parameter values that are decorated as "sensitive" in the API will not
  8716  // be included in the string output. The member name will be present, but the
  8717  // value will be replaced with "sensitive".
  8718  func (s Input) GoString() string {
  8719  	return s.String()
  8720  }
  8721  
  8722  // Validate inspects the fields of the type to determine if they are valid.
  8723  func (s *Input) Validate() error {
  8724  	invalidParams := request.ErrInvalidParams{Context: "Input"}
  8725  	if s.InputSchema == nil {
  8726  		invalidParams.Add(request.NewErrParamRequired("InputSchema"))
  8727  	}
  8728  	if s.NamePrefix == nil {
  8729  		invalidParams.Add(request.NewErrParamRequired("NamePrefix"))
  8730  	}
  8731  	if s.NamePrefix != nil && len(*s.NamePrefix) < 1 {
  8732  		invalidParams.Add(request.NewErrParamMinLen("NamePrefix", 1))
  8733  	}
  8734  	if s.InputParallelism != nil {
  8735  		if err := s.InputParallelism.Validate(); err != nil {
  8736  			invalidParams.AddNested("InputParallelism", err.(request.ErrInvalidParams))
  8737  		}
  8738  	}
  8739  	if s.InputProcessingConfiguration != nil {
  8740  		if err := s.InputProcessingConfiguration.Validate(); err != nil {
  8741  			invalidParams.AddNested("InputProcessingConfiguration", err.(request.ErrInvalidParams))
  8742  		}
  8743  	}
  8744  	if s.InputSchema != nil {
  8745  		if err := s.InputSchema.Validate(); err != nil {
  8746  			invalidParams.AddNested("InputSchema", err.(request.ErrInvalidParams))
  8747  		}
  8748  	}
  8749  	if s.KinesisFirehoseInput != nil {
  8750  		if err := s.KinesisFirehoseInput.Validate(); err != nil {
  8751  			invalidParams.AddNested("KinesisFirehoseInput", err.(request.ErrInvalidParams))
  8752  		}
  8753  	}
  8754  	if s.KinesisStreamsInput != nil {
  8755  		if err := s.KinesisStreamsInput.Validate(); err != nil {
  8756  			invalidParams.AddNested("KinesisStreamsInput", err.(request.ErrInvalidParams))
  8757  		}
  8758  	}
  8759  
  8760  	if invalidParams.Len() > 0 {
  8761  		return invalidParams
  8762  	}
  8763  	return nil
  8764  }
  8765  
  8766  // SetInputParallelism sets the InputParallelism field's value.
  8767  func (s *Input) SetInputParallelism(v *InputParallelism) *Input {
  8768  	s.InputParallelism = v
  8769  	return s
  8770  }
  8771  
  8772  // SetInputProcessingConfiguration sets the InputProcessingConfiguration field's value.
  8773  func (s *Input) SetInputProcessingConfiguration(v *InputProcessingConfiguration) *Input {
  8774  	s.InputProcessingConfiguration = v
  8775  	return s
  8776  }
  8777  
  8778  // SetInputSchema sets the InputSchema field's value.
  8779  func (s *Input) SetInputSchema(v *SourceSchema) *Input {
  8780  	s.InputSchema = v
  8781  	return s
  8782  }
  8783  
  8784  // SetKinesisFirehoseInput sets the KinesisFirehoseInput field's value.
  8785  func (s *Input) SetKinesisFirehoseInput(v *KinesisFirehoseInput) *Input {
  8786  	s.KinesisFirehoseInput = v
  8787  	return s
  8788  }
  8789  
  8790  // SetKinesisStreamsInput sets the KinesisStreamsInput field's value.
  8791  func (s *Input) SetKinesisStreamsInput(v *KinesisStreamsInput) *Input {
  8792  	s.KinesisStreamsInput = v
  8793  	return s
  8794  }
  8795  
  8796  // SetNamePrefix sets the NamePrefix field's value.
  8797  func (s *Input) SetNamePrefix(v string) *Input {
  8798  	s.NamePrefix = &v
  8799  	return s
  8800  }
  8801  
  8802  // Describes the application input configuration for a SQL-based Kinesis Data
  8803  // Analytics application.
  8804  type InputDescription struct {
  8805  	_ struct{} `type:"structure"`
  8806  
  8807  	// Returns the in-application stream names that are mapped to the stream source.
  8808  	InAppStreamNames []*string `type:"list"`
  8809  
  8810  	// The input ID that is associated with the application input. This is the ID
  8811  	// that Kinesis Data Analytics assigns to each input configuration that you
  8812  	// add to your application.
  8813  	InputId *string `min:"1" type:"string"`
  8814  
  8815  	// Describes the configured parallelism (number of in-application streams mapped
  8816  	// to the streaming source).
  8817  	InputParallelism *InputParallelism `type:"structure"`
  8818  
  8819  	// The description of the preprocessor that executes on records in this input
  8820  	// before the application's code is run.
  8821  	InputProcessingConfigurationDescription *InputProcessingConfigurationDescription `type:"structure"`
  8822  
  8823  	// Describes the format of the data in the streaming source, and how each data
  8824  	// element maps to corresponding columns in the in-application stream that is
  8825  	// being created.
  8826  	InputSchema *SourceSchema `type:"structure"`
  8827  
  8828  	// The point at which the application is configured to read from the input stream.
  8829  	InputStartingPositionConfiguration *InputStartingPositionConfiguration `type:"structure"`
  8830  
  8831  	// If a Kinesis Data Firehose delivery stream is configured as a streaming source,
  8832  	// provides the delivery stream's ARN.
  8833  	KinesisFirehoseInputDescription *KinesisFirehoseInputDescription `type:"structure"`
  8834  
  8835  	// If a Kinesis data stream is configured as a streaming source, provides the
  8836  	// Kinesis data stream's Amazon Resource Name (ARN).
  8837  	KinesisStreamsInputDescription *KinesisStreamsInputDescription `type:"structure"`
  8838  
  8839  	// The in-application name prefix.
  8840  	NamePrefix *string `min:"1" type:"string"`
  8841  }
  8842  
  8843  // String returns the string representation.
  8844  //
  8845  // API parameter values that are decorated as "sensitive" in the API will not
  8846  // be included in the string output. The member name will be present, but the
  8847  // value will be replaced with "sensitive".
  8848  func (s InputDescription) String() string {
  8849  	return awsutil.Prettify(s)
  8850  }
  8851  
  8852  // GoString returns the string representation.
  8853  //
  8854  // API parameter values that are decorated as "sensitive" in the API will not
  8855  // be included in the string output. The member name will be present, but the
  8856  // value will be replaced with "sensitive".
  8857  func (s InputDescription) GoString() string {
  8858  	return s.String()
  8859  }
  8860  
  8861  // SetInAppStreamNames sets the InAppStreamNames field's value.
  8862  func (s *InputDescription) SetInAppStreamNames(v []*string) *InputDescription {
  8863  	s.InAppStreamNames = v
  8864  	return s
  8865  }
  8866  
  8867  // SetInputId sets the InputId field's value.
  8868  func (s *InputDescription) SetInputId(v string) *InputDescription {
  8869  	s.InputId = &v
  8870  	return s
  8871  }
  8872  
  8873  // SetInputParallelism sets the InputParallelism field's value.
  8874  func (s *InputDescription) SetInputParallelism(v *InputParallelism) *InputDescription {
  8875  	s.InputParallelism = v
  8876  	return s
  8877  }
  8878  
  8879  // SetInputProcessingConfigurationDescription sets the InputProcessingConfigurationDescription field's value.
  8880  func (s *InputDescription) SetInputProcessingConfigurationDescription(v *InputProcessingConfigurationDescription) *InputDescription {
  8881  	s.InputProcessingConfigurationDescription = v
  8882  	return s
  8883  }
  8884  
  8885  // SetInputSchema sets the InputSchema field's value.
  8886  func (s *InputDescription) SetInputSchema(v *SourceSchema) *InputDescription {
  8887  	s.InputSchema = v
  8888  	return s
  8889  }
  8890  
  8891  // SetInputStartingPositionConfiguration sets the InputStartingPositionConfiguration field's value.
  8892  func (s *InputDescription) SetInputStartingPositionConfiguration(v *InputStartingPositionConfiguration) *InputDescription {
  8893  	s.InputStartingPositionConfiguration = v
  8894  	return s
  8895  }
  8896  
  8897  // SetKinesisFirehoseInputDescription sets the KinesisFirehoseInputDescription field's value.
  8898  func (s *InputDescription) SetKinesisFirehoseInputDescription(v *KinesisFirehoseInputDescription) *InputDescription {
  8899  	s.KinesisFirehoseInputDescription = v
  8900  	return s
  8901  }
  8902  
  8903  // SetKinesisStreamsInputDescription sets the KinesisStreamsInputDescription field's value.
  8904  func (s *InputDescription) SetKinesisStreamsInputDescription(v *KinesisStreamsInputDescription) *InputDescription {
  8905  	s.KinesisStreamsInputDescription = v
  8906  	return s
  8907  }
  8908  
  8909  // SetNamePrefix sets the NamePrefix field's value.
  8910  func (s *InputDescription) SetNamePrefix(v string) *InputDescription {
  8911  	s.NamePrefix = &v
  8912  	return s
  8913  }
  8914  
  8915  // An object that contains the Amazon Resource Name (ARN) of the AWS Lambda
  8916  // function that is used to preprocess records in the stream in a SQL-based
  8917  // Kinesis Data Analytics application.
  8918  type InputLambdaProcessor struct {
  8919  	_ struct{} `type:"structure"`
  8920  
  8921  	// The ARN of the AWS Lambda function that operates on records in the stream.
  8922  	//
  8923  	// To specify an earlier version of the Lambda function than the latest, include
  8924  	// the Lambda function version in the Lambda function ARN. For more information
  8925  	// about Lambda ARNs, see Example ARNs: AWS Lambda (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-lambda)
  8926  	//
  8927  	// ResourceARN is a required field
  8928  	ResourceARN *string `min:"1" type:"string" required:"true"`
  8929  }
  8930  
  8931  // String returns the string representation.
  8932  //
  8933  // API parameter values that are decorated as "sensitive" in the API will not
  8934  // be included in the string output. The member name will be present, but the
  8935  // value will be replaced with "sensitive".
  8936  func (s InputLambdaProcessor) String() string {
  8937  	return awsutil.Prettify(s)
  8938  }
  8939  
  8940  // GoString returns the string representation.
  8941  //
  8942  // API parameter values that are decorated as "sensitive" in the API will not
  8943  // be included in the string output. The member name will be present, but the
  8944  // value will be replaced with "sensitive".
  8945  func (s InputLambdaProcessor) GoString() string {
  8946  	return s.String()
  8947  }
  8948  
  8949  // Validate inspects the fields of the type to determine if they are valid.
  8950  func (s *InputLambdaProcessor) Validate() error {
  8951  	invalidParams := request.ErrInvalidParams{Context: "InputLambdaProcessor"}
  8952  	if s.ResourceARN == nil {
  8953  		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
  8954  	}
  8955  	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
  8956  		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
  8957  	}
  8958  
  8959  	if invalidParams.Len() > 0 {
  8960  		return invalidParams
  8961  	}
  8962  	return nil
  8963  }
  8964  
  8965  // SetResourceARN sets the ResourceARN field's value.
  8966  func (s *InputLambdaProcessor) SetResourceARN(v string) *InputLambdaProcessor {
  8967  	s.ResourceARN = &v
  8968  	return s
  8969  }
  8970  
  8971  // For a SQL-based Kinesis Data Analytics application, an object that contains
  8972  // the Amazon Resource Name (ARN) of the AWS Lambda function that is used to
  8973  // preprocess records in the stream.
  8974  type InputLambdaProcessorDescription struct {
  8975  	_ struct{} `type:"structure"`
  8976  
  8977  	// The ARN of the AWS Lambda function that is used to preprocess the records
  8978  	// in the stream.
  8979  	//
  8980  	// To specify an earlier version of the Lambda function than the latest, include
  8981  	// the Lambda function version in the Lambda function ARN. For more information
  8982  	// about Lambda ARNs, see Example ARNs: AWS Lambda (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-lambda)
  8983  	//
  8984  	// ResourceARN is a required field
  8985  	ResourceARN *string `min:"1" type:"string" required:"true"`
  8986  
  8987  	// The ARN of the IAM role that is used to access the AWS Lambda function.
  8988  	//
  8989  	// Provided for backward compatibility. Applications that are created with the
  8990  	// current API version have an application-level service execution role rather
  8991  	// than a resource-level role.
  8992  	RoleARN *string `min:"1" type:"string"`
  8993  }
  8994  
  8995  // String returns the string representation.
  8996  //
  8997  // API parameter values that are decorated as "sensitive" in the API will not
  8998  // be included in the string output. The member name will be present, but the
  8999  // value will be replaced with "sensitive".
  9000  func (s InputLambdaProcessorDescription) String() string {
  9001  	return awsutil.Prettify(s)
  9002  }
  9003  
  9004  // GoString returns the string representation.
  9005  //
  9006  // API parameter values that are decorated as "sensitive" in the API will not
  9007  // be included in the string output. The member name will be present, but the
  9008  // value will be replaced with "sensitive".
  9009  func (s InputLambdaProcessorDescription) GoString() string {
  9010  	return s.String()
  9011  }
  9012  
  9013  // SetResourceARN sets the ResourceARN field's value.
  9014  func (s *InputLambdaProcessorDescription) SetResourceARN(v string) *InputLambdaProcessorDescription {
  9015  	s.ResourceARN = &v
  9016  	return s
  9017  }
  9018  
  9019  // SetRoleARN sets the RoleARN field's value.
  9020  func (s *InputLambdaProcessorDescription) SetRoleARN(v string) *InputLambdaProcessorDescription {
  9021  	s.RoleARN = &v
  9022  	return s
  9023  }
  9024  
  9025  // For a SQL-based Kinesis Data Analytics application, represents an update
  9026  // to the InputLambdaProcessor that is used to preprocess the records in the
  9027  // stream.
  9028  type InputLambdaProcessorUpdate struct {
  9029  	_ struct{} `type:"structure"`
  9030  
  9031  	// The Amazon Resource Name (ARN) of the new AWS Lambda function that is used
  9032  	// to preprocess the records in the stream.
  9033  	//
  9034  	// To specify an earlier version of the Lambda function than the latest, include
  9035  	// the Lambda function version in the Lambda function ARN. For more information
  9036  	// about Lambda ARNs, see Example ARNs: AWS Lambda (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-lambda)
  9037  	//
  9038  	// ResourceARNUpdate is a required field
  9039  	ResourceARNUpdate *string `min:"1" type:"string" required:"true"`
  9040  }
  9041  
  9042  // String returns the string representation.
  9043  //
  9044  // API parameter values that are decorated as "sensitive" in the API will not
  9045  // be included in the string output. The member name will be present, but the
  9046  // value will be replaced with "sensitive".
  9047  func (s InputLambdaProcessorUpdate) String() string {
  9048  	return awsutil.Prettify(s)
  9049  }
  9050  
  9051  // GoString returns the string representation.
  9052  //
  9053  // API parameter values that are decorated as "sensitive" in the API will not
  9054  // be included in the string output. The member name will be present, but the
  9055  // value will be replaced with "sensitive".
  9056  func (s InputLambdaProcessorUpdate) GoString() string {
  9057  	return s.String()
  9058  }
  9059  
  9060  // Validate inspects the fields of the type to determine if they are valid.
  9061  func (s *InputLambdaProcessorUpdate) Validate() error {
  9062  	invalidParams := request.ErrInvalidParams{Context: "InputLambdaProcessorUpdate"}
  9063  	if s.ResourceARNUpdate == nil {
  9064  		invalidParams.Add(request.NewErrParamRequired("ResourceARNUpdate"))
  9065  	}
  9066  	if s.ResourceARNUpdate != nil && len(*s.ResourceARNUpdate) < 1 {
  9067  		invalidParams.Add(request.NewErrParamMinLen("ResourceARNUpdate", 1))
  9068  	}
  9069  
  9070  	if invalidParams.Len() > 0 {
  9071  		return invalidParams
  9072  	}
  9073  	return nil
  9074  }
  9075  
  9076  // SetResourceARNUpdate sets the ResourceARNUpdate field's value.
  9077  func (s *InputLambdaProcessorUpdate) SetResourceARNUpdate(v string) *InputLambdaProcessorUpdate {
  9078  	s.ResourceARNUpdate = &v
  9079  	return s
  9080  }
  9081  
  9082  // For a SQL-based Kinesis Data Analytics application, describes the number
  9083  // of in-application streams to create for a given streaming source.
  9084  type InputParallelism struct {
  9085  	_ struct{} `type:"structure"`
  9086  
  9087  	// The number of in-application streams to create.
  9088  	Count *int64 `min:"1" type:"integer"`
  9089  }
  9090  
  9091  // String returns the string representation.
  9092  //
  9093  // API parameter values that are decorated as "sensitive" in the API will not
  9094  // be included in the string output. The member name will be present, but the
  9095  // value will be replaced with "sensitive".
  9096  func (s InputParallelism) String() string {
  9097  	return awsutil.Prettify(s)
  9098  }
  9099  
  9100  // GoString returns the string representation.
  9101  //
  9102  // API parameter values that are decorated as "sensitive" in the API will not
  9103  // be included in the string output. The member name will be present, but the
  9104  // value will be replaced with "sensitive".
  9105  func (s InputParallelism) GoString() string {
  9106  	return s.String()
  9107  }
  9108  
  9109  // Validate inspects the fields of the type to determine if they are valid.
  9110  func (s *InputParallelism) Validate() error {
  9111  	invalidParams := request.ErrInvalidParams{Context: "InputParallelism"}
  9112  	if s.Count != nil && *s.Count < 1 {
  9113  		invalidParams.Add(request.NewErrParamMinValue("Count", 1))
  9114  	}
  9115  
  9116  	if invalidParams.Len() > 0 {
  9117  		return invalidParams
  9118  	}
  9119  	return nil
  9120  }
  9121  
  9122  // SetCount sets the Count field's value.
  9123  func (s *InputParallelism) SetCount(v int64) *InputParallelism {
  9124  	s.Count = &v
  9125  	return s
  9126  }
  9127  
  9128  // For a SQL-based Kinesis Data Analytics application, provides updates to the
  9129  // parallelism count.
  9130  type InputParallelismUpdate struct {
  9131  	_ struct{} `type:"structure"`
  9132  
  9133  	// The number of in-application streams to create for the specified streaming
  9134  	// source.
  9135  	//
  9136  	// CountUpdate is a required field
  9137  	CountUpdate *int64 `min:"1" type:"integer" required:"true"`
  9138  }
  9139  
  9140  // String returns the string representation.
  9141  //
  9142  // API parameter values that are decorated as "sensitive" in the API will not
  9143  // be included in the string output. The member name will be present, but the
  9144  // value will be replaced with "sensitive".
  9145  func (s InputParallelismUpdate) String() string {
  9146  	return awsutil.Prettify(s)
  9147  }
  9148  
  9149  // GoString returns the string representation.
  9150  //
  9151  // API parameter values that are decorated as "sensitive" in the API will not
  9152  // be included in the string output. The member name will be present, but the
  9153  // value will be replaced with "sensitive".
  9154  func (s InputParallelismUpdate) GoString() string {
  9155  	return s.String()
  9156  }
  9157  
  9158  // Validate inspects the fields of the type to determine if they are valid.
  9159  func (s *InputParallelismUpdate) Validate() error {
  9160  	invalidParams := request.ErrInvalidParams{Context: "InputParallelismUpdate"}
  9161  	if s.CountUpdate == nil {
  9162  		invalidParams.Add(request.NewErrParamRequired("CountUpdate"))
  9163  	}
  9164  	if s.CountUpdate != nil && *s.CountUpdate < 1 {
  9165  		invalidParams.Add(request.NewErrParamMinValue("CountUpdate", 1))
  9166  	}
  9167  
  9168  	if invalidParams.Len() > 0 {
  9169  		return invalidParams
  9170  	}
  9171  	return nil
  9172  }
  9173  
  9174  // SetCountUpdate sets the CountUpdate field's value.
  9175  func (s *InputParallelismUpdate) SetCountUpdate(v int64) *InputParallelismUpdate {
  9176  	s.CountUpdate = &v
  9177  	return s
  9178  }
  9179  
  9180  // For a SQL-based Kinesis Data Analytics application, describes a processor
  9181  // that is used to preprocess the records in the stream before being processed
  9182  // by your application code. Currently, the only input processor available is
  9183  // AWS Lambda (https://docs.aws.amazon.com/lambda/).
  9184  type InputProcessingConfiguration struct {
  9185  	_ struct{} `type:"structure"`
  9186  
  9187  	// The InputLambdaProcessor that is used to preprocess the records in the stream
  9188  	// before being processed by your application code.
  9189  	//
  9190  	// InputLambdaProcessor is a required field
  9191  	InputLambdaProcessor *InputLambdaProcessor `type:"structure" required:"true"`
  9192  }
  9193  
  9194  // String returns the string representation.
  9195  //
  9196  // API parameter values that are decorated as "sensitive" in the API will not
  9197  // be included in the string output. The member name will be present, but the
  9198  // value will be replaced with "sensitive".
  9199  func (s InputProcessingConfiguration) String() string {
  9200  	return awsutil.Prettify(s)
  9201  }
  9202  
  9203  // GoString returns the string representation.
  9204  //
  9205  // API parameter values that are decorated as "sensitive" in the API will not
  9206  // be included in the string output. The member name will be present, but the
  9207  // value will be replaced with "sensitive".
  9208  func (s InputProcessingConfiguration) GoString() string {
  9209  	return s.String()
  9210  }
  9211  
  9212  // Validate inspects the fields of the type to determine if they are valid.
  9213  func (s *InputProcessingConfiguration) Validate() error {
  9214  	invalidParams := request.ErrInvalidParams{Context: "InputProcessingConfiguration"}
  9215  	if s.InputLambdaProcessor == nil {
  9216  		invalidParams.Add(request.NewErrParamRequired("InputLambdaProcessor"))
  9217  	}
  9218  	if s.InputLambdaProcessor != nil {
  9219  		if err := s.InputLambdaProcessor.Validate(); err != nil {
  9220  			invalidParams.AddNested("InputLambdaProcessor", err.(request.ErrInvalidParams))
  9221  		}
  9222  	}
  9223  
  9224  	if invalidParams.Len() > 0 {
  9225  		return invalidParams
  9226  	}
  9227  	return nil
  9228  }
  9229  
  9230  // SetInputLambdaProcessor sets the InputLambdaProcessor field's value.
  9231  func (s *InputProcessingConfiguration) SetInputLambdaProcessor(v *InputLambdaProcessor) *InputProcessingConfiguration {
  9232  	s.InputLambdaProcessor = v
  9233  	return s
  9234  }
  9235  
  9236  // For a SQL-based Kinesis Data Analytics application, provides the configuration
  9237  // information about an input processor. Currently, the only input processor
  9238  // available is AWS Lambda (https://docs.aws.amazon.com/lambda/).
  9239  type InputProcessingConfigurationDescription struct {
  9240  	_ struct{} `type:"structure"`
  9241  
  9242  	// Provides configuration information about the associated InputLambdaProcessorDescription
  9243  	InputLambdaProcessorDescription *InputLambdaProcessorDescription `type:"structure"`
  9244  }
  9245  
  9246  // String returns the string representation.
  9247  //
  9248  // API parameter values that are decorated as "sensitive" in the API will not
  9249  // be included in the string output. The member name will be present, but the
  9250  // value will be replaced with "sensitive".
  9251  func (s InputProcessingConfigurationDescription) String() string {
  9252  	return awsutil.Prettify(s)
  9253  }
  9254  
  9255  // GoString returns the string representation.
  9256  //
  9257  // API parameter values that are decorated as "sensitive" in the API will not
  9258  // be included in the string output. The member name will be present, but the
  9259  // value will be replaced with "sensitive".
  9260  func (s InputProcessingConfigurationDescription) GoString() string {
  9261  	return s.String()
  9262  }
  9263  
  9264  // SetInputLambdaProcessorDescription sets the InputLambdaProcessorDescription field's value.
  9265  func (s *InputProcessingConfigurationDescription) SetInputLambdaProcessorDescription(v *InputLambdaProcessorDescription) *InputProcessingConfigurationDescription {
  9266  	s.InputLambdaProcessorDescription = v
  9267  	return s
  9268  }
  9269  
  9270  // For a SQL-based Kinesis Data Analytics application, describes updates to
  9271  // an InputProcessingConfiguration.
  9272  type InputProcessingConfigurationUpdate struct {
  9273  	_ struct{} `type:"structure"`
  9274  
  9275  	// Provides update information for an InputLambdaProcessor.
  9276  	//
  9277  	// InputLambdaProcessorUpdate is a required field
  9278  	InputLambdaProcessorUpdate *InputLambdaProcessorUpdate `type:"structure" required:"true"`
  9279  }
  9280  
  9281  // String returns the string representation.
  9282  //
  9283  // API parameter values that are decorated as "sensitive" in the API will not
  9284  // be included in the string output. The member name will be present, but the
  9285  // value will be replaced with "sensitive".
  9286  func (s InputProcessingConfigurationUpdate) String() string {
  9287  	return awsutil.Prettify(s)
  9288  }
  9289  
  9290  // GoString returns the string representation.
  9291  //
  9292  // API parameter values that are decorated as "sensitive" in the API will not
  9293  // be included in the string output. The member name will be present, but the
  9294  // value will be replaced with "sensitive".
  9295  func (s InputProcessingConfigurationUpdate) GoString() string {
  9296  	return s.String()
  9297  }
  9298  
  9299  // Validate inspects the fields of the type to determine if they are valid.
  9300  func (s *InputProcessingConfigurationUpdate) Validate() error {
  9301  	invalidParams := request.ErrInvalidParams{Context: "InputProcessingConfigurationUpdate"}
  9302  	if s.InputLambdaProcessorUpdate == nil {
  9303  		invalidParams.Add(request.NewErrParamRequired("InputLambdaProcessorUpdate"))
  9304  	}
  9305  	if s.InputLambdaProcessorUpdate != nil {
  9306  		if err := s.InputLambdaProcessorUpdate.Validate(); err != nil {
  9307  			invalidParams.AddNested("InputLambdaProcessorUpdate", err.(request.ErrInvalidParams))
  9308  		}
  9309  	}
  9310  
  9311  	if invalidParams.Len() > 0 {
  9312  		return invalidParams
  9313  	}
  9314  	return nil
  9315  }
  9316  
  9317  // SetInputLambdaProcessorUpdate sets the InputLambdaProcessorUpdate field's value.
  9318  func (s *InputProcessingConfigurationUpdate) SetInputLambdaProcessorUpdate(v *InputLambdaProcessorUpdate) *InputProcessingConfigurationUpdate {
  9319  	s.InputLambdaProcessorUpdate = v
  9320  	return s
  9321  }
  9322  
  9323  // Describes updates for an SQL-based Kinesis Data Analytics application's input
  9324  // schema.
  9325  type InputSchemaUpdate struct {
  9326  	_ struct{} `type:"structure"`
  9327  
  9328  	// A list of RecordColumn objects. Each object describes the mapping of the
  9329  	// streaming source element to the corresponding column in the in-application
  9330  	// stream.
  9331  	RecordColumnUpdates []*RecordColumn `min:"1" type:"list"`
  9332  
  9333  	// Specifies the encoding of the records in the streaming source; for example,
  9334  	// UTF-8.
  9335  	RecordEncodingUpdate *string `min:"5" type:"string"`
  9336  
  9337  	// Specifies the format of the records on the streaming source.
  9338  	RecordFormatUpdate *RecordFormat `type:"structure"`
  9339  }
  9340  
  9341  // String returns the string representation.
  9342  //
  9343  // API parameter values that are decorated as "sensitive" in the API will not
  9344  // be included in the string output. The member name will be present, but the
  9345  // value will be replaced with "sensitive".
  9346  func (s InputSchemaUpdate) String() string {
  9347  	return awsutil.Prettify(s)
  9348  }
  9349  
  9350  // GoString returns the string representation.
  9351  //
  9352  // API parameter values that are decorated as "sensitive" in the API will not
  9353  // be included in the string output. The member name will be present, but the
  9354  // value will be replaced with "sensitive".
  9355  func (s InputSchemaUpdate) GoString() string {
  9356  	return s.String()
  9357  }
  9358  
  9359  // Validate inspects the fields of the type to determine if they are valid.
  9360  func (s *InputSchemaUpdate) Validate() error {
  9361  	invalidParams := request.ErrInvalidParams{Context: "InputSchemaUpdate"}
  9362  	if s.RecordColumnUpdates != nil && len(s.RecordColumnUpdates) < 1 {
  9363  		invalidParams.Add(request.NewErrParamMinLen("RecordColumnUpdates", 1))
  9364  	}
  9365  	if s.RecordEncodingUpdate != nil && len(*s.RecordEncodingUpdate) < 5 {
  9366  		invalidParams.Add(request.NewErrParamMinLen("RecordEncodingUpdate", 5))
  9367  	}
  9368  	if s.RecordColumnUpdates != nil {
  9369  		for i, v := range s.RecordColumnUpdates {
  9370  			if v == nil {
  9371  				continue
  9372  			}
  9373  			if err := v.Validate(); err != nil {
  9374  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RecordColumnUpdates", i), err.(request.ErrInvalidParams))
  9375  			}
  9376  		}
  9377  	}
  9378  	if s.RecordFormatUpdate != nil {
  9379  		if err := s.RecordFormatUpdate.Validate(); err != nil {
  9380  			invalidParams.AddNested("RecordFormatUpdate", err.(request.ErrInvalidParams))
  9381  		}
  9382  	}
  9383  
  9384  	if invalidParams.Len() > 0 {
  9385  		return invalidParams
  9386  	}
  9387  	return nil
  9388  }
  9389  
  9390  // SetRecordColumnUpdates sets the RecordColumnUpdates field's value.
  9391  func (s *InputSchemaUpdate) SetRecordColumnUpdates(v []*RecordColumn) *InputSchemaUpdate {
  9392  	s.RecordColumnUpdates = v
  9393  	return s
  9394  }
  9395  
  9396  // SetRecordEncodingUpdate sets the RecordEncodingUpdate field's value.
  9397  func (s *InputSchemaUpdate) SetRecordEncodingUpdate(v string) *InputSchemaUpdate {
  9398  	s.RecordEncodingUpdate = &v
  9399  	return s
  9400  }
  9401  
  9402  // SetRecordFormatUpdate sets the RecordFormatUpdate field's value.
  9403  func (s *InputSchemaUpdate) SetRecordFormatUpdate(v *RecordFormat) *InputSchemaUpdate {
  9404  	s.RecordFormatUpdate = v
  9405  	return s
  9406  }
  9407  
  9408  // Describes the point at which the application reads from the streaming source.
  9409  type InputStartingPositionConfiguration struct {
  9410  	_ struct{} `type:"structure"`
  9411  
  9412  	// The starting position on the stream.
  9413  	//
  9414  	//    * NOW - Start reading just after the most recent record in the stream,
  9415  	//    and start at the request timestamp that the customer issued.
  9416  	//
  9417  	//    * TRIM_HORIZON - Start reading at the last untrimmed record in the stream,
  9418  	//    which is the oldest record available in the stream. This option is not
  9419  	//    available for an Amazon Kinesis Data Firehose delivery stream.
  9420  	//
  9421  	//    * LAST_STOPPED_POINT - Resume reading from where the application last
  9422  	//    stopped reading.
  9423  	InputStartingPosition *string `type:"string" enum:"InputStartingPosition"`
  9424  }
  9425  
  9426  // String returns the string representation.
  9427  //
  9428  // API parameter values that are decorated as "sensitive" in the API will not
  9429  // be included in the string output. The member name will be present, but the
  9430  // value will be replaced with "sensitive".
  9431  func (s InputStartingPositionConfiguration) String() string {
  9432  	return awsutil.Prettify(s)
  9433  }
  9434  
  9435  // GoString returns the string representation.
  9436  //
  9437  // API parameter values that are decorated as "sensitive" in the API will not
  9438  // be included in the string output. The member name will be present, but the
  9439  // value will be replaced with "sensitive".
  9440  func (s InputStartingPositionConfiguration) GoString() string {
  9441  	return s.String()
  9442  }
  9443  
  9444  // SetInputStartingPosition sets the InputStartingPosition field's value.
  9445  func (s *InputStartingPositionConfiguration) SetInputStartingPosition(v string) *InputStartingPositionConfiguration {
  9446  	s.InputStartingPosition = &v
  9447  	return s
  9448  }
  9449  
  9450  // For a SQL-based Kinesis Data Analytics application, describes updates to
  9451  // a specific input configuration (identified by the InputId of an application).
  9452  type InputUpdate struct {
  9453  	_ struct{} `type:"structure"`
  9454  
  9455  	// The input ID of the application input to be updated.
  9456  	//
  9457  	// InputId is a required field
  9458  	InputId *string `min:"1" type:"string" required:"true"`
  9459  
  9460  	// Describes the parallelism updates (the number of in-application streams Kinesis
  9461  	// Data Analytics creates for the specific streaming source).
  9462  	InputParallelismUpdate *InputParallelismUpdate `type:"structure"`
  9463  
  9464  	// Describes updates to an InputProcessingConfiguration.
  9465  	InputProcessingConfigurationUpdate *InputProcessingConfigurationUpdate `type:"structure"`
  9466  
  9467  	// Describes the data format on the streaming source, and how record elements
  9468  	// on the streaming source map to columns of the in-application stream that
  9469  	// is created.
  9470  	InputSchemaUpdate *InputSchemaUpdate `type:"structure"`
  9471  
  9472  	// If a Kinesis Data Firehose delivery stream is the streaming source to be
  9473  	// updated, provides an updated stream ARN.
  9474  	KinesisFirehoseInputUpdate *KinesisFirehoseInputUpdate `type:"structure"`
  9475  
  9476  	// If a Kinesis data stream is the streaming source to be updated, provides
  9477  	// an updated stream Amazon Resource Name (ARN).
  9478  	KinesisStreamsInputUpdate *KinesisStreamsInputUpdate `type:"structure"`
  9479  
  9480  	// The name prefix for in-application streams that Kinesis Data Analytics creates
  9481  	// for the specific streaming source.
  9482  	NamePrefixUpdate *string `min:"1" type:"string"`
  9483  }
  9484  
  9485  // String returns the string representation.
  9486  //
  9487  // API parameter values that are decorated as "sensitive" in the API will not
  9488  // be included in the string output. The member name will be present, but the
  9489  // value will be replaced with "sensitive".
  9490  func (s InputUpdate) String() string {
  9491  	return awsutil.Prettify(s)
  9492  }
  9493  
  9494  // GoString returns the string representation.
  9495  //
  9496  // API parameter values that are decorated as "sensitive" in the API will not
  9497  // be included in the string output. The member name will be present, but the
  9498  // value will be replaced with "sensitive".
  9499  func (s InputUpdate) GoString() string {
  9500  	return s.String()
  9501  }
  9502  
  9503  // Validate inspects the fields of the type to determine if they are valid.
  9504  func (s *InputUpdate) Validate() error {
  9505  	invalidParams := request.ErrInvalidParams{Context: "InputUpdate"}
  9506  	if s.InputId == nil {
  9507  		invalidParams.Add(request.NewErrParamRequired("InputId"))
  9508  	}
  9509  	if s.InputId != nil && len(*s.InputId) < 1 {
  9510  		invalidParams.Add(request.NewErrParamMinLen("InputId", 1))
  9511  	}
  9512  	if s.NamePrefixUpdate != nil && len(*s.NamePrefixUpdate) < 1 {
  9513  		invalidParams.Add(request.NewErrParamMinLen("NamePrefixUpdate", 1))
  9514  	}
  9515  	if s.InputParallelismUpdate != nil {
  9516  		if err := s.InputParallelismUpdate.Validate(); err != nil {
  9517  			invalidParams.AddNested("InputParallelismUpdate", err.(request.ErrInvalidParams))
  9518  		}
  9519  	}
  9520  	if s.InputProcessingConfigurationUpdate != nil {
  9521  		if err := s.InputProcessingConfigurationUpdate.Validate(); err != nil {
  9522  			invalidParams.AddNested("InputProcessingConfigurationUpdate", err.(request.ErrInvalidParams))
  9523  		}
  9524  	}
  9525  	if s.InputSchemaUpdate != nil {
  9526  		if err := s.InputSchemaUpdate.Validate(); err != nil {
  9527  			invalidParams.AddNested("InputSchemaUpdate", err.(request.ErrInvalidParams))
  9528  		}
  9529  	}
  9530  	if s.KinesisFirehoseInputUpdate != nil {
  9531  		if err := s.KinesisFirehoseInputUpdate.Validate(); err != nil {
  9532  			invalidParams.AddNested("KinesisFirehoseInputUpdate", err.(request.ErrInvalidParams))
  9533  		}
  9534  	}
  9535  	if s.KinesisStreamsInputUpdate != nil {
  9536  		if err := s.KinesisStreamsInputUpdate.Validate(); err != nil {
  9537  			invalidParams.AddNested("KinesisStreamsInputUpdate", err.(request.ErrInvalidParams))
  9538  		}
  9539  	}
  9540  
  9541  	if invalidParams.Len() > 0 {
  9542  		return invalidParams
  9543  	}
  9544  	return nil
  9545  }
  9546  
  9547  // SetInputId sets the InputId field's value.
  9548  func (s *InputUpdate) SetInputId(v string) *InputUpdate {
  9549  	s.InputId = &v
  9550  	return s
  9551  }
  9552  
  9553  // SetInputParallelismUpdate sets the InputParallelismUpdate field's value.
  9554  func (s *InputUpdate) SetInputParallelismUpdate(v *InputParallelismUpdate) *InputUpdate {
  9555  	s.InputParallelismUpdate = v
  9556  	return s
  9557  }
  9558  
  9559  // SetInputProcessingConfigurationUpdate sets the InputProcessingConfigurationUpdate field's value.
  9560  func (s *InputUpdate) SetInputProcessingConfigurationUpdate(v *InputProcessingConfigurationUpdate) *InputUpdate {
  9561  	s.InputProcessingConfigurationUpdate = v
  9562  	return s
  9563  }
  9564  
  9565  // SetInputSchemaUpdate sets the InputSchemaUpdate field's value.
  9566  func (s *InputUpdate) SetInputSchemaUpdate(v *InputSchemaUpdate) *InputUpdate {
  9567  	s.InputSchemaUpdate = v
  9568  	return s
  9569  }
  9570  
  9571  // SetKinesisFirehoseInputUpdate sets the KinesisFirehoseInputUpdate field's value.
  9572  func (s *InputUpdate) SetKinesisFirehoseInputUpdate(v *KinesisFirehoseInputUpdate) *InputUpdate {
  9573  	s.KinesisFirehoseInputUpdate = v
  9574  	return s
  9575  }
  9576  
  9577  // SetKinesisStreamsInputUpdate sets the KinesisStreamsInputUpdate field's value.
  9578  func (s *InputUpdate) SetKinesisStreamsInputUpdate(v *KinesisStreamsInputUpdate) *InputUpdate {
  9579  	s.KinesisStreamsInputUpdate = v
  9580  	return s
  9581  }
  9582  
  9583  // SetNamePrefixUpdate sets the NamePrefixUpdate field's value.
  9584  func (s *InputUpdate) SetNamePrefixUpdate(v string) *InputUpdate {
  9585  	s.NamePrefixUpdate = &v
  9586  	return s
  9587  }
  9588  
  9589  // The user-provided application configuration is not valid.
  9590  type InvalidApplicationConfigurationException struct {
  9591  	_            struct{}                  `type:"structure"`
  9592  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9593  
  9594  	Message_ *string `locationName:"Message" type:"string"`
  9595  }
  9596  
  9597  // String returns the string representation.
  9598  //
  9599  // API parameter values that are decorated as "sensitive" in the API will not
  9600  // be included in the string output. The member name will be present, but the
  9601  // value will be replaced with "sensitive".
  9602  func (s InvalidApplicationConfigurationException) String() string {
  9603  	return awsutil.Prettify(s)
  9604  }
  9605  
  9606  // GoString returns the string representation.
  9607  //
  9608  // API parameter values that are decorated as "sensitive" in the API will not
  9609  // be included in the string output. The member name will be present, but the
  9610  // value will be replaced with "sensitive".
  9611  func (s InvalidApplicationConfigurationException) GoString() string {
  9612  	return s.String()
  9613  }
  9614  
  9615  func newErrorInvalidApplicationConfigurationException(v protocol.ResponseMetadata) error {
  9616  	return &InvalidApplicationConfigurationException{
  9617  		RespMetadata: v,
  9618  	}
  9619  }
  9620  
  9621  // Code returns the exception type name.
  9622  func (s *InvalidApplicationConfigurationException) Code() string {
  9623  	return "InvalidApplicationConfigurationException"
  9624  }
  9625  
  9626  // Message returns the exception's message.
  9627  func (s *InvalidApplicationConfigurationException) Message() string {
  9628  	if s.Message_ != nil {
  9629  		return *s.Message_
  9630  	}
  9631  	return ""
  9632  }
  9633  
  9634  // OrigErr always returns nil, satisfies awserr.Error interface.
  9635  func (s *InvalidApplicationConfigurationException) OrigErr() error {
  9636  	return nil
  9637  }
  9638  
  9639  func (s *InvalidApplicationConfigurationException) Error() string {
  9640  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9641  }
  9642  
  9643  // Status code returns the HTTP status code for the request's response error.
  9644  func (s *InvalidApplicationConfigurationException) StatusCode() int {
  9645  	return s.RespMetadata.StatusCode
  9646  }
  9647  
  9648  // RequestID returns the service's response RequestID for request.
  9649  func (s *InvalidApplicationConfigurationException) RequestID() string {
  9650  	return s.RespMetadata.RequestID
  9651  }
  9652  
  9653  // The specified input parameter value is not valid.
  9654  type InvalidArgumentException struct {
  9655  	_            struct{}                  `type:"structure"`
  9656  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9657  
  9658  	Message_ *string `locationName:"Message" type:"string"`
  9659  }
  9660  
  9661  // String returns the string representation.
  9662  //
  9663  // API parameter values that are decorated as "sensitive" in the API will not
  9664  // be included in the string output. The member name will be present, but the
  9665  // value will be replaced with "sensitive".
  9666  func (s InvalidArgumentException) String() string {
  9667  	return awsutil.Prettify(s)
  9668  }
  9669  
  9670  // GoString returns the string representation.
  9671  //
  9672  // API parameter values that are decorated as "sensitive" in the API will not
  9673  // be included in the string output. The member name will be present, but the
  9674  // value will be replaced with "sensitive".
  9675  func (s InvalidArgumentException) GoString() string {
  9676  	return s.String()
  9677  }
  9678  
  9679  func newErrorInvalidArgumentException(v protocol.ResponseMetadata) error {
  9680  	return &InvalidArgumentException{
  9681  		RespMetadata: v,
  9682  	}
  9683  }
  9684  
  9685  // Code returns the exception type name.
  9686  func (s *InvalidArgumentException) Code() string {
  9687  	return "InvalidArgumentException"
  9688  }
  9689  
  9690  // Message returns the exception's message.
  9691  func (s *InvalidArgumentException) Message() string {
  9692  	if s.Message_ != nil {
  9693  		return *s.Message_
  9694  	}
  9695  	return ""
  9696  }
  9697  
  9698  // OrigErr always returns nil, satisfies awserr.Error interface.
  9699  func (s *InvalidArgumentException) OrigErr() error {
  9700  	return nil
  9701  }
  9702  
  9703  func (s *InvalidArgumentException) Error() string {
  9704  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9705  }
  9706  
  9707  // Status code returns the HTTP status code for the request's response error.
  9708  func (s *InvalidArgumentException) StatusCode() int {
  9709  	return s.RespMetadata.StatusCode
  9710  }
  9711  
  9712  // RequestID returns the service's response RequestID for request.
  9713  func (s *InvalidArgumentException) RequestID() string {
  9714  	return s.RespMetadata.RequestID
  9715  }
  9716  
  9717  // The request JSON is not valid for the operation.
  9718  type InvalidRequestException struct {
  9719  	_            struct{}                  `type:"structure"`
  9720  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9721  
  9722  	Message_ *string `locationName:"Message" type:"string"`
  9723  }
  9724  
  9725  // String returns the string representation.
  9726  //
  9727  // API parameter values that are decorated as "sensitive" in the API will not
  9728  // be included in the string output. The member name will be present, but the
  9729  // value will be replaced with "sensitive".
  9730  func (s InvalidRequestException) String() string {
  9731  	return awsutil.Prettify(s)
  9732  }
  9733  
  9734  // GoString returns the string representation.
  9735  //
  9736  // API parameter values that are decorated as "sensitive" in the API will not
  9737  // be included in the string output. The member name will be present, but the
  9738  // value will be replaced with "sensitive".
  9739  func (s InvalidRequestException) GoString() string {
  9740  	return s.String()
  9741  }
  9742  
  9743  func newErrorInvalidRequestException(v protocol.ResponseMetadata) error {
  9744  	return &InvalidRequestException{
  9745  		RespMetadata: v,
  9746  	}
  9747  }
  9748  
  9749  // Code returns the exception type name.
  9750  func (s *InvalidRequestException) Code() string {
  9751  	return "InvalidRequestException"
  9752  }
  9753  
  9754  // Message returns the exception's message.
  9755  func (s *InvalidRequestException) Message() string {
  9756  	if s.Message_ != nil {
  9757  		return *s.Message_
  9758  	}
  9759  	return ""
  9760  }
  9761  
  9762  // OrigErr always returns nil, satisfies awserr.Error interface.
  9763  func (s *InvalidRequestException) OrigErr() error {
  9764  	return nil
  9765  }
  9766  
  9767  func (s *InvalidRequestException) Error() string {
  9768  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9769  }
  9770  
  9771  // Status code returns the HTTP status code for the request's response error.
  9772  func (s *InvalidRequestException) StatusCode() int {
  9773  	return s.RespMetadata.StatusCode
  9774  }
  9775  
  9776  // RequestID returns the service's response RequestID for request.
  9777  func (s *InvalidRequestException) RequestID() string {
  9778  	return s.RespMetadata.RequestID
  9779  }
  9780  
  9781  // For a SQL-based Kinesis Data Analytics application, provides additional mapping
  9782  // information when JSON is the record format on the streaming source.
  9783  type JSONMappingParameters struct {
  9784  	_ struct{} `type:"structure"`
  9785  
  9786  	// The path to the top-level parent that contains the records.
  9787  	//
  9788  	// RecordRowPath is a required field
  9789  	RecordRowPath *string `min:"1" type:"string" required:"true"`
  9790  }
  9791  
  9792  // String returns the string representation.
  9793  //
  9794  // API parameter values that are decorated as "sensitive" in the API will not
  9795  // be included in the string output. The member name will be present, but the
  9796  // value will be replaced with "sensitive".
  9797  func (s JSONMappingParameters) String() string {
  9798  	return awsutil.Prettify(s)
  9799  }
  9800  
  9801  // GoString returns the string representation.
  9802  //
  9803  // API parameter values that are decorated as "sensitive" in the API will not
  9804  // be included in the string output. The member name will be present, but the
  9805  // value will be replaced with "sensitive".
  9806  func (s JSONMappingParameters) GoString() string {
  9807  	return s.String()
  9808  }
  9809  
  9810  // Validate inspects the fields of the type to determine if they are valid.
  9811  func (s *JSONMappingParameters) Validate() error {
  9812  	invalidParams := request.ErrInvalidParams{Context: "JSONMappingParameters"}
  9813  	if s.RecordRowPath == nil {
  9814  		invalidParams.Add(request.NewErrParamRequired("RecordRowPath"))
  9815  	}
  9816  	if s.RecordRowPath != nil && len(*s.RecordRowPath) < 1 {
  9817  		invalidParams.Add(request.NewErrParamMinLen("RecordRowPath", 1))
  9818  	}
  9819  
  9820  	if invalidParams.Len() > 0 {
  9821  		return invalidParams
  9822  	}
  9823  	return nil
  9824  }
  9825  
  9826  // SetRecordRowPath sets the RecordRowPath field's value.
  9827  func (s *JSONMappingParameters) SetRecordRowPath(v string) *JSONMappingParameters {
  9828  	s.RecordRowPath = &v
  9829  	return s
  9830  }
  9831  
  9832  // For a SQL-based Kinesis Data Analytics application, identifies a Kinesis
  9833  // Data Firehose delivery stream as the streaming source. You provide the delivery
  9834  // stream's Amazon Resource Name (ARN).
  9835  type KinesisFirehoseInput struct {
  9836  	_ struct{} `type:"structure"`
  9837  
  9838  	// The Amazon Resource Name (ARN) of the delivery stream.
  9839  	//
  9840  	// ResourceARN is a required field
  9841  	ResourceARN *string `min:"1" type:"string" required:"true"`
  9842  }
  9843  
  9844  // String returns the string representation.
  9845  //
  9846  // API parameter values that are decorated as "sensitive" in the API will not
  9847  // be included in the string output. The member name will be present, but the
  9848  // value will be replaced with "sensitive".
  9849  func (s KinesisFirehoseInput) String() string {
  9850  	return awsutil.Prettify(s)
  9851  }
  9852  
  9853  // GoString returns the string representation.
  9854  //
  9855  // API parameter values that are decorated as "sensitive" in the API will not
  9856  // be included in the string output. The member name will be present, but the
  9857  // value will be replaced with "sensitive".
  9858  func (s KinesisFirehoseInput) GoString() string {
  9859  	return s.String()
  9860  }
  9861  
  9862  // Validate inspects the fields of the type to determine if they are valid.
  9863  func (s *KinesisFirehoseInput) Validate() error {
  9864  	invalidParams := request.ErrInvalidParams{Context: "KinesisFirehoseInput"}
  9865  	if s.ResourceARN == nil {
  9866  		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
  9867  	}
  9868  	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
  9869  		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
  9870  	}
  9871  
  9872  	if invalidParams.Len() > 0 {
  9873  		return invalidParams
  9874  	}
  9875  	return nil
  9876  }
  9877  
  9878  // SetResourceARN sets the ResourceARN field's value.
  9879  func (s *KinesisFirehoseInput) SetResourceARN(v string) *KinesisFirehoseInput {
  9880  	s.ResourceARN = &v
  9881  	return s
  9882  }
  9883  
  9884  // Describes the Amazon Kinesis Data Firehose delivery stream that is configured
  9885  // as the streaming source in the application input configuration.
  9886  type KinesisFirehoseInputDescription struct {
  9887  	_ struct{} `type:"structure"`
  9888  
  9889  	// The Amazon Resource Name (ARN) of the delivery stream.
  9890  	//
  9891  	// ResourceARN is a required field
  9892  	ResourceARN *string `min:"1" type:"string" required:"true"`
  9893  
  9894  	// The ARN of the IAM role that Kinesis Data Analytics assumes to access the
  9895  	// stream.
  9896  	//
  9897  	// Provided for backward compatibility. Applications that are created with the
  9898  	// current API version have an application-level service execution role rather
  9899  	// than a resource-level role.
  9900  	RoleARN *string `min:"1" type:"string"`
  9901  }
  9902  
  9903  // String returns the string representation.
  9904  //
  9905  // API parameter values that are decorated as "sensitive" in the API will not
  9906  // be included in the string output. The member name will be present, but the
  9907  // value will be replaced with "sensitive".
  9908  func (s KinesisFirehoseInputDescription) String() string {
  9909  	return awsutil.Prettify(s)
  9910  }
  9911  
  9912  // GoString returns the string representation.
  9913  //
  9914  // API parameter values that are decorated as "sensitive" in the API will not
  9915  // be included in the string output. The member name will be present, but the
  9916  // value will be replaced with "sensitive".
  9917  func (s KinesisFirehoseInputDescription) GoString() string {
  9918  	return s.String()
  9919  }
  9920  
  9921  // SetResourceARN sets the ResourceARN field's value.
  9922  func (s *KinesisFirehoseInputDescription) SetResourceARN(v string) *KinesisFirehoseInputDescription {
  9923  	s.ResourceARN = &v
  9924  	return s
  9925  }
  9926  
  9927  // SetRoleARN sets the RoleARN field's value.
  9928  func (s *KinesisFirehoseInputDescription) SetRoleARN(v string) *KinesisFirehoseInputDescription {
  9929  	s.RoleARN = &v
  9930  	return s
  9931  }
  9932  
  9933  // For a SQL-based Kinesis Data Analytics application, when updating application
  9934  // input configuration, provides information about a Kinesis Data Firehose delivery
  9935  // stream as the streaming source.
  9936  type KinesisFirehoseInputUpdate struct {
  9937  	_ struct{} `type:"structure"`
  9938  
  9939  	// The Amazon Resource Name (ARN) of the input delivery stream to read.
  9940  	//
  9941  	// ResourceARNUpdate is a required field
  9942  	ResourceARNUpdate *string `min:"1" type:"string" required:"true"`
  9943  }
  9944  
  9945  // String returns the string representation.
  9946  //
  9947  // API parameter values that are decorated as "sensitive" in the API will not
  9948  // be included in the string output. The member name will be present, but the
  9949  // value will be replaced with "sensitive".
  9950  func (s KinesisFirehoseInputUpdate) String() string {
  9951  	return awsutil.Prettify(s)
  9952  }
  9953  
  9954  // GoString returns the string representation.
  9955  //
  9956  // API parameter values that are decorated as "sensitive" in the API will not
  9957  // be included in the string output. The member name will be present, but the
  9958  // value will be replaced with "sensitive".
  9959  func (s KinesisFirehoseInputUpdate) GoString() string {
  9960  	return s.String()
  9961  }
  9962  
  9963  // Validate inspects the fields of the type to determine if they are valid.
  9964  func (s *KinesisFirehoseInputUpdate) Validate() error {
  9965  	invalidParams := request.ErrInvalidParams{Context: "KinesisFirehoseInputUpdate"}
  9966  	if s.ResourceARNUpdate == nil {
  9967  		invalidParams.Add(request.NewErrParamRequired("ResourceARNUpdate"))
  9968  	}
  9969  	if s.ResourceARNUpdate != nil && len(*s.ResourceARNUpdate) < 1 {
  9970  		invalidParams.Add(request.NewErrParamMinLen("ResourceARNUpdate", 1))
  9971  	}
  9972  
  9973  	if invalidParams.Len() > 0 {
  9974  		return invalidParams
  9975  	}
  9976  	return nil
  9977  }
  9978  
  9979  // SetResourceARNUpdate sets the ResourceARNUpdate field's value.
  9980  func (s *KinesisFirehoseInputUpdate) SetResourceARNUpdate(v string) *KinesisFirehoseInputUpdate {
  9981  	s.ResourceARNUpdate = &v
  9982  	return s
  9983  }
  9984  
  9985  // For a SQL-based Kinesis Data Analytics application, when configuring application
  9986  // output, identifies a Kinesis Data Firehose delivery stream as the destination.
  9987  // You provide the stream Amazon Resource Name (ARN) of the delivery stream.
  9988  type KinesisFirehoseOutput struct {
  9989  	_ struct{} `type:"structure"`
  9990  
  9991  	// The ARN of the destination delivery stream to write to.
  9992  	//
  9993  	// ResourceARN is a required field
  9994  	ResourceARN *string `min:"1" type:"string" required:"true"`
  9995  }
  9996  
  9997  // String returns the string representation.
  9998  //
  9999  // API parameter values that are decorated as "sensitive" in the API will not
 10000  // be included in the string output. The member name will be present, but the
 10001  // value will be replaced with "sensitive".
 10002  func (s KinesisFirehoseOutput) String() string {
 10003  	return awsutil.Prettify(s)
 10004  }
 10005  
 10006  // GoString returns the string representation.
 10007  //
 10008  // API parameter values that are decorated as "sensitive" in the API will not
 10009  // be included in the string output. The member name will be present, but the
 10010  // value will be replaced with "sensitive".
 10011  func (s KinesisFirehoseOutput) GoString() string {
 10012  	return s.String()
 10013  }
 10014  
 10015  // Validate inspects the fields of the type to determine if they are valid.
 10016  func (s *KinesisFirehoseOutput) Validate() error {
 10017  	invalidParams := request.ErrInvalidParams{Context: "KinesisFirehoseOutput"}
 10018  	if s.ResourceARN == nil {
 10019  		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
 10020  	}
 10021  	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
 10022  		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
 10023  	}
 10024  
 10025  	if invalidParams.Len() > 0 {
 10026  		return invalidParams
 10027  	}
 10028  	return nil
 10029  }
 10030  
 10031  // SetResourceARN sets the ResourceARN field's value.
 10032  func (s *KinesisFirehoseOutput) SetResourceARN(v string) *KinesisFirehoseOutput {
 10033  	s.ResourceARN = &v
 10034  	return s
 10035  }
 10036  
 10037  // For a SQL-based Kinesis Data Analytics application's output, describes the
 10038  // Kinesis Data Firehose delivery stream that is configured as its destination.
 10039  type KinesisFirehoseOutputDescription struct {
 10040  	_ struct{} `type:"structure"`
 10041  
 10042  	// The Amazon Resource Name (ARN) of the delivery stream.
 10043  	//
 10044  	// ResourceARN is a required field
 10045  	ResourceARN *string `min:"1" type:"string" required:"true"`
 10046  
 10047  	// The ARN of the IAM role that Kinesis Data Analytics can assume to access
 10048  	// the stream.
 10049  	//
 10050  	// Provided for backward compatibility. Applications that are created with the
 10051  	// current API version have an application-level service execution role rather
 10052  	// than a resource-level role.
 10053  	RoleARN *string `min:"1" type:"string"`
 10054  }
 10055  
 10056  // String returns the string representation.
 10057  //
 10058  // API parameter values that are decorated as "sensitive" in the API will not
 10059  // be included in the string output. The member name will be present, but the
 10060  // value will be replaced with "sensitive".
 10061  func (s KinesisFirehoseOutputDescription) String() string {
 10062  	return awsutil.Prettify(s)
 10063  }
 10064  
 10065  // GoString returns the string representation.
 10066  //
 10067  // API parameter values that are decorated as "sensitive" in the API will not
 10068  // be included in the string output. The member name will be present, but the
 10069  // value will be replaced with "sensitive".
 10070  func (s KinesisFirehoseOutputDescription) GoString() string {
 10071  	return s.String()
 10072  }
 10073  
 10074  // SetResourceARN sets the ResourceARN field's value.
 10075  func (s *KinesisFirehoseOutputDescription) SetResourceARN(v string) *KinesisFirehoseOutputDescription {
 10076  	s.ResourceARN = &v
 10077  	return s
 10078  }
 10079  
 10080  // SetRoleARN sets the RoleARN field's value.
 10081  func (s *KinesisFirehoseOutputDescription) SetRoleARN(v string) *KinesisFirehoseOutputDescription {
 10082  	s.RoleARN = &v
 10083  	return s
 10084  }
 10085  
 10086  // For a SQL-based Kinesis Data Analytics application, when updating an output
 10087  // configuration using the UpdateApplication operation, provides information
 10088  // about a Kinesis Data Firehose delivery stream that is configured as the destination.
 10089  type KinesisFirehoseOutputUpdate struct {
 10090  	_ struct{} `type:"structure"`
 10091  
 10092  	// The Amazon Resource Name (ARN) of the delivery stream to write to.
 10093  	//
 10094  	// ResourceARNUpdate is a required field
 10095  	ResourceARNUpdate *string `min:"1" type:"string" required:"true"`
 10096  }
 10097  
 10098  // String returns the string representation.
 10099  //
 10100  // API parameter values that are decorated as "sensitive" in the API will not
 10101  // be included in the string output. The member name will be present, but the
 10102  // value will be replaced with "sensitive".
 10103  func (s KinesisFirehoseOutputUpdate) String() string {
 10104  	return awsutil.Prettify(s)
 10105  }
 10106  
 10107  // GoString returns the string representation.
 10108  //
 10109  // API parameter values that are decorated as "sensitive" in the API will not
 10110  // be included in the string output. The member name will be present, but the
 10111  // value will be replaced with "sensitive".
 10112  func (s KinesisFirehoseOutputUpdate) GoString() string {
 10113  	return s.String()
 10114  }
 10115  
 10116  // Validate inspects the fields of the type to determine if they are valid.
 10117  func (s *KinesisFirehoseOutputUpdate) Validate() error {
 10118  	invalidParams := request.ErrInvalidParams{Context: "KinesisFirehoseOutputUpdate"}
 10119  	if s.ResourceARNUpdate == nil {
 10120  		invalidParams.Add(request.NewErrParamRequired("ResourceARNUpdate"))
 10121  	}
 10122  	if s.ResourceARNUpdate != nil && len(*s.ResourceARNUpdate) < 1 {
 10123  		invalidParams.Add(request.NewErrParamMinLen("ResourceARNUpdate", 1))
 10124  	}
 10125  
 10126  	if invalidParams.Len() > 0 {
 10127  		return invalidParams
 10128  	}
 10129  	return nil
 10130  }
 10131  
 10132  // SetResourceARNUpdate sets the ResourceARNUpdate field's value.
 10133  func (s *KinesisFirehoseOutputUpdate) SetResourceARNUpdate(v string) *KinesisFirehoseOutputUpdate {
 10134  	s.ResourceARNUpdate = &v
 10135  	return s
 10136  }
 10137  
 10138  // Identifies a Kinesis data stream as the streaming source. You provide the
 10139  // stream's Amazon Resource Name (ARN).
 10140  type KinesisStreamsInput struct {
 10141  	_ struct{} `type:"structure"`
 10142  
 10143  	// The ARN of the input Kinesis data stream to read.
 10144  	//
 10145  	// ResourceARN is a required field
 10146  	ResourceARN *string `min:"1" type:"string" required:"true"`
 10147  }
 10148  
 10149  // String returns the string representation.
 10150  //
 10151  // API parameter values that are decorated as "sensitive" in the API will not
 10152  // be included in the string output. The member name will be present, but the
 10153  // value will be replaced with "sensitive".
 10154  func (s KinesisStreamsInput) String() string {
 10155  	return awsutil.Prettify(s)
 10156  }
 10157  
 10158  // GoString returns the string representation.
 10159  //
 10160  // API parameter values that are decorated as "sensitive" in the API will not
 10161  // be included in the string output. The member name will be present, but the
 10162  // value will be replaced with "sensitive".
 10163  func (s KinesisStreamsInput) GoString() string {
 10164  	return s.String()
 10165  }
 10166  
 10167  // Validate inspects the fields of the type to determine if they are valid.
 10168  func (s *KinesisStreamsInput) Validate() error {
 10169  	invalidParams := request.ErrInvalidParams{Context: "KinesisStreamsInput"}
 10170  	if s.ResourceARN == nil {
 10171  		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
 10172  	}
 10173  	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
 10174  		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
 10175  	}
 10176  
 10177  	if invalidParams.Len() > 0 {
 10178  		return invalidParams
 10179  	}
 10180  	return nil
 10181  }
 10182  
 10183  // SetResourceARN sets the ResourceARN field's value.
 10184  func (s *KinesisStreamsInput) SetResourceARN(v string) *KinesisStreamsInput {
 10185  	s.ResourceARN = &v
 10186  	return s
 10187  }
 10188  
 10189  // For a SQL-based Kinesis Data Analytics application, describes the Kinesis
 10190  // data stream that is configured as the streaming source in the application
 10191  // input configuration.
 10192  type KinesisStreamsInputDescription struct {
 10193  	_ struct{} `type:"structure"`
 10194  
 10195  	// The Amazon Resource Name (ARN) of the Kinesis data stream.
 10196  	//
 10197  	// ResourceARN is a required field
 10198  	ResourceARN *string `min:"1" type:"string" required:"true"`
 10199  
 10200  	// The ARN of the IAM role that Kinesis Data Analytics can assume to access
 10201  	// the stream.
 10202  	//
 10203  	// Provided for backward compatibility. Applications that are created with the
 10204  	// current API version have an application-level service execution role rather
 10205  	// than a resource-level role.
 10206  	RoleARN *string `min:"1" type:"string"`
 10207  }
 10208  
 10209  // String returns the string representation.
 10210  //
 10211  // API parameter values that are decorated as "sensitive" in the API will not
 10212  // be included in the string output. The member name will be present, but the
 10213  // value will be replaced with "sensitive".
 10214  func (s KinesisStreamsInputDescription) String() string {
 10215  	return awsutil.Prettify(s)
 10216  }
 10217  
 10218  // GoString returns the string representation.
 10219  //
 10220  // API parameter values that are decorated as "sensitive" in the API will not
 10221  // be included in the string output. The member name will be present, but the
 10222  // value will be replaced with "sensitive".
 10223  func (s KinesisStreamsInputDescription) GoString() string {
 10224  	return s.String()
 10225  }
 10226  
 10227  // SetResourceARN sets the ResourceARN field's value.
 10228  func (s *KinesisStreamsInputDescription) SetResourceARN(v string) *KinesisStreamsInputDescription {
 10229  	s.ResourceARN = &v
 10230  	return s
 10231  }
 10232  
 10233  // SetRoleARN sets the RoleARN field's value.
 10234  func (s *KinesisStreamsInputDescription) SetRoleARN(v string) *KinesisStreamsInputDescription {
 10235  	s.RoleARN = &v
 10236  	return s
 10237  }
 10238  
 10239  // When you update the input configuration for a SQL-based Kinesis Data Analytics
 10240  // application, provides information about a Kinesis stream as the streaming
 10241  // source.
 10242  type KinesisStreamsInputUpdate struct {
 10243  	_ struct{} `type:"structure"`
 10244  
 10245  	// The Amazon Resource Name (ARN) of the input Kinesis data stream to read.
 10246  	//
 10247  	// ResourceARNUpdate is a required field
 10248  	ResourceARNUpdate *string `min:"1" type:"string" required:"true"`
 10249  }
 10250  
 10251  // String returns the string representation.
 10252  //
 10253  // API parameter values that are decorated as "sensitive" in the API will not
 10254  // be included in the string output. The member name will be present, but the
 10255  // value will be replaced with "sensitive".
 10256  func (s KinesisStreamsInputUpdate) String() string {
 10257  	return awsutil.Prettify(s)
 10258  }
 10259  
 10260  // GoString returns the string representation.
 10261  //
 10262  // API parameter values that are decorated as "sensitive" in the API will not
 10263  // be included in the string output. The member name will be present, but the
 10264  // value will be replaced with "sensitive".
 10265  func (s KinesisStreamsInputUpdate) GoString() string {
 10266  	return s.String()
 10267  }
 10268  
 10269  // Validate inspects the fields of the type to determine if they are valid.
 10270  func (s *KinesisStreamsInputUpdate) Validate() error {
 10271  	invalidParams := request.ErrInvalidParams{Context: "KinesisStreamsInputUpdate"}
 10272  	if s.ResourceARNUpdate == nil {
 10273  		invalidParams.Add(request.NewErrParamRequired("ResourceARNUpdate"))
 10274  	}
 10275  	if s.ResourceARNUpdate != nil && len(*s.ResourceARNUpdate) < 1 {
 10276  		invalidParams.Add(request.NewErrParamMinLen("ResourceARNUpdate", 1))
 10277  	}
 10278  
 10279  	if invalidParams.Len() > 0 {
 10280  		return invalidParams
 10281  	}
 10282  	return nil
 10283  }
 10284  
 10285  // SetResourceARNUpdate sets the ResourceARNUpdate field's value.
 10286  func (s *KinesisStreamsInputUpdate) SetResourceARNUpdate(v string) *KinesisStreamsInputUpdate {
 10287  	s.ResourceARNUpdate = &v
 10288  	return s
 10289  }
 10290  
 10291  // When you configure a SQL-based Kinesis Data Analytics application's output,
 10292  // identifies a Kinesis data stream as the destination. You provide the stream
 10293  // Amazon Resource Name (ARN).
 10294  type KinesisStreamsOutput struct {
 10295  	_ struct{} `type:"structure"`
 10296  
 10297  	// The ARN of the destination Kinesis data stream to write to.
 10298  	//
 10299  	// ResourceARN is a required field
 10300  	ResourceARN *string `min:"1" type:"string" required:"true"`
 10301  }
 10302  
 10303  // String returns the string representation.
 10304  //
 10305  // API parameter values that are decorated as "sensitive" in the API will not
 10306  // be included in the string output. The member name will be present, but the
 10307  // value will be replaced with "sensitive".
 10308  func (s KinesisStreamsOutput) String() string {
 10309  	return awsutil.Prettify(s)
 10310  }
 10311  
 10312  // GoString returns the string representation.
 10313  //
 10314  // API parameter values that are decorated as "sensitive" in the API will not
 10315  // be included in the string output. The member name will be present, but the
 10316  // value will be replaced with "sensitive".
 10317  func (s KinesisStreamsOutput) GoString() string {
 10318  	return s.String()
 10319  }
 10320  
 10321  // Validate inspects the fields of the type to determine if they are valid.
 10322  func (s *KinesisStreamsOutput) Validate() error {
 10323  	invalidParams := request.ErrInvalidParams{Context: "KinesisStreamsOutput"}
 10324  	if s.ResourceARN == nil {
 10325  		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
 10326  	}
 10327  	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
 10328  		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
 10329  	}
 10330  
 10331  	if invalidParams.Len() > 0 {
 10332  		return invalidParams
 10333  	}
 10334  	return nil
 10335  }
 10336  
 10337  // SetResourceARN sets the ResourceARN field's value.
 10338  func (s *KinesisStreamsOutput) SetResourceARN(v string) *KinesisStreamsOutput {
 10339  	s.ResourceARN = &v
 10340  	return s
 10341  }
 10342  
 10343  // For an SQL-based Kinesis Data Analytics application's output, describes the
 10344  // Kinesis data stream that is configured as its destination.
 10345  type KinesisStreamsOutputDescription struct {
 10346  	_ struct{} `type:"structure"`
 10347  
 10348  	// The Amazon Resource Name (ARN) of the Kinesis data stream.
 10349  	//
 10350  	// ResourceARN is a required field
 10351  	ResourceARN *string `min:"1" type:"string" required:"true"`
 10352  
 10353  	// The ARN of the IAM role that Kinesis Data Analytics can assume to access
 10354  	// the stream.
 10355  	//
 10356  	// Provided for backward compatibility. Applications that are created with the
 10357  	// current API version have an application-level service execution role rather
 10358  	// than a resource-level role.
 10359  	RoleARN *string `min:"1" type:"string"`
 10360  }
 10361  
 10362  // String returns the string representation.
 10363  //
 10364  // API parameter values that are decorated as "sensitive" in the API will not
 10365  // be included in the string output. The member name will be present, but the
 10366  // value will be replaced with "sensitive".
 10367  func (s KinesisStreamsOutputDescription) String() string {
 10368  	return awsutil.Prettify(s)
 10369  }
 10370  
 10371  // GoString returns the string representation.
 10372  //
 10373  // API parameter values that are decorated as "sensitive" in the API will not
 10374  // be included in the string output. The member name will be present, but the
 10375  // value will be replaced with "sensitive".
 10376  func (s KinesisStreamsOutputDescription) GoString() string {
 10377  	return s.String()
 10378  }
 10379  
 10380  // SetResourceARN sets the ResourceARN field's value.
 10381  func (s *KinesisStreamsOutputDescription) SetResourceARN(v string) *KinesisStreamsOutputDescription {
 10382  	s.ResourceARN = &v
 10383  	return s
 10384  }
 10385  
 10386  // SetRoleARN sets the RoleARN field's value.
 10387  func (s *KinesisStreamsOutputDescription) SetRoleARN(v string) *KinesisStreamsOutputDescription {
 10388  	s.RoleARN = &v
 10389  	return s
 10390  }
 10391  
 10392  // When you update a SQL-based Kinesis Data Analytics application's output configuration
 10393  // using the UpdateApplication operation, provides information about a Kinesis
 10394  // data stream that is configured as the destination.
 10395  type KinesisStreamsOutputUpdate struct {
 10396  	_ struct{} `type:"structure"`
 10397  
 10398  	// The Amazon Resource Name (ARN) of the Kinesis data stream where you want
 10399  	// to write the output.
 10400  	//
 10401  	// ResourceARNUpdate is a required field
 10402  	ResourceARNUpdate *string `min:"1" type:"string" required:"true"`
 10403  }
 10404  
 10405  // String returns the string representation.
 10406  //
 10407  // API parameter values that are decorated as "sensitive" in the API will not
 10408  // be included in the string output. The member name will be present, but the
 10409  // value will be replaced with "sensitive".
 10410  func (s KinesisStreamsOutputUpdate) String() string {
 10411  	return awsutil.Prettify(s)
 10412  }
 10413  
 10414  // GoString returns the string representation.
 10415  //
 10416  // API parameter values that are decorated as "sensitive" in the API will not
 10417  // be included in the string output. The member name will be present, but the
 10418  // value will be replaced with "sensitive".
 10419  func (s KinesisStreamsOutputUpdate) GoString() string {
 10420  	return s.String()
 10421  }
 10422  
 10423  // Validate inspects the fields of the type to determine if they are valid.
 10424  func (s *KinesisStreamsOutputUpdate) Validate() error {
 10425  	invalidParams := request.ErrInvalidParams{Context: "KinesisStreamsOutputUpdate"}
 10426  	if s.ResourceARNUpdate == nil {
 10427  		invalidParams.Add(request.NewErrParamRequired("ResourceARNUpdate"))
 10428  	}
 10429  	if s.ResourceARNUpdate != nil && len(*s.ResourceARNUpdate) < 1 {
 10430  		invalidParams.Add(request.NewErrParamMinLen("ResourceARNUpdate", 1))
 10431  	}
 10432  
 10433  	if invalidParams.Len() > 0 {
 10434  		return invalidParams
 10435  	}
 10436  	return nil
 10437  }
 10438  
 10439  // SetResourceARNUpdate sets the ResourceARNUpdate field's value.
 10440  func (s *KinesisStreamsOutputUpdate) SetResourceARNUpdate(v string) *KinesisStreamsOutputUpdate {
 10441  	s.ResourceARNUpdate = &v
 10442  	return s
 10443  }
 10444  
 10445  // When you configure a SQL-based Kinesis Data Analytics application's output,
 10446  // identifies an AWS Lambda function as the destination. You provide the function
 10447  // Amazon Resource Name (ARN) of the Lambda function.
 10448  type LambdaOutput struct {
 10449  	_ struct{} `type:"structure"`
 10450  
 10451  	// The Amazon Resource Name (ARN) of the destination Lambda function to write
 10452  	// to.
 10453  	//
 10454  	// To specify an earlier version of the Lambda function than the latest, include
 10455  	// the Lambda function version in the Lambda function ARN. For more information
 10456  	// about Lambda ARNs, see Example ARNs: AWS Lambda (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-lambda)
 10457  	//
 10458  	// ResourceARN is a required field
 10459  	ResourceARN *string `min:"1" type:"string" required:"true"`
 10460  }
 10461  
 10462  // String returns the string representation.
 10463  //
 10464  // API parameter values that are decorated as "sensitive" in the API will not
 10465  // be included in the string output. The member name will be present, but the
 10466  // value will be replaced with "sensitive".
 10467  func (s LambdaOutput) String() string {
 10468  	return awsutil.Prettify(s)
 10469  }
 10470  
 10471  // GoString returns the string representation.
 10472  //
 10473  // API parameter values that are decorated as "sensitive" in the API will not
 10474  // be included in the string output. The member name will be present, but the
 10475  // value will be replaced with "sensitive".
 10476  func (s LambdaOutput) GoString() string {
 10477  	return s.String()
 10478  }
 10479  
 10480  // Validate inspects the fields of the type to determine if they are valid.
 10481  func (s *LambdaOutput) Validate() error {
 10482  	invalidParams := request.ErrInvalidParams{Context: "LambdaOutput"}
 10483  	if s.ResourceARN == nil {
 10484  		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
 10485  	}
 10486  	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
 10487  		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
 10488  	}
 10489  
 10490  	if invalidParams.Len() > 0 {
 10491  		return invalidParams
 10492  	}
 10493  	return nil
 10494  }
 10495  
 10496  // SetResourceARN sets the ResourceARN field's value.
 10497  func (s *LambdaOutput) SetResourceARN(v string) *LambdaOutput {
 10498  	s.ResourceARN = &v
 10499  	return s
 10500  }
 10501  
 10502  // For a SQL-based Kinesis Data Analytics application's output, describes the
 10503  // AWS Lambda function that is configured as its destination.
 10504  type LambdaOutputDescription struct {
 10505  	_ struct{} `type:"structure"`
 10506  
 10507  	// The Amazon Resource Name (ARN) of the destination Lambda function.
 10508  	//
 10509  	// ResourceARN is a required field
 10510  	ResourceARN *string `min:"1" type:"string" required:"true"`
 10511  
 10512  	// The ARN of the IAM role that Kinesis Data Analytics can assume to write to
 10513  	// the destination function.
 10514  	//
 10515  	// Provided for backward compatibility. Applications that are created with the
 10516  	// current API version have an application-level service execution role rather
 10517  	// than a resource-level role.
 10518  	RoleARN *string `min:"1" type:"string"`
 10519  }
 10520  
 10521  // String returns the string representation.
 10522  //
 10523  // API parameter values that are decorated as "sensitive" in the API will not
 10524  // be included in the string output. The member name will be present, but the
 10525  // value will be replaced with "sensitive".
 10526  func (s LambdaOutputDescription) String() string {
 10527  	return awsutil.Prettify(s)
 10528  }
 10529  
 10530  // GoString returns the string representation.
 10531  //
 10532  // API parameter values that are decorated as "sensitive" in the API will not
 10533  // be included in the string output. The member name will be present, but the
 10534  // value will be replaced with "sensitive".
 10535  func (s LambdaOutputDescription) GoString() string {
 10536  	return s.String()
 10537  }
 10538  
 10539  // SetResourceARN sets the ResourceARN field's value.
 10540  func (s *LambdaOutputDescription) SetResourceARN(v string) *LambdaOutputDescription {
 10541  	s.ResourceARN = &v
 10542  	return s
 10543  }
 10544  
 10545  // SetRoleARN sets the RoleARN field's value.
 10546  func (s *LambdaOutputDescription) SetRoleARN(v string) *LambdaOutputDescription {
 10547  	s.RoleARN = &v
 10548  	return s
 10549  }
 10550  
 10551  // When you update an SQL-based Kinesis Data Analytics application's output
 10552  // configuration using the UpdateApplication operation, provides information
 10553  // about an AWS Lambda function that is configured as the destination.
 10554  type LambdaOutputUpdate struct {
 10555  	_ struct{} `type:"structure"`
 10556  
 10557  	// The Amazon Resource Name (ARN) of the destination AWS Lambda function.
 10558  	//
 10559  	// To specify an earlier version of the Lambda function than the latest, include
 10560  	// the Lambda function version in the Lambda function ARN. For more information
 10561  	// about Lambda ARNs, see Example ARNs: AWS Lambda (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-lambda)
 10562  	//
 10563  	// ResourceARNUpdate is a required field
 10564  	ResourceARNUpdate *string `min:"1" type:"string" required:"true"`
 10565  }
 10566  
 10567  // String returns the string representation.
 10568  //
 10569  // API parameter values that are decorated as "sensitive" in the API will not
 10570  // be included in the string output. The member name will be present, but the
 10571  // value will be replaced with "sensitive".
 10572  func (s LambdaOutputUpdate) String() string {
 10573  	return awsutil.Prettify(s)
 10574  }
 10575  
 10576  // GoString returns the string representation.
 10577  //
 10578  // API parameter values that are decorated as "sensitive" in the API will not
 10579  // be included in the string output. The member name will be present, but the
 10580  // value will be replaced with "sensitive".
 10581  func (s LambdaOutputUpdate) GoString() string {
 10582  	return s.String()
 10583  }
 10584  
 10585  // Validate inspects the fields of the type to determine if they are valid.
 10586  func (s *LambdaOutputUpdate) Validate() error {
 10587  	invalidParams := request.ErrInvalidParams{Context: "LambdaOutputUpdate"}
 10588  	if s.ResourceARNUpdate == nil {
 10589  		invalidParams.Add(request.NewErrParamRequired("ResourceARNUpdate"))
 10590  	}
 10591  	if s.ResourceARNUpdate != nil && len(*s.ResourceARNUpdate) < 1 {
 10592  		invalidParams.Add(request.NewErrParamMinLen("ResourceARNUpdate", 1))
 10593  	}
 10594  
 10595  	if invalidParams.Len() > 0 {
 10596  		return invalidParams
 10597  	}
 10598  	return nil
 10599  }
 10600  
 10601  // SetResourceARNUpdate sets the ResourceARNUpdate field's value.
 10602  func (s *LambdaOutputUpdate) SetResourceARNUpdate(v string) *LambdaOutputUpdate {
 10603  	s.ResourceARNUpdate = &v
 10604  	return s
 10605  }
 10606  
 10607  // The number of allowed resources has been exceeded.
 10608  type LimitExceededException struct {
 10609  	_            struct{}                  `type:"structure"`
 10610  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10611  
 10612  	Message_ *string `locationName:"Message" type:"string"`
 10613  }
 10614  
 10615  // String returns the string representation.
 10616  //
 10617  // API parameter values that are decorated as "sensitive" in the API will not
 10618  // be included in the string output. The member name will be present, but the
 10619  // value will be replaced with "sensitive".
 10620  func (s LimitExceededException) String() string {
 10621  	return awsutil.Prettify(s)
 10622  }
 10623  
 10624  // GoString returns the string representation.
 10625  //
 10626  // API parameter values that are decorated as "sensitive" in the API will not
 10627  // be included in the string output. The member name will be present, but the
 10628  // value will be replaced with "sensitive".
 10629  func (s LimitExceededException) GoString() string {
 10630  	return s.String()
 10631  }
 10632  
 10633  func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
 10634  	return &LimitExceededException{
 10635  		RespMetadata: v,
 10636  	}
 10637  }
 10638  
 10639  // Code returns the exception type name.
 10640  func (s *LimitExceededException) Code() string {
 10641  	return "LimitExceededException"
 10642  }
 10643  
 10644  // Message returns the exception's message.
 10645  func (s *LimitExceededException) Message() string {
 10646  	if s.Message_ != nil {
 10647  		return *s.Message_
 10648  	}
 10649  	return ""
 10650  }
 10651  
 10652  // OrigErr always returns nil, satisfies awserr.Error interface.
 10653  func (s *LimitExceededException) OrigErr() error {
 10654  	return nil
 10655  }
 10656  
 10657  func (s *LimitExceededException) Error() string {
 10658  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10659  }
 10660  
 10661  // Status code returns the HTTP status code for the request's response error.
 10662  func (s *LimitExceededException) StatusCode() int {
 10663  	return s.RespMetadata.StatusCode
 10664  }
 10665  
 10666  // RequestID returns the service's response RequestID for request.
 10667  func (s *LimitExceededException) RequestID() string {
 10668  	return s.RespMetadata.RequestID
 10669  }
 10670  
 10671  type ListApplicationSnapshotsInput struct {
 10672  	_ struct{} `type:"structure"`
 10673  
 10674  	// The name of an existing application.
 10675  	//
 10676  	// ApplicationName is a required field
 10677  	ApplicationName *string `min:"1" type:"string" required:"true"`
 10678  
 10679  	// The maximum number of application snapshots to list.
 10680  	Limit *int64 `min:"1" type:"integer"`
 10681  
 10682  	// Use this parameter if you receive a NextToken response in a previous request
 10683  	// that indicates that there is more output available. Set it to the value of
 10684  	// the previous call's NextToken response to indicate where the output should
 10685  	// continue from.
 10686  	NextToken *string `min:"1" type:"string"`
 10687  }
 10688  
 10689  // String returns the string representation.
 10690  //
 10691  // API parameter values that are decorated as "sensitive" in the API will not
 10692  // be included in the string output. The member name will be present, but the
 10693  // value will be replaced with "sensitive".
 10694  func (s ListApplicationSnapshotsInput) String() string {
 10695  	return awsutil.Prettify(s)
 10696  }
 10697  
 10698  // GoString returns the string representation.
 10699  //
 10700  // API parameter values that are decorated as "sensitive" in the API will not
 10701  // be included in the string output. The member name will be present, but the
 10702  // value will be replaced with "sensitive".
 10703  func (s ListApplicationSnapshotsInput) GoString() string {
 10704  	return s.String()
 10705  }
 10706  
 10707  // Validate inspects the fields of the type to determine if they are valid.
 10708  func (s *ListApplicationSnapshotsInput) Validate() error {
 10709  	invalidParams := request.ErrInvalidParams{Context: "ListApplicationSnapshotsInput"}
 10710  	if s.ApplicationName == nil {
 10711  		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
 10712  	}
 10713  	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
 10714  		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
 10715  	}
 10716  	if s.Limit != nil && *s.Limit < 1 {
 10717  		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
 10718  	}
 10719  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 10720  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 10721  	}
 10722  
 10723  	if invalidParams.Len() > 0 {
 10724  		return invalidParams
 10725  	}
 10726  	return nil
 10727  }
 10728  
 10729  // SetApplicationName sets the ApplicationName field's value.
 10730  func (s *ListApplicationSnapshotsInput) SetApplicationName(v string) *ListApplicationSnapshotsInput {
 10731  	s.ApplicationName = &v
 10732  	return s
 10733  }
 10734  
 10735  // SetLimit sets the Limit field's value.
 10736  func (s *ListApplicationSnapshotsInput) SetLimit(v int64) *ListApplicationSnapshotsInput {
 10737  	s.Limit = &v
 10738  	return s
 10739  }
 10740  
 10741  // SetNextToken sets the NextToken field's value.
 10742  func (s *ListApplicationSnapshotsInput) SetNextToken(v string) *ListApplicationSnapshotsInput {
 10743  	s.NextToken = &v
 10744  	return s
 10745  }
 10746  
 10747  type ListApplicationSnapshotsOutput struct {
 10748  	_ struct{} `type:"structure"`
 10749  
 10750  	// The token for the next set of results, or null if there are no additional
 10751  	// results.
 10752  	NextToken *string `min:"1" type:"string"`
 10753  
 10754  	// A collection of objects containing information about the application snapshots.
 10755  	SnapshotSummaries []*SnapshotDetails `type:"list"`
 10756  }
 10757  
 10758  // String returns the string representation.
 10759  //
 10760  // API parameter values that are decorated as "sensitive" in the API will not
 10761  // be included in the string output. The member name will be present, but the
 10762  // value will be replaced with "sensitive".
 10763  func (s ListApplicationSnapshotsOutput) String() string {
 10764  	return awsutil.Prettify(s)
 10765  }
 10766  
 10767  // GoString returns the string representation.
 10768  //
 10769  // API parameter values that are decorated as "sensitive" in the API will not
 10770  // be included in the string output. The member name will be present, but the
 10771  // value will be replaced with "sensitive".
 10772  func (s ListApplicationSnapshotsOutput) GoString() string {
 10773  	return s.String()
 10774  }
 10775  
 10776  // SetNextToken sets the NextToken field's value.
 10777  func (s *ListApplicationSnapshotsOutput) SetNextToken(v string) *ListApplicationSnapshotsOutput {
 10778  	s.NextToken = &v
 10779  	return s
 10780  }
 10781  
 10782  // SetSnapshotSummaries sets the SnapshotSummaries field's value.
 10783  func (s *ListApplicationSnapshotsOutput) SetSnapshotSummaries(v []*SnapshotDetails) *ListApplicationSnapshotsOutput {
 10784  	s.SnapshotSummaries = v
 10785  	return s
 10786  }
 10787  
 10788  type ListApplicationVersionsInput struct {
 10789  	_ struct{} `type:"structure"`
 10790  
 10791  	// The name of the application for which you want to list all versions.
 10792  	//
 10793  	// ApplicationName is a required field
 10794  	ApplicationName *string `min:"1" type:"string" required:"true"`
 10795  
 10796  	// The maximum number of versions to list in this invocation of the operation.
 10797  	Limit *int64 `min:"1" type:"integer"`
 10798  
 10799  	// If a previous invocation of this operation returned a pagination token, pass
 10800  	// it into this value to retrieve the next set of results. For more information
 10801  	// about pagination, see Using the AWS Command Line Interface's Pagination Options
 10802  	// (https://docs.aws.amazon.com/cli/latest/userguide/pagination.html).
 10803  	NextToken *string `min:"1" type:"string"`
 10804  }
 10805  
 10806  // String returns the string representation.
 10807  //
 10808  // API parameter values that are decorated as "sensitive" in the API will not
 10809  // be included in the string output. The member name will be present, but the
 10810  // value will be replaced with "sensitive".
 10811  func (s ListApplicationVersionsInput) String() string {
 10812  	return awsutil.Prettify(s)
 10813  }
 10814  
 10815  // GoString returns the string representation.
 10816  //
 10817  // API parameter values that are decorated as "sensitive" in the API will not
 10818  // be included in the string output. The member name will be present, but the
 10819  // value will be replaced with "sensitive".
 10820  func (s ListApplicationVersionsInput) GoString() string {
 10821  	return s.String()
 10822  }
 10823  
 10824  // Validate inspects the fields of the type to determine if they are valid.
 10825  func (s *ListApplicationVersionsInput) Validate() error {
 10826  	invalidParams := request.ErrInvalidParams{Context: "ListApplicationVersionsInput"}
 10827  	if s.ApplicationName == nil {
 10828  		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
 10829  	}
 10830  	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
 10831  		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
 10832  	}
 10833  	if s.Limit != nil && *s.Limit < 1 {
 10834  		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
 10835  	}
 10836  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 10837  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 10838  	}
 10839  
 10840  	if invalidParams.Len() > 0 {
 10841  		return invalidParams
 10842  	}
 10843  	return nil
 10844  }
 10845  
 10846  // SetApplicationName sets the ApplicationName field's value.
 10847  func (s *ListApplicationVersionsInput) SetApplicationName(v string) *ListApplicationVersionsInput {
 10848  	s.ApplicationName = &v
 10849  	return s
 10850  }
 10851  
 10852  // SetLimit sets the Limit field's value.
 10853  func (s *ListApplicationVersionsInput) SetLimit(v int64) *ListApplicationVersionsInput {
 10854  	s.Limit = &v
 10855  	return s
 10856  }
 10857  
 10858  // SetNextToken sets the NextToken field's value.
 10859  func (s *ListApplicationVersionsInput) SetNextToken(v string) *ListApplicationVersionsInput {
 10860  	s.NextToken = &v
 10861  	return s
 10862  }
 10863  
 10864  type ListApplicationVersionsOutput struct {
 10865  	_ struct{} `type:"structure"`
 10866  
 10867  	// A list of the application versions and the associated configuration summaries.
 10868  	// The list includes application versions that were rolled back.
 10869  	//
 10870  	// To get the complete description of a specific application version, invoke
 10871  	// the DescribeApplicationVersion operation.
 10872  	ApplicationVersionSummaries []*ApplicationVersionSummary `type:"list"`
 10873  
 10874  	// The pagination token for the next set of results, or null if there are no
 10875  	// additional results. To retrieve the next set of items, pass this token into
 10876  	// a subsequent invocation of this operation. For more information about pagination,
 10877  	// see Using the AWS Command Line Interface's Pagination Options (https://docs.aws.amazon.com/cli/latest/userguide/pagination.html).
 10878  	NextToken *string `min:"1" type:"string"`
 10879  }
 10880  
 10881  // String returns the string representation.
 10882  //
 10883  // API parameter values that are decorated as "sensitive" in the API will not
 10884  // be included in the string output. The member name will be present, but the
 10885  // value will be replaced with "sensitive".
 10886  func (s ListApplicationVersionsOutput) String() string {
 10887  	return awsutil.Prettify(s)
 10888  }
 10889  
 10890  // GoString returns the string representation.
 10891  //
 10892  // API parameter values that are decorated as "sensitive" in the API will not
 10893  // be included in the string output. The member name will be present, but the
 10894  // value will be replaced with "sensitive".
 10895  func (s ListApplicationVersionsOutput) GoString() string {
 10896  	return s.String()
 10897  }
 10898  
 10899  // SetApplicationVersionSummaries sets the ApplicationVersionSummaries field's value.
 10900  func (s *ListApplicationVersionsOutput) SetApplicationVersionSummaries(v []*ApplicationVersionSummary) *ListApplicationVersionsOutput {
 10901  	s.ApplicationVersionSummaries = v
 10902  	return s
 10903  }
 10904  
 10905  // SetNextToken sets the NextToken field's value.
 10906  func (s *ListApplicationVersionsOutput) SetNextToken(v string) *ListApplicationVersionsOutput {
 10907  	s.NextToken = &v
 10908  	return s
 10909  }
 10910  
 10911  type ListApplicationsInput struct {
 10912  	_ struct{} `type:"structure"`
 10913  
 10914  	// The maximum number of applications to list.
 10915  	Limit *int64 `min:"1" type:"integer"`
 10916  
 10917  	// If a previous command returned a pagination token, pass it into this value
 10918  	// to retrieve the next set of results. For more information about pagination,
 10919  	// see Using the AWS Command Line Interface's Pagination Options (https://docs.aws.amazon.com/cli/latest/userguide/pagination.html).
 10920  	NextToken *string `min:"1" type:"string"`
 10921  }
 10922  
 10923  // String returns the string representation.
 10924  //
 10925  // API parameter values that are decorated as "sensitive" in the API will not
 10926  // be included in the string output. The member name will be present, but the
 10927  // value will be replaced with "sensitive".
 10928  func (s ListApplicationsInput) String() string {
 10929  	return awsutil.Prettify(s)
 10930  }
 10931  
 10932  // GoString returns the string representation.
 10933  //
 10934  // API parameter values that are decorated as "sensitive" in the API will not
 10935  // be included in the string output. The member name will be present, but the
 10936  // value will be replaced with "sensitive".
 10937  func (s ListApplicationsInput) GoString() string {
 10938  	return s.String()
 10939  }
 10940  
 10941  // Validate inspects the fields of the type to determine if they are valid.
 10942  func (s *ListApplicationsInput) Validate() error {
 10943  	invalidParams := request.ErrInvalidParams{Context: "ListApplicationsInput"}
 10944  	if s.Limit != nil && *s.Limit < 1 {
 10945  		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
 10946  	}
 10947  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 10948  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 10949  	}
 10950  
 10951  	if invalidParams.Len() > 0 {
 10952  		return invalidParams
 10953  	}
 10954  	return nil
 10955  }
 10956  
 10957  // SetLimit sets the Limit field's value.
 10958  func (s *ListApplicationsInput) SetLimit(v int64) *ListApplicationsInput {
 10959  	s.Limit = &v
 10960  	return s
 10961  }
 10962  
 10963  // SetNextToken sets the NextToken field's value.
 10964  func (s *ListApplicationsInput) SetNextToken(v string) *ListApplicationsInput {
 10965  	s.NextToken = &v
 10966  	return s
 10967  }
 10968  
 10969  type ListApplicationsOutput struct {
 10970  	_ struct{} `type:"structure"`
 10971  
 10972  	// A list of ApplicationSummary objects.
 10973  	//
 10974  	// ApplicationSummaries is a required field
 10975  	ApplicationSummaries []*ApplicationSummary `type:"list" required:"true"`
 10976  
 10977  	// The pagination token for the next set of results, or null if there are no
 10978  	// additional results. Pass this token into a subsequent command to retrieve
 10979  	// the next set of items For more information about pagination, see Using the
 10980  	// AWS Command Line Interface's Pagination Options (https://docs.aws.amazon.com/cli/latest/userguide/pagination.html).
 10981  	NextToken *string `min:"1" type:"string"`
 10982  }
 10983  
 10984  // String returns the string representation.
 10985  //
 10986  // API parameter values that are decorated as "sensitive" in the API will not
 10987  // be included in the string output. The member name will be present, but the
 10988  // value will be replaced with "sensitive".
 10989  func (s ListApplicationsOutput) String() string {
 10990  	return awsutil.Prettify(s)
 10991  }
 10992  
 10993  // GoString returns the string representation.
 10994  //
 10995  // API parameter values that are decorated as "sensitive" in the API will not
 10996  // be included in the string output. The member name will be present, but the
 10997  // value will be replaced with "sensitive".
 10998  func (s ListApplicationsOutput) GoString() string {
 10999  	return s.String()
 11000  }
 11001  
 11002  // SetApplicationSummaries sets the ApplicationSummaries field's value.
 11003  func (s *ListApplicationsOutput) SetApplicationSummaries(v []*ApplicationSummary) *ListApplicationsOutput {
 11004  	s.ApplicationSummaries = v
 11005  	return s
 11006  }
 11007  
 11008  // SetNextToken sets the NextToken field's value.
 11009  func (s *ListApplicationsOutput) SetNextToken(v string) *ListApplicationsOutput {
 11010  	s.NextToken = &v
 11011  	return s
 11012  }
 11013  
 11014  type ListTagsForResourceInput struct {
 11015  	_ struct{} `type:"structure"`
 11016  
 11017  	// The ARN of the application for which to retrieve tags.
 11018  	//
 11019  	// ResourceARN is a required field
 11020  	ResourceARN *string `min:"1" type:"string" required:"true"`
 11021  }
 11022  
 11023  // String returns the string representation.
 11024  //
 11025  // API parameter values that are decorated as "sensitive" in the API will not
 11026  // be included in the string output. The member name will be present, but the
 11027  // value will be replaced with "sensitive".
 11028  func (s ListTagsForResourceInput) String() string {
 11029  	return awsutil.Prettify(s)
 11030  }
 11031  
 11032  // GoString returns the string representation.
 11033  //
 11034  // API parameter values that are decorated as "sensitive" in the API will not
 11035  // be included in the string output. The member name will be present, but the
 11036  // value will be replaced with "sensitive".
 11037  func (s ListTagsForResourceInput) GoString() string {
 11038  	return s.String()
 11039  }
 11040  
 11041  // Validate inspects the fields of the type to determine if they are valid.
 11042  func (s *ListTagsForResourceInput) Validate() error {
 11043  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
 11044  	if s.ResourceARN == nil {
 11045  		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
 11046  	}
 11047  	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
 11048  		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
 11049  	}
 11050  
 11051  	if invalidParams.Len() > 0 {
 11052  		return invalidParams
 11053  	}
 11054  	return nil
 11055  }
 11056  
 11057  // SetResourceARN sets the ResourceARN field's value.
 11058  func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput {
 11059  	s.ResourceARN = &v
 11060  	return s
 11061  }
 11062  
 11063  type ListTagsForResourceOutput struct {
 11064  	_ struct{} `type:"structure"`
 11065  
 11066  	// The key-value tags assigned to the application.
 11067  	Tags []*Tag `min:"1" type:"list"`
 11068  }
 11069  
 11070  // String returns the string representation.
 11071  //
 11072  // API parameter values that are decorated as "sensitive" in the API will not
 11073  // be included in the string output. The member name will be present, but the
 11074  // value will be replaced with "sensitive".
 11075  func (s ListTagsForResourceOutput) String() string {
 11076  	return awsutil.Prettify(s)
 11077  }
 11078  
 11079  // GoString returns the string representation.
 11080  //
 11081  // API parameter values that are decorated as "sensitive" in the API will not
 11082  // be included in the string output. The member name will be present, but the
 11083  // value will be replaced with "sensitive".
 11084  func (s ListTagsForResourceOutput) GoString() string {
 11085  	return s.String()
 11086  }
 11087  
 11088  // SetTags sets the Tags field's value.
 11089  func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
 11090  	s.Tags = v
 11091  	return s
 11092  }
 11093  
 11094  // When you configure a SQL-based Kinesis Data Analytics application's input
 11095  // at the time of creating or updating an application, provides additional mapping
 11096  // information specific to the record format (such as JSON, CSV, or record fields
 11097  // delimited by some delimiter) on the streaming source.
 11098  type MappingParameters struct {
 11099  	_ struct{} `type:"structure"`
 11100  
 11101  	// Provides additional mapping information when the record format uses delimiters
 11102  	// (for example, CSV).
 11103  	CSVMappingParameters *CSVMappingParameters `type:"structure"`
 11104  
 11105  	// Provides additional mapping information when JSON is the record format on
 11106  	// the streaming source.
 11107  	JSONMappingParameters *JSONMappingParameters `type:"structure"`
 11108  }
 11109  
 11110  // String returns the string representation.
 11111  //
 11112  // API parameter values that are decorated as "sensitive" in the API will not
 11113  // be included in the string output. The member name will be present, but the
 11114  // value will be replaced with "sensitive".
 11115  func (s MappingParameters) String() string {
 11116  	return awsutil.Prettify(s)
 11117  }
 11118  
 11119  // GoString returns the string representation.
 11120  //
 11121  // API parameter values that are decorated as "sensitive" in the API will not
 11122  // be included in the string output. The member name will be present, but the
 11123  // value will be replaced with "sensitive".
 11124  func (s MappingParameters) GoString() string {
 11125  	return s.String()
 11126  }
 11127  
 11128  // Validate inspects the fields of the type to determine if they are valid.
 11129  func (s *MappingParameters) Validate() error {
 11130  	invalidParams := request.ErrInvalidParams{Context: "MappingParameters"}
 11131  	if s.CSVMappingParameters != nil {
 11132  		if err := s.CSVMappingParameters.Validate(); err != nil {
 11133  			invalidParams.AddNested("CSVMappingParameters", err.(request.ErrInvalidParams))
 11134  		}
 11135  	}
 11136  	if s.JSONMappingParameters != nil {
 11137  		if err := s.JSONMappingParameters.Validate(); err != nil {
 11138  			invalidParams.AddNested("JSONMappingParameters", err.(request.ErrInvalidParams))
 11139  		}
 11140  	}
 11141  
 11142  	if invalidParams.Len() > 0 {
 11143  		return invalidParams
 11144  	}
 11145  	return nil
 11146  }
 11147  
 11148  // SetCSVMappingParameters sets the CSVMappingParameters field's value.
 11149  func (s *MappingParameters) SetCSVMappingParameters(v *CSVMappingParameters) *MappingParameters {
 11150  	s.CSVMappingParameters = v
 11151  	return s
 11152  }
 11153  
 11154  // SetJSONMappingParameters sets the JSONMappingParameters field's value.
 11155  func (s *MappingParameters) SetJSONMappingParameters(v *JSONMappingParameters) *MappingParameters {
 11156  	s.JSONMappingParameters = v
 11157  	return s
 11158  }
 11159  
 11160  // The information required to specify a Maven reference. You can use Maven
 11161  // references to specify dependency JAR files.
 11162  type MavenReference struct {
 11163  	_ struct{} `type:"structure"`
 11164  
 11165  	// The artifact ID of the Maven reference.
 11166  	//
 11167  	// ArtifactId is a required field
 11168  	ArtifactId *string `min:"1" type:"string" required:"true"`
 11169  
 11170  	// The group ID of the Maven reference.
 11171  	//
 11172  	// GroupId is a required field
 11173  	GroupId *string `min:"1" type:"string" required:"true"`
 11174  
 11175  	// The version of the Maven reference.
 11176  	//
 11177  	// Version is a required field
 11178  	Version *string `min:"1" type:"string" required:"true"`
 11179  }
 11180  
 11181  // String returns the string representation.
 11182  //
 11183  // API parameter values that are decorated as "sensitive" in the API will not
 11184  // be included in the string output. The member name will be present, but the
 11185  // value will be replaced with "sensitive".
 11186  func (s MavenReference) String() string {
 11187  	return awsutil.Prettify(s)
 11188  }
 11189  
 11190  // GoString returns the string representation.
 11191  //
 11192  // API parameter values that are decorated as "sensitive" in the API will not
 11193  // be included in the string output. The member name will be present, but the
 11194  // value will be replaced with "sensitive".
 11195  func (s MavenReference) GoString() string {
 11196  	return s.String()
 11197  }
 11198  
 11199  // Validate inspects the fields of the type to determine if they are valid.
 11200  func (s *MavenReference) Validate() error {
 11201  	invalidParams := request.ErrInvalidParams{Context: "MavenReference"}
 11202  	if s.ArtifactId == nil {
 11203  		invalidParams.Add(request.NewErrParamRequired("ArtifactId"))
 11204  	}
 11205  	if s.ArtifactId != nil && len(*s.ArtifactId) < 1 {
 11206  		invalidParams.Add(request.NewErrParamMinLen("ArtifactId", 1))
 11207  	}
 11208  	if s.GroupId == nil {
 11209  		invalidParams.Add(request.NewErrParamRequired("GroupId"))
 11210  	}
 11211  	if s.GroupId != nil && len(*s.GroupId) < 1 {
 11212  		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
 11213  	}
 11214  	if s.Version == nil {
 11215  		invalidParams.Add(request.NewErrParamRequired("Version"))
 11216  	}
 11217  	if s.Version != nil && len(*s.Version) < 1 {
 11218  		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
 11219  	}
 11220  
 11221  	if invalidParams.Len() > 0 {
 11222  		return invalidParams
 11223  	}
 11224  	return nil
 11225  }
 11226  
 11227  // SetArtifactId sets the ArtifactId field's value.
 11228  func (s *MavenReference) SetArtifactId(v string) *MavenReference {
 11229  	s.ArtifactId = &v
 11230  	return s
 11231  }
 11232  
 11233  // SetGroupId sets the GroupId field's value.
 11234  func (s *MavenReference) SetGroupId(v string) *MavenReference {
 11235  	s.GroupId = &v
 11236  	return s
 11237  }
 11238  
 11239  // SetVersion sets the Version field's value.
 11240  func (s *MavenReference) SetVersion(v string) *MavenReference {
 11241  	s.Version = &v
 11242  	return s
 11243  }
 11244  
 11245  // Describes configuration parameters for Amazon CloudWatch logging for an application.
 11246  // For more information about CloudWatch logging, see Monitoring (https://docs.aws.amazon.com/kinesisanalytics/latest/java/monitoring-overview.html).
 11247  type MonitoringConfiguration struct {
 11248  	_ struct{} `type:"structure"`
 11249  
 11250  	// Describes whether to use the default CloudWatch logging configuration for
 11251  	// an application. You must set this property to CUSTOM in order to set the
 11252  	// LogLevel or MetricsLevel parameters.
 11253  	//
 11254  	// ConfigurationType is a required field
 11255  	ConfigurationType *string `type:"string" required:"true" enum:"ConfigurationType"`
 11256  
 11257  	// Describes the verbosity of the CloudWatch Logs for an application.
 11258  	LogLevel *string `type:"string" enum:"LogLevel"`
 11259  
 11260  	// Describes the granularity of the CloudWatch Logs for an application. The
 11261  	// Parallelism level is not recommended for applications with a Parallelism
 11262  	// over 64 due to excessive costs.
 11263  	MetricsLevel *string `type:"string" enum:"MetricsLevel"`
 11264  }
 11265  
 11266  // String returns the string representation.
 11267  //
 11268  // API parameter values that are decorated as "sensitive" in the API will not
 11269  // be included in the string output. The member name will be present, but the
 11270  // value will be replaced with "sensitive".
 11271  func (s MonitoringConfiguration) String() string {
 11272  	return awsutil.Prettify(s)
 11273  }
 11274  
 11275  // GoString returns the string representation.
 11276  //
 11277  // API parameter values that are decorated as "sensitive" in the API will not
 11278  // be included in the string output. The member name will be present, but the
 11279  // value will be replaced with "sensitive".
 11280  func (s MonitoringConfiguration) GoString() string {
 11281  	return s.String()
 11282  }
 11283  
 11284  // Validate inspects the fields of the type to determine if they are valid.
 11285  func (s *MonitoringConfiguration) Validate() error {
 11286  	invalidParams := request.ErrInvalidParams{Context: "MonitoringConfiguration"}
 11287  	if s.ConfigurationType == nil {
 11288  		invalidParams.Add(request.NewErrParamRequired("ConfigurationType"))
 11289  	}
 11290  
 11291  	if invalidParams.Len() > 0 {
 11292  		return invalidParams
 11293  	}
 11294  	return nil
 11295  }
 11296  
 11297  // SetConfigurationType sets the ConfigurationType field's value.
 11298  func (s *MonitoringConfiguration) SetConfigurationType(v string) *MonitoringConfiguration {
 11299  	s.ConfigurationType = &v
 11300  	return s
 11301  }
 11302  
 11303  // SetLogLevel sets the LogLevel field's value.
 11304  func (s *MonitoringConfiguration) SetLogLevel(v string) *MonitoringConfiguration {
 11305  	s.LogLevel = &v
 11306  	return s
 11307  }
 11308  
 11309  // SetMetricsLevel sets the MetricsLevel field's value.
 11310  func (s *MonitoringConfiguration) SetMetricsLevel(v string) *MonitoringConfiguration {
 11311  	s.MetricsLevel = &v
 11312  	return s
 11313  }
 11314  
 11315  // Describes configuration parameters for CloudWatch logging for an application.
 11316  type MonitoringConfigurationDescription struct {
 11317  	_ struct{} `type:"structure"`
 11318  
 11319  	// Describes whether to use the default CloudWatch logging configuration for
 11320  	// an application.
 11321  	ConfigurationType *string `type:"string" enum:"ConfigurationType"`
 11322  
 11323  	// Describes the verbosity of the CloudWatch Logs for an application.
 11324  	LogLevel *string `type:"string" enum:"LogLevel"`
 11325  
 11326  	// Describes the granularity of the CloudWatch Logs for an application.
 11327  	MetricsLevel *string `type:"string" enum:"MetricsLevel"`
 11328  }
 11329  
 11330  // String returns the string representation.
 11331  //
 11332  // API parameter values that are decorated as "sensitive" in the API will not
 11333  // be included in the string output. The member name will be present, but the
 11334  // value will be replaced with "sensitive".
 11335  func (s MonitoringConfigurationDescription) String() string {
 11336  	return awsutil.Prettify(s)
 11337  }
 11338  
 11339  // GoString returns the string representation.
 11340  //
 11341  // API parameter values that are decorated as "sensitive" in the API will not
 11342  // be included in the string output. The member name will be present, but the
 11343  // value will be replaced with "sensitive".
 11344  func (s MonitoringConfigurationDescription) GoString() string {
 11345  	return s.String()
 11346  }
 11347  
 11348  // SetConfigurationType sets the ConfigurationType field's value.
 11349  func (s *MonitoringConfigurationDescription) SetConfigurationType(v string) *MonitoringConfigurationDescription {
 11350  	s.ConfigurationType = &v
 11351  	return s
 11352  }
 11353  
 11354  // SetLogLevel sets the LogLevel field's value.
 11355  func (s *MonitoringConfigurationDescription) SetLogLevel(v string) *MonitoringConfigurationDescription {
 11356  	s.LogLevel = &v
 11357  	return s
 11358  }
 11359  
 11360  // SetMetricsLevel sets the MetricsLevel field's value.
 11361  func (s *MonitoringConfigurationDescription) SetMetricsLevel(v string) *MonitoringConfigurationDescription {
 11362  	s.MetricsLevel = &v
 11363  	return s
 11364  }
 11365  
 11366  // Describes updates to configuration parameters for Amazon CloudWatch logging
 11367  // for an application.
 11368  type MonitoringConfigurationUpdate struct {
 11369  	_ struct{} `type:"structure"`
 11370  
 11371  	// Describes updates to whether to use the default CloudWatch logging configuration
 11372  	// for an application. You must set this property to CUSTOM in order to set
 11373  	// the LogLevel or MetricsLevel parameters.
 11374  	ConfigurationTypeUpdate *string `type:"string" enum:"ConfigurationType"`
 11375  
 11376  	// Describes updates to the verbosity of the CloudWatch Logs for an application.
 11377  	LogLevelUpdate *string `type:"string" enum:"LogLevel"`
 11378  
 11379  	// Describes updates to the granularity of the CloudWatch Logs for an application.
 11380  	// The Parallelism level is not recommended for applications with a Parallelism
 11381  	// over 64 due to excessive costs.
 11382  	MetricsLevelUpdate *string `type:"string" enum:"MetricsLevel"`
 11383  }
 11384  
 11385  // String returns the string representation.
 11386  //
 11387  // API parameter values that are decorated as "sensitive" in the API will not
 11388  // be included in the string output. The member name will be present, but the
 11389  // value will be replaced with "sensitive".
 11390  func (s MonitoringConfigurationUpdate) String() string {
 11391  	return awsutil.Prettify(s)
 11392  }
 11393  
 11394  // GoString returns the string representation.
 11395  //
 11396  // API parameter values that are decorated as "sensitive" in the API will not
 11397  // be included in the string output. The member name will be present, but the
 11398  // value will be replaced with "sensitive".
 11399  func (s MonitoringConfigurationUpdate) GoString() string {
 11400  	return s.String()
 11401  }
 11402  
 11403  // SetConfigurationTypeUpdate sets the ConfigurationTypeUpdate field's value.
 11404  func (s *MonitoringConfigurationUpdate) SetConfigurationTypeUpdate(v string) *MonitoringConfigurationUpdate {
 11405  	s.ConfigurationTypeUpdate = &v
 11406  	return s
 11407  }
 11408  
 11409  // SetLogLevelUpdate sets the LogLevelUpdate field's value.
 11410  func (s *MonitoringConfigurationUpdate) SetLogLevelUpdate(v string) *MonitoringConfigurationUpdate {
 11411  	s.LogLevelUpdate = &v
 11412  	return s
 11413  }
 11414  
 11415  // SetMetricsLevelUpdate sets the MetricsLevelUpdate field's value.
 11416  func (s *MonitoringConfigurationUpdate) SetMetricsLevelUpdate(v string) *MonitoringConfigurationUpdate {
 11417  	s.MetricsLevelUpdate = &v
 11418  	return s
 11419  }
 11420  
 11421  // Describes a SQL-based Kinesis Data Analytics application's output configuration,
 11422  // in which you identify an in-application stream and a destination where you
 11423  // want the in-application stream data to be written. The destination can be
 11424  // a Kinesis data stream or a Kinesis Data Firehose delivery stream.
 11425  type Output struct {
 11426  	_ struct{} `type:"structure"`
 11427  
 11428  	// Describes the data format when records are written to the destination.
 11429  	//
 11430  	// DestinationSchema is a required field
 11431  	DestinationSchema *DestinationSchema `type:"structure" required:"true"`
 11432  
 11433  	// Identifies a Kinesis Data Firehose delivery stream as the destination.
 11434  	KinesisFirehoseOutput *KinesisFirehoseOutput `type:"structure"`
 11435  
 11436  	// Identifies a Kinesis data stream as the destination.
 11437  	KinesisStreamsOutput *KinesisStreamsOutput `type:"structure"`
 11438  
 11439  	// Identifies an AWS Lambda function as the destination.
 11440  	LambdaOutput *LambdaOutput `type:"structure"`
 11441  
 11442  	// The name of the in-application stream.
 11443  	//
 11444  	// Name is a required field
 11445  	Name *string `min:"1" type:"string" required:"true"`
 11446  }
 11447  
 11448  // String returns the string representation.
 11449  //
 11450  // API parameter values that are decorated as "sensitive" in the API will not
 11451  // be included in the string output. The member name will be present, but the
 11452  // value will be replaced with "sensitive".
 11453  func (s Output) String() string {
 11454  	return awsutil.Prettify(s)
 11455  }
 11456  
 11457  // GoString returns the string representation.
 11458  //
 11459  // API parameter values that are decorated as "sensitive" in the API will not
 11460  // be included in the string output. The member name will be present, but the
 11461  // value will be replaced with "sensitive".
 11462  func (s Output) GoString() string {
 11463  	return s.String()
 11464  }
 11465  
 11466  // Validate inspects the fields of the type to determine if they are valid.
 11467  func (s *Output) Validate() error {
 11468  	invalidParams := request.ErrInvalidParams{Context: "Output"}
 11469  	if s.DestinationSchema == nil {
 11470  		invalidParams.Add(request.NewErrParamRequired("DestinationSchema"))
 11471  	}
 11472  	if s.Name == nil {
 11473  		invalidParams.Add(request.NewErrParamRequired("Name"))
 11474  	}
 11475  	if s.Name != nil && len(*s.Name) < 1 {
 11476  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 11477  	}
 11478  	if s.DestinationSchema != nil {
 11479  		if err := s.DestinationSchema.Validate(); err != nil {
 11480  			invalidParams.AddNested("DestinationSchema", err.(request.ErrInvalidParams))
 11481  		}
 11482  	}
 11483  	if s.KinesisFirehoseOutput != nil {
 11484  		if err := s.KinesisFirehoseOutput.Validate(); err != nil {
 11485  			invalidParams.AddNested("KinesisFirehoseOutput", err.(request.ErrInvalidParams))
 11486  		}
 11487  	}
 11488  	if s.KinesisStreamsOutput != nil {
 11489  		if err := s.KinesisStreamsOutput.Validate(); err != nil {
 11490  			invalidParams.AddNested("KinesisStreamsOutput", err.(request.ErrInvalidParams))
 11491  		}
 11492  	}
 11493  	if s.LambdaOutput != nil {
 11494  		if err := s.LambdaOutput.Validate(); err != nil {
 11495  			invalidParams.AddNested("LambdaOutput", err.(request.ErrInvalidParams))
 11496  		}
 11497  	}
 11498  
 11499  	if invalidParams.Len() > 0 {
 11500  		return invalidParams
 11501  	}
 11502  	return nil
 11503  }
 11504  
 11505  // SetDestinationSchema sets the DestinationSchema field's value.
 11506  func (s *Output) SetDestinationSchema(v *DestinationSchema) *Output {
 11507  	s.DestinationSchema = v
 11508  	return s
 11509  }
 11510  
 11511  // SetKinesisFirehoseOutput sets the KinesisFirehoseOutput field's value.
 11512  func (s *Output) SetKinesisFirehoseOutput(v *KinesisFirehoseOutput) *Output {
 11513  	s.KinesisFirehoseOutput = v
 11514  	return s
 11515  }
 11516  
 11517  // SetKinesisStreamsOutput sets the KinesisStreamsOutput field's value.
 11518  func (s *Output) SetKinesisStreamsOutput(v *KinesisStreamsOutput) *Output {
 11519  	s.KinesisStreamsOutput = v
 11520  	return s
 11521  }
 11522  
 11523  // SetLambdaOutput sets the LambdaOutput field's value.
 11524  func (s *Output) SetLambdaOutput(v *LambdaOutput) *Output {
 11525  	s.LambdaOutput = v
 11526  	return s
 11527  }
 11528  
 11529  // SetName sets the Name field's value.
 11530  func (s *Output) SetName(v string) *Output {
 11531  	s.Name = &v
 11532  	return s
 11533  }
 11534  
 11535  // For a SQL-based Kinesis Data Analytics application, describes the application
 11536  // output configuration, which includes the in-application stream name and the
 11537  // destination where the stream data is written. The destination can be a Kinesis
 11538  // data stream or a Kinesis Data Firehose delivery stream.
 11539  type OutputDescription struct {
 11540  	_ struct{} `type:"structure"`
 11541  
 11542  	// The data format used for writing data to the destination.
 11543  	DestinationSchema *DestinationSchema `type:"structure"`
 11544  
 11545  	// Describes the Kinesis Data Firehose delivery stream that is configured as
 11546  	// the destination where output is written.
 11547  	KinesisFirehoseOutputDescription *KinesisFirehoseOutputDescription `type:"structure"`
 11548  
 11549  	// Describes the Kinesis data stream that is configured as the destination where
 11550  	// output is written.
 11551  	KinesisStreamsOutputDescription *KinesisStreamsOutputDescription `type:"structure"`
 11552  
 11553  	// Describes the Lambda function that is configured as the destination where
 11554  	// output is written.
 11555  	LambdaOutputDescription *LambdaOutputDescription `type:"structure"`
 11556  
 11557  	// The name of the in-application stream that is configured as output.
 11558  	Name *string `min:"1" type:"string"`
 11559  
 11560  	// A unique identifier for the output configuration.
 11561  	OutputId *string `min:"1" type:"string"`
 11562  }
 11563  
 11564  // String returns the string representation.
 11565  //
 11566  // API parameter values that are decorated as "sensitive" in the API will not
 11567  // be included in the string output. The member name will be present, but the
 11568  // value will be replaced with "sensitive".
 11569  func (s OutputDescription) String() string {
 11570  	return awsutil.Prettify(s)
 11571  }
 11572  
 11573  // GoString returns the string representation.
 11574  //
 11575  // API parameter values that are decorated as "sensitive" in the API will not
 11576  // be included in the string output. The member name will be present, but the
 11577  // value will be replaced with "sensitive".
 11578  func (s OutputDescription) GoString() string {
 11579  	return s.String()
 11580  }
 11581  
 11582  // SetDestinationSchema sets the DestinationSchema field's value.
 11583  func (s *OutputDescription) SetDestinationSchema(v *DestinationSchema) *OutputDescription {
 11584  	s.DestinationSchema = v
 11585  	return s
 11586  }
 11587  
 11588  // SetKinesisFirehoseOutputDescription sets the KinesisFirehoseOutputDescription field's value.
 11589  func (s *OutputDescription) SetKinesisFirehoseOutputDescription(v *KinesisFirehoseOutputDescription) *OutputDescription {
 11590  	s.KinesisFirehoseOutputDescription = v
 11591  	return s
 11592  }
 11593  
 11594  // SetKinesisStreamsOutputDescription sets the KinesisStreamsOutputDescription field's value.
 11595  func (s *OutputDescription) SetKinesisStreamsOutputDescription(v *KinesisStreamsOutputDescription) *OutputDescription {
 11596  	s.KinesisStreamsOutputDescription = v
 11597  	return s
 11598  }
 11599  
 11600  // SetLambdaOutputDescription sets the LambdaOutputDescription field's value.
 11601  func (s *OutputDescription) SetLambdaOutputDescription(v *LambdaOutputDescription) *OutputDescription {
 11602  	s.LambdaOutputDescription = v
 11603  	return s
 11604  }
 11605  
 11606  // SetName sets the Name field's value.
 11607  func (s *OutputDescription) SetName(v string) *OutputDescription {
 11608  	s.Name = &v
 11609  	return s
 11610  }
 11611  
 11612  // SetOutputId sets the OutputId field's value.
 11613  func (s *OutputDescription) SetOutputId(v string) *OutputDescription {
 11614  	s.OutputId = &v
 11615  	return s
 11616  }
 11617  
 11618  // For a SQL-based Kinesis Data Analytics application, describes updates to
 11619  // the output configuration identified by the OutputId.
 11620  type OutputUpdate struct {
 11621  	_ struct{} `type:"structure"`
 11622  
 11623  	// Describes the data format when records are written to the destination.
 11624  	DestinationSchemaUpdate *DestinationSchema `type:"structure"`
 11625  
 11626  	// Describes a Kinesis Data Firehose delivery stream as the destination for
 11627  	// the output.
 11628  	KinesisFirehoseOutputUpdate *KinesisFirehoseOutputUpdate `type:"structure"`
 11629  
 11630  	// Describes a Kinesis data stream as the destination for the output.
 11631  	KinesisStreamsOutputUpdate *KinesisStreamsOutputUpdate `type:"structure"`
 11632  
 11633  	// Describes an AWS Lambda function as the destination for the output.
 11634  	LambdaOutputUpdate *LambdaOutputUpdate `type:"structure"`
 11635  
 11636  	// If you want to specify a different in-application stream for this output
 11637  	// configuration, use this field to specify the new in-application stream name.
 11638  	NameUpdate *string `min:"1" type:"string"`
 11639  
 11640  	// Identifies the specific output configuration that you want to update.
 11641  	//
 11642  	// OutputId is a required field
 11643  	OutputId *string `min:"1" type:"string" required:"true"`
 11644  }
 11645  
 11646  // String returns the string representation.
 11647  //
 11648  // API parameter values that are decorated as "sensitive" in the API will not
 11649  // be included in the string output. The member name will be present, but the
 11650  // value will be replaced with "sensitive".
 11651  func (s OutputUpdate) String() string {
 11652  	return awsutil.Prettify(s)
 11653  }
 11654  
 11655  // GoString returns the string representation.
 11656  //
 11657  // API parameter values that are decorated as "sensitive" in the API will not
 11658  // be included in the string output. The member name will be present, but the
 11659  // value will be replaced with "sensitive".
 11660  func (s OutputUpdate) GoString() string {
 11661  	return s.String()
 11662  }
 11663  
 11664  // Validate inspects the fields of the type to determine if they are valid.
 11665  func (s *OutputUpdate) Validate() error {
 11666  	invalidParams := request.ErrInvalidParams{Context: "OutputUpdate"}
 11667  	if s.NameUpdate != nil && len(*s.NameUpdate) < 1 {
 11668  		invalidParams.Add(request.NewErrParamMinLen("NameUpdate", 1))
 11669  	}
 11670  	if s.OutputId == nil {
 11671  		invalidParams.Add(request.NewErrParamRequired("OutputId"))
 11672  	}
 11673  	if s.OutputId != nil && len(*s.OutputId) < 1 {
 11674  		invalidParams.Add(request.NewErrParamMinLen("OutputId", 1))
 11675  	}
 11676  	if s.DestinationSchemaUpdate != nil {
 11677  		if err := s.DestinationSchemaUpdate.Validate(); err != nil {
 11678  			invalidParams.AddNested("DestinationSchemaUpdate", err.(request.ErrInvalidParams))
 11679  		}
 11680  	}
 11681  	if s.KinesisFirehoseOutputUpdate != nil {
 11682  		if err := s.KinesisFirehoseOutputUpdate.Validate(); err != nil {
 11683  			invalidParams.AddNested("KinesisFirehoseOutputUpdate", err.(request.ErrInvalidParams))
 11684  		}
 11685  	}
 11686  	if s.KinesisStreamsOutputUpdate != nil {
 11687  		if err := s.KinesisStreamsOutputUpdate.Validate(); err != nil {
 11688  			invalidParams.AddNested("KinesisStreamsOutputUpdate", err.(request.ErrInvalidParams))
 11689  		}
 11690  	}
 11691  	if s.LambdaOutputUpdate != nil {
 11692  		if err := s.LambdaOutputUpdate.Validate(); err != nil {
 11693  			invalidParams.AddNested("LambdaOutputUpdate", err.(request.ErrInvalidParams))
 11694  		}
 11695  	}
 11696  
 11697  	if invalidParams.Len() > 0 {
 11698  		return invalidParams
 11699  	}
 11700  	return nil
 11701  }
 11702  
 11703  // SetDestinationSchemaUpdate sets the DestinationSchemaUpdate field's value.
 11704  func (s *OutputUpdate) SetDestinationSchemaUpdate(v *DestinationSchema) *OutputUpdate {
 11705  	s.DestinationSchemaUpdate = v
 11706  	return s
 11707  }
 11708  
 11709  // SetKinesisFirehoseOutputUpdate sets the KinesisFirehoseOutputUpdate field's value.
 11710  func (s *OutputUpdate) SetKinesisFirehoseOutputUpdate(v *KinesisFirehoseOutputUpdate) *OutputUpdate {
 11711  	s.KinesisFirehoseOutputUpdate = v
 11712  	return s
 11713  }
 11714  
 11715  // SetKinesisStreamsOutputUpdate sets the KinesisStreamsOutputUpdate field's value.
 11716  func (s *OutputUpdate) SetKinesisStreamsOutputUpdate(v *KinesisStreamsOutputUpdate) *OutputUpdate {
 11717  	s.KinesisStreamsOutputUpdate = v
 11718  	return s
 11719  }
 11720  
 11721  // SetLambdaOutputUpdate sets the LambdaOutputUpdate field's value.
 11722  func (s *OutputUpdate) SetLambdaOutputUpdate(v *LambdaOutputUpdate) *OutputUpdate {
 11723  	s.LambdaOutputUpdate = v
 11724  	return s
 11725  }
 11726  
 11727  // SetNameUpdate sets the NameUpdate field's value.
 11728  func (s *OutputUpdate) SetNameUpdate(v string) *OutputUpdate {
 11729  	s.NameUpdate = &v
 11730  	return s
 11731  }
 11732  
 11733  // SetOutputId sets the OutputId field's value.
 11734  func (s *OutputUpdate) SetOutputId(v string) *OutputUpdate {
 11735  	s.OutputId = &v
 11736  	return s
 11737  }
 11738  
 11739  // Describes parameters for how a Flink-based Kinesis Data Analytics application
 11740  // executes multiple tasks simultaneously. For more information about parallelism,
 11741  // see Parallel Execution (https://ci.apache.org/projects/flink/flink-docs-release-1.8/dev/parallel.html)
 11742  // in the Apache Flink Documentation (https://ci.apache.org/projects/flink/flink-docs-release-1.8/).
 11743  type ParallelismConfiguration struct {
 11744  	_ struct{} `type:"structure"`
 11745  
 11746  	// Describes whether the Kinesis Data Analytics service can increase the parallelism
 11747  	// of the application in response to increased throughput.
 11748  	AutoScalingEnabled *bool `type:"boolean"`
 11749  
 11750  	// Describes whether the application uses the default parallelism for the Kinesis
 11751  	// Data Analytics service. You must set this property to CUSTOM in order to
 11752  	// change your application's AutoScalingEnabled, Parallelism, or ParallelismPerKPU
 11753  	// properties.
 11754  	//
 11755  	// ConfigurationType is a required field
 11756  	ConfigurationType *string `type:"string" required:"true" enum:"ConfigurationType"`
 11757  
 11758  	// Describes the initial number of parallel tasks that a Flink-based Kinesis
 11759  	// Data Analytics application can perform. If AutoScalingEnabled is set to True,
 11760  	// Kinesis Data Analytics increases the CurrentParallelism value in response
 11761  	// to application load. The service can increase the CurrentParallelism value
 11762  	// up to the maximum parallelism, which is ParalellismPerKPU times the maximum
 11763  	// KPUs for the application. The maximum KPUs for an application is 32 by default,
 11764  	// and can be increased by requesting a limit increase. If application load
 11765  	// is reduced, the service can reduce the CurrentParallelism value down to the
 11766  	// Parallelism setting.
 11767  	Parallelism *int64 `min:"1" type:"integer"`
 11768  
 11769  	// Describes the number of parallel tasks that a Flink-based Kinesis Data Analytics
 11770  	// application can perform per Kinesis Processing Unit (KPU) used by the application.
 11771  	// For more information about KPUs, see Amazon Kinesis Data Analytics Pricing
 11772  	// (http://aws.amazon.com/kinesis/data-analytics/pricing/).
 11773  	ParallelismPerKPU *int64 `min:"1" type:"integer"`
 11774  }
 11775  
 11776  // String returns the string representation.
 11777  //
 11778  // API parameter values that are decorated as "sensitive" in the API will not
 11779  // be included in the string output. The member name will be present, but the
 11780  // value will be replaced with "sensitive".
 11781  func (s ParallelismConfiguration) String() string {
 11782  	return awsutil.Prettify(s)
 11783  }
 11784  
 11785  // GoString returns the string representation.
 11786  //
 11787  // API parameter values that are decorated as "sensitive" in the API will not
 11788  // be included in the string output. The member name will be present, but the
 11789  // value will be replaced with "sensitive".
 11790  func (s ParallelismConfiguration) GoString() string {
 11791  	return s.String()
 11792  }
 11793  
 11794  // Validate inspects the fields of the type to determine if they are valid.
 11795  func (s *ParallelismConfiguration) Validate() error {
 11796  	invalidParams := request.ErrInvalidParams{Context: "ParallelismConfiguration"}
 11797  	if s.ConfigurationType == nil {
 11798  		invalidParams.Add(request.NewErrParamRequired("ConfigurationType"))
 11799  	}
 11800  	if s.Parallelism != nil && *s.Parallelism < 1 {
 11801  		invalidParams.Add(request.NewErrParamMinValue("Parallelism", 1))
 11802  	}
 11803  	if s.ParallelismPerKPU != nil && *s.ParallelismPerKPU < 1 {
 11804  		invalidParams.Add(request.NewErrParamMinValue("ParallelismPerKPU", 1))
 11805  	}
 11806  
 11807  	if invalidParams.Len() > 0 {
 11808  		return invalidParams
 11809  	}
 11810  	return nil
 11811  }
 11812  
 11813  // SetAutoScalingEnabled sets the AutoScalingEnabled field's value.
 11814  func (s *ParallelismConfiguration) SetAutoScalingEnabled(v bool) *ParallelismConfiguration {
 11815  	s.AutoScalingEnabled = &v
 11816  	return s
 11817  }
 11818  
 11819  // SetConfigurationType sets the ConfigurationType field's value.
 11820  func (s *ParallelismConfiguration) SetConfigurationType(v string) *ParallelismConfiguration {
 11821  	s.ConfigurationType = &v
 11822  	return s
 11823  }
 11824  
 11825  // SetParallelism sets the Parallelism field's value.
 11826  func (s *ParallelismConfiguration) SetParallelism(v int64) *ParallelismConfiguration {
 11827  	s.Parallelism = &v
 11828  	return s
 11829  }
 11830  
 11831  // SetParallelismPerKPU sets the ParallelismPerKPU field's value.
 11832  func (s *ParallelismConfiguration) SetParallelismPerKPU(v int64) *ParallelismConfiguration {
 11833  	s.ParallelismPerKPU = &v
 11834  	return s
 11835  }
 11836  
 11837  // Describes parameters for how a Flink-based Kinesis Data Analytics application
 11838  // executes multiple tasks simultaneously.
 11839  type ParallelismConfigurationDescription struct {
 11840  	_ struct{} `type:"structure"`
 11841  
 11842  	// Describes whether the Kinesis Data Analytics service can increase the parallelism
 11843  	// of the application in response to increased throughput.
 11844  	AutoScalingEnabled *bool `type:"boolean"`
 11845  
 11846  	// Describes whether the application uses the default parallelism for the Kinesis
 11847  	// Data Analytics service.
 11848  	ConfigurationType *string `type:"string" enum:"ConfigurationType"`
 11849  
 11850  	// Describes the current number of parallel tasks that a Flink-based Kinesis
 11851  	// Data Analytics application can perform. If AutoScalingEnabled is set to True,
 11852  	// Kinesis Data Analytics can increase this value in response to application
 11853  	// load. The service can increase this value up to the maximum parallelism,
 11854  	// which is ParalellismPerKPU times the maximum KPUs for the application. The
 11855  	// maximum KPUs for an application is 32 by default, and can be increased by
 11856  	// requesting a limit increase. If application load is reduced, the service
 11857  	// can reduce the CurrentParallelism value down to the Parallelism setting.
 11858  	CurrentParallelism *int64 `min:"1" type:"integer"`
 11859  
 11860  	// Describes the initial number of parallel tasks that a Flink-based Kinesis
 11861  	// Data Analytics application can perform. If AutoScalingEnabled is set to True,
 11862  	// then Kinesis Data Analytics can increase the CurrentParallelism value in
 11863  	// response to application load. The service can increase CurrentParallelism
 11864  	// up to the maximum parallelism, which is ParalellismPerKPU times the maximum
 11865  	// KPUs for the application. The maximum KPUs for an application is 32 by default,
 11866  	// and can be increased by requesting a limit increase. If application load
 11867  	// is reduced, the service can reduce the CurrentParallelism value down to the
 11868  	// Parallelism setting.
 11869  	Parallelism *int64 `min:"1" type:"integer"`
 11870  
 11871  	// Describes the number of parallel tasks that a Flink-based Kinesis Data Analytics
 11872  	// application can perform per Kinesis Processing Unit (KPU) used by the application.
 11873  	ParallelismPerKPU *int64 `min:"1" type:"integer"`
 11874  }
 11875  
 11876  // String returns the string representation.
 11877  //
 11878  // API parameter values that are decorated as "sensitive" in the API will not
 11879  // be included in the string output. The member name will be present, but the
 11880  // value will be replaced with "sensitive".
 11881  func (s ParallelismConfigurationDescription) String() string {
 11882  	return awsutil.Prettify(s)
 11883  }
 11884  
 11885  // GoString returns the string representation.
 11886  //
 11887  // API parameter values that are decorated as "sensitive" in the API will not
 11888  // be included in the string output. The member name will be present, but the
 11889  // value will be replaced with "sensitive".
 11890  func (s ParallelismConfigurationDescription) GoString() string {
 11891  	return s.String()
 11892  }
 11893  
 11894  // SetAutoScalingEnabled sets the AutoScalingEnabled field's value.
 11895  func (s *ParallelismConfigurationDescription) SetAutoScalingEnabled(v bool) *ParallelismConfigurationDescription {
 11896  	s.AutoScalingEnabled = &v
 11897  	return s
 11898  }
 11899  
 11900  // SetConfigurationType sets the ConfigurationType field's value.
 11901  func (s *ParallelismConfigurationDescription) SetConfigurationType(v string) *ParallelismConfigurationDescription {
 11902  	s.ConfigurationType = &v
 11903  	return s
 11904  }
 11905  
 11906  // SetCurrentParallelism sets the CurrentParallelism field's value.
 11907  func (s *ParallelismConfigurationDescription) SetCurrentParallelism(v int64) *ParallelismConfigurationDescription {
 11908  	s.CurrentParallelism = &v
 11909  	return s
 11910  }
 11911  
 11912  // SetParallelism sets the Parallelism field's value.
 11913  func (s *ParallelismConfigurationDescription) SetParallelism(v int64) *ParallelismConfigurationDescription {
 11914  	s.Parallelism = &v
 11915  	return s
 11916  }
 11917  
 11918  // SetParallelismPerKPU sets the ParallelismPerKPU field's value.
 11919  func (s *ParallelismConfigurationDescription) SetParallelismPerKPU(v int64) *ParallelismConfigurationDescription {
 11920  	s.ParallelismPerKPU = &v
 11921  	return s
 11922  }
 11923  
 11924  // Describes updates to parameters for how an application executes multiple
 11925  // tasks simultaneously.
 11926  type ParallelismConfigurationUpdate struct {
 11927  	_ struct{} `type:"structure"`
 11928  
 11929  	// Describes updates to whether the Kinesis Data Analytics service can increase
 11930  	// the parallelism of a Flink-based Kinesis Data Analytics application in response
 11931  	// to increased throughput.
 11932  	AutoScalingEnabledUpdate *bool `type:"boolean"`
 11933  
 11934  	// Describes updates to whether the application uses the default parallelism
 11935  	// for the Kinesis Data Analytics service, or if a custom parallelism is used.
 11936  	// You must set this property to CUSTOM in order to change your application's
 11937  	// AutoScalingEnabled, Parallelism, or ParallelismPerKPU properties.
 11938  	ConfigurationTypeUpdate *string `type:"string" enum:"ConfigurationType"`
 11939  
 11940  	// Describes updates to the number of parallel tasks an application can perform
 11941  	// per Kinesis Processing Unit (KPU) used by the application.
 11942  	ParallelismPerKPUUpdate *int64 `min:"1" type:"integer"`
 11943  
 11944  	// Describes updates to the initial number of parallel tasks an application
 11945  	// can perform. If AutoScalingEnabled is set to True, then Kinesis Data Analytics
 11946  	// can increase the CurrentParallelism value in response to application load.
 11947  	// The service can increase CurrentParallelism up to the maximum parallelism,
 11948  	// which is ParalellismPerKPU times the maximum KPUs for the application. The
 11949  	// maximum KPUs for an application is 32 by default, and can be increased by
 11950  	// requesting a limit increase. If application load is reduced, the service
 11951  	// will reduce CurrentParallelism down to the Parallelism setting.
 11952  	ParallelismUpdate *int64 `min:"1" type:"integer"`
 11953  }
 11954  
 11955  // String returns the string representation.
 11956  //
 11957  // API parameter values that are decorated as "sensitive" in the API will not
 11958  // be included in the string output. The member name will be present, but the
 11959  // value will be replaced with "sensitive".
 11960  func (s ParallelismConfigurationUpdate) String() string {
 11961  	return awsutil.Prettify(s)
 11962  }
 11963  
 11964  // GoString returns the string representation.
 11965  //
 11966  // API parameter values that are decorated as "sensitive" in the API will not
 11967  // be included in the string output. The member name will be present, but the
 11968  // value will be replaced with "sensitive".
 11969  func (s ParallelismConfigurationUpdate) GoString() string {
 11970  	return s.String()
 11971  }
 11972  
 11973  // Validate inspects the fields of the type to determine if they are valid.
 11974  func (s *ParallelismConfigurationUpdate) Validate() error {
 11975  	invalidParams := request.ErrInvalidParams{Context: "ParallelismConfigurationUpdate"}
 11976  	if s.ParallelismPerKPUUpdate != nil && *s.ParallelismPerKPUUpdate < 1 {
 11977  		invalidParams.Add(request.NewErrParamMinValue("ParallelismPerKPUUpdate", 1))
 11978  	}
 11979  	if s.ParallelismUpdate != nil && *s.ParallelismUpdate < 1 {
 11980  		invalidParams.Add(request.NewErrParamMinValue("ParallelismUpdate", 1))
 11981  	}
 11982  
 11983  	if invalidParams.Len() > 0 {
 11984  		return invalidParams
 11985  	}
 11986  	return nil
 11987  }
 11988  
 11989  // SetAutoScalingEnabledUpdate sets the AutoScalingEnabledUpdate field's value.
 11990  func (s *ParallelismConfigurationUpdate) SetAutoScalingEnabledUpdate(v bool) *ParallelismConfigurationUpdate {
 11991  	s.AutoScalingEnabledUpdate = &v
 11992  	return s
 11993  }
 11994  
 11995  // SetConfigurationTypeUpdate sets the ConfigurationTypeUpdate field's value.
 11996  func (s *ParallelismConfigurationUpdate) SetConfigurationTypeUpdate(v string) *ParallelismConfigurationUpdate {
 11997  	s.ConfigurationTypeUpdate = &v
 11998  	return s
 11999  }
 12000  
 12001  // SetParallelismPerKPUUpdate sets the ParallelismPerKPUUpdate field's value.
 12002  func (s *ParallelismConfigurationUpdate) SetParallelismPerKPUUpdate(v int64) *ParallelismConfigurationUpdate {
 12003  	s.ParallelismPerKPUUpdate = &v
 12004  	return s
 12005  }
 12006  
 12007  // SetParallelismUpdate sets the ParallelismUpdate field's value.
 12008  func (s *ParallelismConfigurationUpdate) SetParallelismUpdate(v int64) *ParallelismConfigurationUpdate {
 12009  	s.ParallelismUpdate = &v
 12010  	return s
 12011  }
 12012  
 12013  // Property key-value pairs passed into an application.
 12014  type PropertyGroup struct {
 12015  	_ struct{} `type:"structure"`
 12016  
 12017  	// Describes the key of an application execution property key-value pair.
 12018  	//
 12019  	// PropertyGroupId is a required field
 12020  	PropertyGroupId *string `min:"1" type:"string" required:"true"`
 12021  
 12022  	// Describes the value of an application execution property key-value pair.
 12023  	//
 12024  	// PropertyMap is a required field
 12025  	PropertyMap map[string]*string `min:"1" type:"map" required:"true"`
 12026  }
 12027  
 12028  // String returns the string representation.
 12029  //
 12030  // API parameter values that are decorated as "sensitive" in the API will not
 12031  // be included in the string output. The member name will be present, but the
 12032  // value will be replaced with "sensitive".
 12033  func (s PropertyGroup) String() string {
 12034  	return awsutil.Prettify(s)
 12035  }
 12036  
 12037  // GoString returns the string representation.
 12038  //
 12039  // API parameter values that are decorated as "sensitive" in the API will not
 12040  // be included in the string output. The member name will be present, but the
 12041  // value will be replaced with "sensitive".
 12042  func (s PropertyGroup) GoString() string {
 12043  	return s.String()
 12044  }
 12045  
 12046  // Validate inspects the fields of the type to determine if they are valid.
 12047  func (s *PropertyGroup) Validate() error {
 12048  	invalidParams := request.ErrInvalidParams{Context: "PropertyGroup"}
 12049  	if s.PropertyGroupId == nil {
 12050  		invalidParams.Add(request.NewErrParamRequired("PropertyGroupId"))
 12051  	}
 12052  	if s.PropertyGroupId != nil && len(*s.PropertyGroupId) < 1 {
 12053  		invalidParams.Add(request.NewErrParamMinLen("PropertyGroupId", 1))
 12054  	}
 12055  	if s.PropertyMap == nil {
 12056  		invalidParams.Add(request.NewErrParamRequired("PropertyMap"))
 12057  	}
 12058  	if s.PropertyMap != nil && len(s.PropertyMap) < 1 {
 12059  		invalidParams.Add(request.NewErrParamMinLen("PropertyMap", 1))
 12060  	}
 12061  
 12062  	if invalidParams.Len() > 0 {
 12063  		return invalidParams
 12064  	}
 12065  	return nil
 12066  }
 12067  
 12068  // SetPropertyGroupId sets the PropertyGroupId field's value.
 12069  func (s *PropertyGroup) SetPropertyGroupId(v string) *PropertyGroup {
 12070  	s.PropertyGroupId = &v
 12071  	return s
 12072  }
 12073  
 12074  // SetPropertyMap sets the PropertyMap field's value.
 12075  func (s *PropertyGroup) SetPropertyMap(v map[string]*string) *PropertyGroup {
 12076  	s.PropertyMap = v
 12077  	return s
 12078  }
 12079  
 12080  // For a SQL-based Kinesis Data Analytics application, describes the mapping
 12081  // of each data element in the streaming source to the corresponding column
 12082  // in the in-application stream.
 12083  //
 12084  // Also used to describe the format of the reference data source.
 12085  type RecordColumn struct {
 12086  	_ struct{} `type:"structure"`
 12087  
 12088  	// A reference to the data element in the streaming input or the reference data
 12089  	// source.
 12090  	Mapping *string `type:"string"`
 12091  
 12092  	// The name of the column that is created in the in-application input stream
 12093  	// or reference table.
 12094  	//
 12095  	// Name is a required field
 12096  	Name *string `min:"1" type:"string" required:"true"`
 12097  
 12098  	// The type of column created in the in-application input stream or reference
 12099  	// table.
 12100  	//
 12101  	// SqlType is a required field
 12102  	SqlType *string `min:"1" type:"string" required:"true"`
 12103  }
 12104  
 12105  // String returns the string representation.
 12106  //
 12107  // API parameter values that are decorated as "sensitive" in the API will not
 12108  // be included in the string output. The member name will be present, but the
 12109  // value will be replaced with "sensitive".
 12110  func (s RecordColumn) String() string {
 12111  	return awsutil.Prettify(s)
 12112  }
 12113  
 12114  // GoString returns the string representation.
 12115  //
 12116  // API parameter values that are decorated as "sensitive" in the API will not
 12117  // be included in the string output. The member name will be present, but the
 12118  // value will be replaced with "sensitive".
 12119  func (s RecordColumn) GoString() string {
 12120  	return s.String()
 12121  }
 12122  
 12123  // Validate inspects the fields of the type to determine if they are valid.
 12124  func (s *RecordColumn) Validate() error {
 12125  	invalidParams := request.ErrInvalidParams{Context: "RecordColumn"}
 12126  	if s.Name == nil {
 12127  		invalidParams.Add(request.NewErrParamRequired("Name"))
 12128  	}
 12129  	if s.Name != nil && len(*s.Name) < 1 {
 12130  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 12131  	}
 12132  	if s.SqlType == nil {
 12133  		invalidParams.Add(request.NewErrParamRequired("SqlType"))
 12134  	}
 12135  	if s.SqlType != nil && len(*s.SqlType) < 1 {
 12136  		invalidParams.Add(request.NewErrParamMinLen("SqlType", 1))
 12137  	}
 12138  
 12139  	if invalidParams.Len() > 0 {
 12140  		return invalidParams
 12141  	}
 12142  	return nil
 12143  }
 12144  
 12145  // SetMapping sets the Mapping field's value.
 12146  func (s *RecordColumn) SetMapping(v string) *RecordColumn {
 12147  	s.Mapping = &v
 12148  	return s
 12149  }
 12150  
 12151  // SetName sets the Name field's value.
 12152  func (s *RecordColumn) SetName(v string) *RecordColumn {
 12153  	s.Name = &v
 12154  	return s
 12155  }
 12156  
 12157  // SetSqlType sets the SqlType field's value.
 12158  func (s *RecordColumn) SetSqlType(v string) *RecordColumn {
 12159  	s.SqlType = &v
 12160  	return s
 12161  }
 12162  
 12163  // For a SQL-based Kinesis Data Analytics application, describes the record
 12164  // format and relevant mapping information that should be applied to schematize
 12165  // the records on the stream.
 12166  type RecordFormat struct {
 12167  	_ struct{} `type:"structure"`
 12168  
 12169  	// When you configure application input at the time of creating or updating
 12170  	// an application, provides additional mapping information specific to the record
 12171  	// format (such as JSON, CSV, or record fields delimited by some delimiter)
 12172  	// on the streaming source.
 12173  	MappingParameters *MappingParameters `type:"structure"`
 12174  
 12175  	// The type of record format.
 12176  	//
 12177  	// RecordFormatType is a required field
 12178  	RecordFormatType *string `type:"string" required:"true" enum:"RecordFormatType"`
 12179  }
 12180  
 12181  // String returns the string representation.
 12182  //
 12183  // API parameter values that are decorated as "sensitive" in the API will not
 12184  // be included in the string output. The member name will be present, but the
 12185  // value will be replaced with "sensitive".
 12186  func (s RecordFormat) String() string {
 12187  	return awsutil.Prettify(s)
 12188  }
 12189  
 12190  // GoString returns the string representation.
 12191  //
 12192  // API parameter values that are decorated as "sensitive" in the API will not
 12193  // be included in the string output. The member name will be present, but the
 12194  // value will be replaced with "sensitive".
 12195  func (s RecordFormat) GoString() string {
 12196  	return s.String()
 12197  }
 12198  
 12199  // Validate inspects the fields of the type to determine if they are valid.
 12200  func (s *RecordFormat) Validate() error {
 12201  	invalidParams := request.ErrInvalidParams{Context: "RecordFormat"}
 12202  	if s.RecordFormatType == nil {
 12203  		invalidParams.Add(request.NewErrParamRequired("RecordFormatType"))
 12204  	}
 12205  	if s.MappingParameters != nil {
 12206  		if err := s.MappingParameters.Validate(); err != nil {
 12207  			invalidParams.AddNested("MappingParameters", err.(request.ErrInvalidParams))
 12208  		}
 12209  	}
 12210  
 12211  	if invalidParams.Len() > 0 {
 12212  		return invalidParams
 12213  	}
 12214  	return nil
 12215  }
 12216  
 12217  // SetMappingParameters sets the MappingParameters field's value.
 12218  func (s *RecordFormat) SetMappingParameters(v *MappingParameters) *RecordFormat {
 12219  	s.MappingParameters = v
 12220  	return s
 12221  }
 12222  
 12223  // SetRecordFormatType sets the RecordFormatType field's value.
 12224  func (s *RecordFormat) SetRecordFormatType(v string) *RecordFormat {
 12225  	s.RecordFormatType = &v
 12226  	return s
 12227  }
 12228  
 12229  // For a SQL-based Kinesis Data Analytics application, describes the reference
 12230  // data source by providing the source information (Amazon S3 bucket name and
 12231  // object key name), the resulting in-application table name that is created,
 12232  // and the necessary schema to map the data elements in the Amazon S3 object
 12233  // to the in-application table.
 12234  type ReferenceDataSource struct {
 12235  	_ struct{} `type:"structure"`
 12236  
 12237  	// Describes the format of the data in the streaming source, and how each data
 12238  	// element maps to corresponding columns created in the in-application stream.
 12239  	//
 12240  	// ReferenceSchema is a required field
 12241  	ReferenceSchema *SourceSchema `type:"structure" required:"true"`
 12242  
 12243  	// Identifies the S3 bucket and object that contains the reference data. A Kinesis
 12244  	// Data Analytics application loads reference data only once. If the data changes,
 12245  	// you call the UpdateApplication operation to trigger reloading of data into
 12246  	// your application.
 12247  	S3ReferenceDataSource *S3ReferenceDataSource `type:"structure"`
 12248  
 12249  	// The name of the in-application table to create.
 12250  	//
 12251  	// TableName is a required field
 12252  	TableName *string `min:"1" type:"string" required:"true"`
 12253  }
 12254  
 12255  // String returns the string representation.
 12256  //
 12257  // API parameter values that are decorated as "sensitive" in the API will not
 12258  // be included in the string output. The member name will be present, but the
 12259  // value will be replaced with "sensitive".
 12260  func (s ReferenceDataSource) String() string {
 12261  	return awsutil.Prettify(s)
 12262  }
 12263  
 12264  // GoString returns the string representation.
 12265  //
 12266  // API parameter values that are decorated as "sensitive" in the API will not
 12267  // be included in the string output. The member name will be present, but the
 12268  // value will be replaced with "sensitive".
 12269  func (s ReferenceDataSource) GoString() string {
 12270  	return s.String()
 12271  }
 12272  
 12273  // Validate inspects the fields of the type to determine if they are valid.
 12274  func (s *ReferenceDataSource) Validate() error {
 12275  	invalidParams := request.ErrInvalidParams{Context: "ReferenceDataSource"}
 12276  	if s.ReferenceSchema == nil {
 12277  		invalidParams.Add(request.NewErrParamRequired("ReferenceSchema"))
 12278  	}
 12279  	if s.TableName == nil {
 12280  		invalidParams.Add(request.NewErrParamRequired("TableName"))
 12281  	}
 12282  	if s.TableName != nil && len(*s.TableName) < 1 {
 12283  		invalidParams.Add(request.NewErrParamMinLen("TableName", 1))
 12284  	}
 12285  	if s.ReferenceSchema != nil {
 12286  		if err := s.ReferenceSchema.Validate(); err != nil {
 12287  			invalidParams.AddNested("ReferenceSchema", err.(request.ErrInvalidParams))
 12288  		}
 12289  	}
 12290  	if s.S3ReferenceDataSource != nil {
 12291  		if err := s.S3ReferenceDataSource.Validate(); err != nil {
 12292  			invalidParams.AddNested("S3ReferenceDataSource", err.(request.ErrInvalidParams))
 12293  		}
 12294  	}
 12295  
 12296  	if invalidParams.Len() > 0 {
 12297  		return invalidParams
 12298  	}
 12299  	return nil
 12300  }
 12301  
 12302  // SetReferenceSchema sets the ReferenceSchema field's value.
 12303  func (s *ReferenceDataSource) SetReferenceSchema(v *SourceSchema) *ReferenceDataSource {
 12304  	s.ReferenceSchema = v
 12305  	return s
 12306  }
 12307  
 12308  // SetS3ReferenceDataSource sets the S3ReferenceDataSource field's value.
 12309  func (s *ReferenceDataSource) SetS3ReferenceDataSource(v *S3ReferenceDataSource) *ReferenceDataSource {
 12310  	s.S3ReferenceDataSource = v
 12311  	return s
 12312  }
 12313  
 12314  // SetTableName sets the TableName field's value.
 12315  func (s *ReferenceDataSource) SetTableName(v string) *ReferenceDataSource {
 12316  	s.TableName = &v
 12317  	return s
 12318  }
 12319  
 12320  // For a SQL-based Kinesis Data Analytics application, describes the reference
 12321  // data source configured for an application.
 12322  type ReferenceDataSourceDescription struct {
 12323  	_ struct{} `type:"structure"`
 12324  
 12325  	// The ID of the reference data source. This is the ID that Kinesis Data Analytics
 12326  	// assigns when you add the reference data source to your application using
 12327  	// the CreateApplication or UpdateApplication operation.
 12328  	//
 12329  	// ReferenceId is a required field
 12330  	ReferenceId *string `min:"1" type:"string" required:"true"`
 12331  
 12332  	// Describes the format of the data in the streaming source, and how each data
 12333  	// element maps to corresponding columns created in the in-application stream.
 12334  	ReferenceSchema *SourceSchema `type:"structure"`
 12335  
 12336  	// Provides the Amazon S3 bucket name, the object key name that contains the
 12337  	// reference data.
 12338  	//
 12339  	// S3ReferenceDataSourceDescription is a required field
 12340  	S3ReferenceDataSourceDescription *S3ReferenceDataSourceDescription `type:"structure" required:"true"`
 12341  
 12342  	// The in-application table name created by the specific reference data source
 12343  	// configuration.
 12344  	//
 12345  	// TableName is a required field
 12346  	TableName *string `min:"1" type:"string" required:"true"`
 12347  }
 12348  
 12349  // String returns the string representation.
 12350  //
 12351  // API parameter values that are decorated as "sensitive" in the API will not
 12352  // be included in the string output. The member name will be present, but the
 12353  // value will be replaced with "sensitive".
 12354  func (s ReferenceDataSourceDescription) String() string {
 12355  	return awsutil.Prettify(s)
 12356  }
 12357  
 12358  // GoString returns the string representation.
 12359  //
 12360  // API parameter values that are decorated as "sensitive" in the API will not
 12361  // be included in the string output. The member name will be present, but the
 12362  // value will be replaced with "sensitive".
 12363  func (s ReferenceDataSourceDescription) GoString() string {
 12364  	return s.String()
 12365  }
 12366  
 12367  // SetReferenceId sets the ReferenceId field's value.
 12368  func (s *ReferenceDataSourceDescription) SetReferenceId(v string) *ReferenceDataSourceDescription {
 12369  	s.ReferenceId = &v
 12370  	return s
 12371  }
 12372  
 12373  // SetReferenceSchema sets the ReferenceSchema field's value.
 12374  func (s *ReferenceDataSourceDescription) SetReferenceSchema(v *SourceSchema) *ReferenceDataSourceDescription {
 12375  	s.ReferenceSchema = v
 12376  	return s
 12377  }
 12378  
 12379  // SetS3ReferenceDataSourceDescription sets the S3ReferenceDataSourceDescription field's value.
 12380  func (s *ReferenceDataSourceDescription) SetS3ReferenceDataSourceDescription(v *S3ReferenceDataSourceDescription) *ReferenceDataSourceDescription {
 12381  	s.S3ReferenceDataSourceDescription = v
 12382  	return s
 12383  }
 12384  
 12385  // SetTableName sets the TableName field's value.
 12386  func (s *ReferenceDataSourceDescription) SetTableName(v string) *ReferenceDataSourceDescription {
 12387  	s.TableName = &v
 12388  	return s
 12389  }
 12390  
 12391  // When you update a reference data source configuration for a SQL-based Kinesis
 12392  // Data Analytics application, this object provides all the updated values (such
 12393  // as the source bucket name and object key name), the in-application table
 12394  // name that is created, and updated mapping information that maps the data
 12395  // in the Amazon S3 object to the in-application reference table that is created.
 12396  type ReferenceDataSourceUpdate struct {
 12397  	_ struct{} `type:"structure"`
 12398  
 12399  	// The ID of the reference data source that is being updated. You can use the
 12400  	// DescribeApplication operation to get this value.
 12401  	//
 12402  	// ReferenceId is a required field
 12403  	ReferenceId *string `min:"1" type:"string" required:"true"`
 12404  
 12405  	// Describes the format of the data in the streaming source, and how each data
 12406  	// element maps to corresponding columns created in the in-application stream.
 12407  	ReferenceSchemaUpdate *SourceSchema `type:"structure"`
 12408  
 12409  	// Describes the S3 bucket name, object key name, and IAM role that Kinesis
 12410  	// Data Analytics can assume to read the Amazon S3 object on your behalf and
 12411  	// populate the in-application reference table.
 12412  	S3ReferenceDataSourceUpdate *S3ReferenceDataSourceUpdate `type:"structure"`
 12413  
 12414  	// The in-application table name that is created by this update.
 12415  	TableNameUpdate *string `min:"1" type:"string"`
 12416  }
 12417  
 12418  // String returns the string representation.
 12419  //
 12420  // API parameter values that are decorated as "sensitive" in the API will not
 12421  // be included in the string output. The member name will be present, but the
 12422  // value will be replaced with "sensitive".
 12423  func (s ReferenceDataSourceUpdate) String() string {
 12424  	return awsutil.Prettify(s)
 12425  }
 12426  
 12427  // GoString returns the string representation.
 12428  //
 12429  // API parameter values that are decorated as "sensitive" in the API will not
 12430  // be included in the string output. The member name will be present, but the
 12431  // value will be replaced with "sensitive".
 12432  func (s ReferenceDataSourceUpdate) GoString() string {
 12433  	return s.String()
 12434  }
 12435  
 12436  // Validate inspects the fields of the type to determine if they are valid.
 12437  func (s *ReferenceDataSourceUpdate) Validate() error {
 12438  	invalidParams := request.ErrInvalidParams{Context: "ReferenceDataSourceUpdate"}
 12439  	if s.ReferenceId == nil {
 12440  		invalidParams.Add(request.NewErrParamRequired("ReferenceId"))
 12441  	}
 12442  	if s.ReferenceId != nil && len(*s.ReferenceId) < 1 {
 12443  		invalidParams.Add(request.NewErrParamMinLen("ReferenceId", 1))
 12444  	}
 12445  	if s.TableNameUpdate != nil && len(*s.TableNameUpdate) < 1 {
 12446  		invalidParams.Add(request.NewErrParamMinLen("TableNameUpdate", 1))
 12447  	}
 12448  	if s.ReferenceSchemaUpdate != nil {
 12449  		if err := s.ReferenceSchemaUpdate.Validate(); err != nil {
 12450  			invalidParams.AddNested("ReferenceSchemaUpdate", err.(request.ErrInvalidParams))
 12451  		}
 12452  	}
 12453  	if s.S3ReferenceDataSourceUpdate != nil {
 12454  		if err := s.S3ReferenceDataSourceUpdate.Validate(); err != nil {
 12455  			invalidParams.AddNested("S3ReferenceDataSourceUpdate", err.(request.ErrInvalidParams))
 12456  		}
 12457  	}
 12458  
 12459  	if invalidParams.Len() > 0 {
 12460  		return invalidParams
 12461  	}
 12462  	return nil
 12463  }
 12464  
 12465  // SetReferenceId sets the ReferenceId field's value.
 12466  func (s *ReferenceDataSourceUpdate) SetReferenceId(v string) *ReferenceDataSourceUpdate {
 12467  	s.ReferenceId = &v
 12468  	return s
 12469  }
 12470  
 12471  // SetReferenceSchemaUpdate sets the ReferenceSchemaUpdate field's value.
 12472  func (s *ReferenceDataSourceUpdate) SetReferenceSchemaUpdate(v *SourceSchema) *ReferenceDataSourceUpdate {
 12473  	s.ReferenceSchemaUpdate = v
 12474  	return s
 12475  }
 12476  
 12477  // SetS3ReferenceDataSourceUpdate sets the S3ReferenceDataSourceUpdate field's value.
 12478  func (s *ReferenceDataSourceUpdate) SetS3ReferenceDataSourceUpdate(v *S3ReferenceDataSourceUpdate) *ReferenceDataSourceUpdate {
 12479  	s.S3ReferenceDataSourceUpdate = v
 12480  	return s
 12481  }
 12482  
 12483  // SetTableNameUpdate sets the TableNameUpdate field's value.
 12484  func (s *ReferenceDataSourceUpdate) SetTableNameUpdate(v string) *ReferenceDataSourceUpdate {
 12485  	s.TableNameUpdate = &v
 12486  	return s
 12487  }
 12488  
 12489  // The application is not available for this operation.
 12490  type ResourceInUseException struct {
 12491  	_            struct{}                  `type:"structure"`
 12492  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12493  
 12494  	Message_ *string `locationName:"Message" type:"string"`
 12495  }
 12496  
 12497  // String returns the string representation.
 12498  //
 12499  // API parameter values that are decorated as "sensitive" in the API will not
 12500  // be included in the string output. The member name will be present, but the
 12501  // value will be replaced with "sensitive".
 12502  func (s ResourceInUseException) String() string {
 12503  	return awsutil.Prettify(s)
 12504  }
 12505  
 12506  // GoString returns the string representation.
 12507  //
 12508  // API parameter values that are decorated as "sensitive" in the API will not
 12509  // be included in the string output. The member name will be present, but the
 12510  // value will be replaced with "sensitive".
 12511  func (s ResourceInUseException) GoString() string {
 12512  	return s.String()
 12513  }
 12514  
 12515  func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
 12516  	return &ResourceInUseException{
 12517  		RespMetadata: v,
 12518  	}
 12519  }
 12520  
 12521  // Code returns the exception type name.
 12522  func (s *ResourceInUseException) Code() string {
 12523  	return "ResourceInUseException"
 12524  }
 12525  
 12526  // Message returns the exception's message.
 12527  func (s *ResourceInUseException) Message() string {
 12528  	if s.Message_ != nil {
 12529  		return *s.Message_
 12530  	}
 12531  	return ""
 12532  }
 12533  
 12534  // OrigErr always returns nil, satisfies awserr.Error interface.
 12535  func (s *ResourceInUseException) OrigErr() error {
 12536  	return nil
 12537  }
 12538  
 12539  func (s *ResourceInUseException) Error() string {
 12540  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12541  }
 12542  
 12543  // Status code returns the HTTP status code for the request's response error.
 12544  func (s *ResourceInUseException) StatusCode() int {
 12545  	return s.RespMetadata.StatusCode
 12546  }
 12547  
 12548  // RequestID returns the service's response RequestID for request.
 12549  func (s *ResourceInUseException) RequestID() string {
 12550  	return s.RespMetadata.RequestID
 12551  }
 12552  
 12553  // Specified application can't be found.
 12554  type ResourceNotFoundException struct {
 12555  	_            struct{}                  `type:"structure"`
 12556  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12557  
 12558  	Message_ *string `locationName:"Message" type:"string"`
 12559  }
 12560  
 12561  // String returns the string representation.
 12562  //
 12563  // API parameter values that are decorated as "sensitive" in the API will not
 12564  // be included in the string output. The member name will be present, but the
 12565  // value will be replaced with "sensitive".
 12566  func (s ResourceNotFoundException) String() string {
 12567  	return awsutil.Prettify(s)
 12568  }
 12569  
 12570  // GoString returns the string representation.
 12571  //
 12572  // API parameter values that are decorated as "sensitive" in the API will not
 12573  // be included in the string output. The member name will be present, but the
 12574  // value will be replaced with "sensitive".
 12575  func (s ResourceNotFoundException) GoString() string {
 12576  	return s.String()
 12577  }
 12578  
 12579  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
 12580  	return &ResourceNotFoundException{
 12581  		RespMetadata: v,
 12582  	}
 12583  }
 12584  
 12585  // Code returns the exception type name.
 12586  func (s *ResourceNotFoundException) Code() string {
 12587  	return "ResourceNotFoundException"
 12588  }
 12589  
 12590  // Message returns the exception's message.
 12591  func (s *ResourceNotFoundException) Message() string {
 12592  	if s.Message_ != nil {
 12593  		return *s.Message_
 12594  	}
 12595  	return ""
 12596  }
 12597  
 12598  // OrigErr always returns nil, satisfies awserr.Error interface.
 12599  func (s *ResourceNotFoundException) OrigErr() error {
 12600  	return nil
 12601  }
 12602  
 12603  func (s *ResourceNotFoundException) Error() string {
 12604  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12605  }
 12606  
 12607  // Status code returns the HTTP status code for the request's response error.
 12608  func (s *ResourceNotFoundException) StatusCode() int {
 12609  	return s.RespMetadata.StatusCode
 12610  }
 12611  
 12612  // RequestID returns the service's response RequestID for request.
 12613  func (s *ResourceNotFoundException) RequestID() string {
 12614  	return s.RespMetadata.RequestID
 12615  }
 12616  
 12617  // Discovery failed to get a record from the streaming source because of the
 12618  // Kinesis Streams ProvisionedThroughputExceededException. For more information,
 12619  // see GetRecords (http://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetRecords.html)
 12620  // in the Amazon Kinesis Streams API Reference.
 12621  type ResourceProvisionedThroughputExceededException struct {
 12622  	_            struct{}                  `type:"structure"`
 12623  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12624  
 12625  	Message_ *string `locationName:"Message" type:"string"`
 12626  }
 12627  
 12628  // String returns the string representation.
 12629  //
 12630  // API parameter values that are decorated as "sensitive" in the API will not
 12631  // be included in the string output. The member name will be present, but the
 12632  // value will be replaced with "sensitive".
 12633  func (s ResourceProvisionedThroughputExceededException) String() string {
 12634  	return awsutil.Prettify(s)
 12635  }
 12636  
 12637  // GoString returns the string representation.
 12638  //
 12639  // API parameter values that are decorated as "sensitive" in the API will not
 12640  // be included in the string output. The member name will be present, but the
 12641  // value will be replaced with "sensitive".
 12642  func (s ResourceProvisionedThroughputExceededException) GoString() string {
 12643  	return s.String()
 12644  }
 12645  
 12646  func newErrorResourceProvisionedThroughputExceededException(v protocol.ResponseMetadata) error {
 12647  	return &ResourceProvisionedThroughputExceededException{
 12648  		RespMetadata: v,
 12649  	}
 12650  }
 12651  
 12652  // Code returns the exception type name.
 12653  func (s *ResourceProvisionedThroughputExceededException) Code() string {
 12654  	return "ResourceProvisionedThroughputExceededException"
 12655  }
 12656  
 12657  // Message returns the exception's message.
 12658  func (s *ResourceProvisionedThroughputExceededException) Message() string {
 12659  	if s.Message_ != nil {
 12660  		return *s.Message_
 12661  	}
 12662  	return ""
 12663  }
 12664  
 12665  // OrigErr always returns nil, satisfies awserr.Error interface.
 12666  func (s *ResourceProvisionedThroughputExceededException) OrigErr() error {
 12667  	return nil
 12668  }
 12669  
 12670  func (s *ResourceProvisionedThroughputExceededException) Error() string {
 12671  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12672  }
 12673  
 12674  // Status code returns the HTTP status code for the request's response error.
 12675  func (s *ResourceProvisionedThroughputExceededException) StatusCode() int {
 12676  	return s.RespMetadata.StatusCode
 12677  }
 12678  
 12679  // RequestID returns the service's response RequestID for request.
 12680  func (s *ResourceProvisionedThroughputExceededException) RequestID() string {
 12681  	return s.RespMetadata.RequestID
 12682  }
 12683  
 12684  type RollbackApplicationInput struct {
 12685  	_ struct{} `type:"structure"`
 12686  
 12687  	// The name of the application.
 12688  	//
 12689  	// ApplicationName is a required field
 12690  	ApplicationName *string `min:"1" type:"string" required:"true"`
 12691  
 12692  	// The current application version ID. You can retrieve the application version
 12693  	// ID using DescribeApplication.
 12694  	//
 12695  	// CurrentApplicationVersionId is a required field
 12696  	CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"`
 12697  }
 12698  
 12699  // String returns the string representation.
 12700  //
 12701  // API parameter values that are decorated as "sensitive" in the API will not
 12702  // be included in the string output. The member name will be present, but the
 12703  // value will be replaced with "sensitive".
 12704  func (s RollbackApplicationInput) String() string {
 12705  	return awsutil.Prettify(s)
 12706  }
 12707  
 12708  // GoString returns the string representation.
 12709  //
 12710  // API parameter values that are decorated as "sensitive" in the API will not
 12711  // be included in the string output. The member name will be present, but the
 12712  // value will be replaced with "sensitive".
 12713  func (s RollbackApplicationInput) GoString() string {
 12714  	return s.String()
 12715  }
 12716  
 12717  // Validate inspects the fields of the type to determine if they are valid.
 12718  func (s *RollbackApplicationInput) Validate() error {
 12719  	invalidParams := request.ErrInvalidParams{Context: "RollbackApplicationInput"}
 12720  	if s.ApplicationName == nil {
 12721  		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
 12722  	}
 12723  	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
 12724  		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
 12725  	}
 12726  	if s.CurrentApplicationVersionId == nil {
 12727  		invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId"))
 12728  	}
 12729  	if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 {
 12730  		invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1))
 12731  	}
 12732  
 12733  	if invalidParams.Len() > 0 {
 12734  		return invalidParams
 12735  	}
 12736  	return nil
 12737  }
 12738  
 12739  // SetApplicationName sets the ApplicationName field's value.
 12740  func (s *RollbackApplicationInput) SetApplicationName(v string) *RollbackApplicationInput {
 12741  	s.ApplicationName = &v
 12742  	return s
 12743  }
 12744  
 12745  // SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value.
 12746  func (s *RollbackApplicationInput) SetCurrentApplicationVersionId(v int64) *RollbackApplicationInput {
 12747  	s.CurrentApplicationVersionId = &v
 12748  	return s
 12749  }
 12750  
 12751  type RollbackApplicationOutput struct {
 12752  	_ struct{} `type:"structure"`
 12753  
 12754  	// Describes the application, including the application Amazon Resource Name
 12755  	// (ARN), status, latest version, and input and output configurations.
 12756  	//
 12757  	// ApplicationDetail is a required field
 12758  	ApplicationDetail *ApplicationDetail `type:"structure" required:"true"`
 12759  }
 12760  
 12761  // String returns the string representation.
 12762  //
 12763  // API parameter values that are decorated as "sensitive" in the API will not
 12764  // be included in the string output. The member name will be present, but the
 12765  // value will be replaced with "sensitive".
 12766  func (s RollbackApplicationOutput) String() string {
 12767  	return awsutil.Prettify(s)
 12768  }
 12769  
 12770  // GoString returns the string representation.
 12771  //
 12772  // API parameter values that are decorated as "sensitive" in the API will not
 12773  // be included in the string output. The member name will be present, but the
 12774  // value will be replaced with "sensitive".
 12775  func (s RollbackApplicationOutput) GoString() string {
 12776  	return s.String()
 12777  }
 12778  
 12779  // SetApplicationDetail sets the ApplicationDetail field's value.
 12780  func (s *RollbackApplicationOutput) SetApplicationDetail(v *ApplicationDetail) *RollbackApplicationOutput {
 12781  	s.ApplicationDetail = v
 12782  	return s
 12783  }
 12784  
 12785  // Describes the starting parameters for an Kinesis Data Analytics application.
 12786  type RunConfiguration struct {
 12787  	_ struct{} `type:"structure"`
 12788  
 12789  	// Describes the restore behavior of a restarting application.
 12790  	ApplicationRestoreConfiguration *ApplicationRestoreConfiguration `type:"structure"`
 12791  
 12792  	// Describes the starting parameters for a Flink-based Kinesis Data Analytics
 12793  	// application.
 12794  	FlinkRunConfiguration *FlinkRunConfiguration `type:"structure"`
 12795  
 12796  	// Describes the starting parameters for a SQL-based Kinesis Data Analytics
 12797  	// application application.
 12798  	SqlRunConfigurations []*SqlRunConfiguration `type:"list"`
 12799  }
 12800  
 12801  // String returns the string representation.
 12802  //
 12803  // API parameter values that are decorated as "sensitive" in the API will not
 12804  // be included in the string output. The member name will be present, but the
 12805  // value will be replaced with "sensitive".
 12806  func (s RunConfiguration) String() string {
 12807  	return awsutil.Prettify(s)
 12808  }
 12809  
 12810  // GoString returns the string representation.
 12811  //
 12812  // API parameter values that are decorated as "sensitive" in the API will not
 12813  // be included in the string output. The member name will be present, but the
 12814  // value will be replaced with "sensitive".
 12815  func (s RunConfiguration) GoString() string {
 12816  	return s.String()
 12817  }
 12818  
 12819  // Validate inspects the fields of the type to determine if they are valid.
 12820  func (s *RunConfiguration) Validate() error {
 12821  	invalidParams := request.ErrInvalidParams{Context: "RunConfiguration"}
 12822  	if s.ApplicationRestoreConfiguration != nil {
 12823  		if err := s.ApplicationRestoreConfiguration.Validate(); err != nil {
 12824  			invalidParams.AddNested("ApplicationRestoreConfiguration", err.(request.ErrInvalidParams))
 12825  		}
 12826  	}
 12827  	if s.SqlRunConfigurations != nil {
 12828  		for i, v := range s.SqlRunConfigurations {
 12829  			if v == nil {
 12830  				continue
 12831  			}
 12832  			if err := v.Validate(); err != nil {
 12833  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SqlRunConfigurations", i), err.(request.ErrInvalidParams))
 12834  			}
 12835  		}
 12836  	}
 12837  
 12838  	if invalidParams.Len() > 0 {
 12839  		return invalidParams
 12840  	}
 12841  	return nil
 12842  }
 12843  
 12844  // SetApplicationRestoreConfiguration sets the ApplicationRestoreConfiguration field's value.
 12845  func (s *RunConfiguration) SetApplicationRestoreConfiguration(v *ApplicationRestoreConfiguration) *RunConfiguration {
 12846  	s.ApplicationRestoreConfiguration = v
 12847  	return s
 12848  }
 12849  
 12850  // SetFlinkRunConfiguration sets the FlinkRunConfiguration field's value.
 12851  func (s *RunConfiguration) SetFlinkRunConfiguration(v *FlinkRunConfiguration) *RunConfiguration {
 12852  	s.FlinkRunConfiguration = v
 12853  	return s
 12854  }
 12855  
 12856  // SetSqlRunConfigurations sets the SqlRunConfigurations field's value.
 12857  func (s *RunConfiguration) SetSqlRunConfigurations(v []*SqlRunConfiguration) *RunConfiguration {
 12858  	s.SqlRunConfigurations = v
 12859  	return s
 12860  }
 12861  
 12862  // Describes the starting properties for a Kinesis Data Analytics application.
 12863  type RunConfigurationDescription struct {
 12864  	_ struct{} `type:"structure"`
 12865  
 12866  	// Describes the restore behavior of a restarting application.
 12867  	ApplicationRestoreConfigurationDescription *ApplicationRestoreConfiguration `type:"structure"`
 12868  
 12869  	// Describes the starting parameters for a Flink-based Kinesis Data Analytics
 12870  	// application.
 12871  	FlinkRunConfigurationDescription *FlinkRunConfiguration `type:"structure"`
 12872  }
 12873  
 12874  // String returns the string representation.
 12875  //
 12876  // API parameter values that are decorated as "sensitive" in the API will not
 12877  // be included in the string output. The member name will be present, but the
 12878  // value will be replaced with "sensitive".
 12879  func (s RunConfigurationDescription) String() string {
 12880  	return awsutil.Prettify(s)
 12881  }
 12882  
 12883  // GoString returns the string representation.
 12884  //
 12885  // API parameter values that are decorated as "sensitive" in the API will not
 12886  // be included in the string output. The member name will be present, but the
 12887  // value will be replaced with "sensitive".
 12888  func (s RunConfigurationDescription) GoString() string {
 12889  	return s.String()
 12890  }
 12891  
 12892  // SetApplicationRestoreConfigurationDescription sets the ApplicationRestoreConfigurationDescription field's value.
 12893  func (s *RunConfigurationDescription) SetApplicationRestoreConfigurationDescription(v *ApplicationRestoreConfiguration) *RunConfigurationDescription {
 12894  	s.ApplicationRestoreConfigurationDescription = v
 12895  	return s
 12896  }
 12897  
 12898  // SetFlinkRunConfigurationDescription sets the FlinkRunConfigurationDescription field's value.
 12899  func (s *RunConfigurationDescription) SetFlinkRunConfigurationDescription(v *FlinkRunConfiguration) *RunConfigurationDescription {
 12900  	s.FlinkRunConfigurationDescription = v
 12901  	return s
 12902  }
 12903  
 12904  // Describes the updates to the starting parameters for a Kinesis Data Analytics
 12905  // application.
 12906  type RunConfigurationUpdate struct {
 12907  	_ struct{} `type:"structure"`
 12908  
 12909  	// Describes updates to the restore behavior of a restarting application.
 12910  	ApplicationRestoreConfiguration *ApplicationRestoreConfiguration `type:"structure"`
 12911  
 12912  	// Describes the starting parameters for a Flink-based Kinesis Data Analytics
 12913  	// application.
 12914  	FlinkRunConfiguration *FlinkRunConfiguration `type:"structure"`
 12915  }
 12916  
 12917  // String returns the string representation.
 12918  //
 12919  // API parameter values that are decorated as "sensitive" in the API will not
 12920  // be included in the string output. The member name will be present, but the
 12921  // value will be replaced with "sensitive".
 12922  func (s RunConfigurationUpdate) String() string {
 12923  	return awsutil.Prettify(s)
 12924  }
 12925  
 12926  // GoString returns the string representation.
 12927  //
 12928  // API parameter values that are decorated as "sensitive" in the API will not
 12929  // be included in the string output. The member name will be present, but the
 12930  // value will be replaced with "sensitive".
 12931  func (s RunConfigurationUpdate) GoString() string {
 12932  	return s.String()
 12933  }
 12934  
 12935  // Validate inspects the fields of the type to determine if they are valid.
 12936  func (s *RunConfigurationUpdate) Validate() error {
 12937  	invalidParams := request.ErrInvalidParams{Context: "RunConfigurationUpdate"}
 12938  	if s.ApplicationRestoreConfiguration != nil {
 12939  		if err := s.ApplicationRestoreConfiguration.Validate(); err != nil {
 12940  			invalidParams.AddNested("ApplicationRestoreConfiguration", err.(request.ErrInvalidParams))
 12941  		}
 12942  	}
 12943  
 12944  	if invalidParams.Len() > 0 {
 12945  		return invalidParams
 12946  	}
 12947  	return nil
 12948  }
 12949  
 12950  // SetApplicationRestoreConfiguration sets the ApplicationRestoreConfiguration field's value.
 12951  func (s *RunConfigurationUpdate) SetApplicationRestoreConfiguration(v *ApplicationRestoreConfiguration) *RunConfigurationUpdate {
 12952  	s.ApplicationRestoreConfiguration = v
 12953  	return s
 12954  }
 12955  
 12956  // SetFlinkRunConfiguration sets the FlinkRunConfiguration field's value.
 12957  func (s *RunConfigurationUpdate) SetFlinkRunConfiguration(v *FlinkRunConfiguration) *RunConfigurationUpdate {
 12958  	s.FlinkRunConfiguration = v
 12959  	return s
 12960  }
 12961  
 12962  // Describes the location of an application's code stored in an S3 bucket.
 12963  type S3ApplicationCodeLocationDescription struct {
 12964  	_ struct{} `type:"structure"`
 12965  
 12966  	// The Amazon Resource Name (ARN) for the S3 bucket containing the application
 12967  	// code.
 12968  	//
 12969  	// BucketARN is a required field
 12970  	BucketARN *string `min:"1" type:"string" required:"true"`
 12971  
 12972  	// The file key for the object containing the application code.
 12973  	//
 12974  	// FileKey is a required field
 12975  	FileKey *string `min:"1" type:"string" required:"true"`
 12976  
 12977  	// The version of the object containing the application code.
 12978  	ObjectVersion *string `type:"string"`
 12979  }
 12980  
 12981  // String returns the string representation.
 12982  //
 12983  // API parameter values that are decorated as "sensitive" in the API will not
 12984  // be included in the string output. The member name will be present, but the
 12985  // value will be replaced with "sensitive".
 12986  func (s S3ApplicationCodeLocationDescription) String() string {
 12987  	return awsutil.Prettify(s)
 12988  }
 12989  
 12990  // GoString returns the string representation.
 12991  //
 12992  // API parameter values that are decorated as "sensitive" in the API will not
 12993  // be included in the string output. The member name will be present, but the
 12994  // value will be replaced with "sensitive".
 12995  func (s S3ApplicationCodeLocationDescription) GoString() string {
 12996  	return s.String()
 12997  }
 12998  
 12999  // SetBucketARN sets the BucketARN field's value.
 13000  func (s *S3ApplicationCodeLocationDescription) SetBucketARN(v string) *S3ApplicationCodeLocationDescription {
 13001  	s.BucketARN = &v
 13002  	return s
 13003  }
 13004  
 13005  // SetFileKey sets the FileKey field's value.
 13006  func (s *S3ApplicationCodeLocationDescription) SetFileKey(v string) *S3ApplicationCodeLocationDescription {
 13007  	s.FileKey = &v
 13008  	return s
 13009  }
 13010  
 13011  // SetObjectVersion sets the ObjectVersion field's value.
 13012  func (s *S3ApplicationCodeLocationDescription) SetObjectVersion(v string) *S3ApplicationCodeLocationDescription {
 13013  	s.ObjectVersion = &v
 13014  	return s
 13015  }
 13016  
 13017  // For a SQL-based Kinesis Data Analytics application, provides a description
 13018  // of an Amazon S3 data source, including the Amazon Resource Name (ARN) of
 13019  // the S3 bucket and the name of the Amazon S3 object that contains the data.
 13020  type S3Configuration struct {
 13021  	_ struct{} `type:"structure"`
 13022  
 13023  	// The ARN of the S3 bucket that contains the data.
 13024  	//
 13025  	// BucketARN is a required field
 13026  	BucketARN *string `min:"1" type:"string" required:"true"`
 13027  
 13028  	// The name of the object that contains the data.
 13029  	//
 13030  	// FileKey is a required field
 13031  	FileKey *string `min:"1" type:"string" required:"true"`
 13032  }
 13033  
 13034  // String returns the string representation.
 13035  //
 13036  // API parameter values that are decorated as "sensitive" in the API will not
 13037  // be included in the string output. The member name will be present, but the
 13038  // value will be replaced with "sensitive".
 13039  func (s S3Configuration) String() string {
 13040  	return awsutil.Prettify(s)
 13041  }
 13042  
 13043  // GoString returns the string representation.
 13044  //
 13045  // API parameter values that are decorated as "sensitive" in the API will not
 13046  // be included in the string output. The member name will be present, but the
 13047  // value will be replaced with "sensitive".
 13048  func (s S3Configuration) GoString() string {
 13049  	return s.String()
 13050  }
 13051  
 13052  // Validate inspects the fields of the type to determine if they are valid.
 13053  func (s *S3Configuration) Validate() error {
 13054  	invalidParams := request.ErrInvalidParams{Context: "S3Configuration"}
 13055  	if s.BucketARN == nil {
 13056  		invalidParams.Add(request.NewErrParamRequired("BucketARN"))
 13057  	}
 13058  	if s.BucketARN != nil && len(*s.BucketARN) < 1 {
 13059  		invalidParams.Add(request.NewErrParamMinLen("BucketARN", 1))
 13060  	}
 13061  	if s.FileKey == nil {
 13062  		invalidParams.Add(request.NewErrParamRequired("FileKey"))
 13063  	}
 13064  	if s.FileKey != nil && len(*s.FileKey) < 1 {
 13065  		invalidParams.Add(request.NewErrParamMinLen("FileKey", 1))
 13066  	}
 13067  
 13068  	if invalidParams.Len() > 0 {
 13069  		return invalidParams
 13070  	}
 13071  	return nil
 13072  }
 13073  
 13074  // SetBucketARN sets the BucketARN field's value.
 13075  func (s *S3Configuration) SetBucketARN(v string) *S3Configuration {
 13076  	s.BucketARN = &v
 13077  	return s
 13078  }
 13079  
 13080  // SetFileKey sets the FileKey field's value.
 13081  func (s *S3Configuration) SetFileKey(v string) *S3Configuration {
 13082  	s.FileKey = &v
 13083  	return s
 13084  }
 13085  
 13086  // The S3 bucket that holds the application information.
 13087  type S3ContentBaseLocation struct {
 13088  	_ struct{} `type:"structure"`
 13089  
 13090  	// The base path for the S3 bucket.
 13091  	BasePath *string `min:"1" type:"string"`
 13092  
 13093  	// The Amazon Resource Name (ARN) of the S3 bucket.
 13094  	//
 13095  	// BucketARN is a required field
 13096  	BucketARN *string `min:"1" type:"string" required:"true"`
 13097  }
 13098  
 13099  // String returns the string representation.
 13100  //
 13101  // API parameter values that are decorated as "sensitive" in the API will not
 13102  // be included in the string output. The member name will be present, but the
 13103  // value will be replaced with "sensitive".
 13104  func (s S3ContentBaseLocation) String() string {
 13105  	return awsutil.Prettify(s)
 13106  }
 13107  
 13108  // GoString returns the string representation.
 13109  //
 13110  // API parameter values that are decorated as "sensitive" in the API will not
 13111  // be included in the string output. The member name will be present, but the
 13112  // value will be replaced with "sensitive".
 13113  func (s S3ContentBaseLocation) GoString() string {
 13114  	return s.String()
 13115  }
 13116  
 13117  // Validate inspects the fields of the type to determine if they are valid.
 13118  func (s *S3ContentBaseLocation) Validate() error {
 13119  	invalidParams := request.ErrInvalidParams{Context: "S3ContentBaseLocation"}
 13120  	if s.BasePath != nil && len(*s.BasePath) < 1 {
 13121  		invalidParams.Add(request.NewErrParamMinLen("BasePath", 1))
 13122  	}
 13123  	if s.BucketARN == nil {
 13124  		invalidParams.Add(request.NewErrParamRequired("BucketARN"))
 13125  	}
 13126  	if s.BucketARN != nil && len(*s.BucketARN) < 1 {
 13127  		invalidParams.Add(request.NewErrParamMinLen("BucketARN", 1))
 13128  	}
 13129  
 13130  	if invalidParams.Len() > 0 {
 13131  		return invalidParams
 13132  	}
 13133  	return nil
 13134  }
 13135  
 13136  // SetBasePath sets the BasePath field's value.
 13137  func (s *S3ContentBaseLocation) SetBasePath(v string) *S3ContentBaseLocation {
 13138  	s.BasePath = &v
 13139  	return s
 13140  }
 13141  
 13142  // SetBucketARN sets the BucketARN field's value.
 13143  func (s *S3ContentBaseLocation) SetBucketARN(v string) *S3ContentBaseLocation {
 13144  	s.BucketARN = &v
 13145  	return s
 13146  }
 13147  
 13148  // The description of the S3 base location that holds the application.
 13149  type S3ContentBaseLocationDescription struct {
 13150  	_ struct{} `type:"structure"`
 13151  
 13152  	// The base path for the S3 bucket.
 13153  	BasePath *string `min:"1" type:"string"`
 13154  
 13155  	// The Amazon Resource Name (ARN) of the S3 bucket.
 13156  	//
 13157  	// BucketARN is a required field
 13158  	BucketARN *string `min:"1" type:"string" required:"true"`
 13159  }
 13160  
 13161  // String returns the string representation.
 13162  //
 13163  // API parameter values that are decorated as "sensitive" in the API will not
 13164  // be included in the string output. The member name will be present, but the
 13165  // value will be replaced with "sensitive".
 13166  func (s S3ContentBaseLocationDescription) String() string {
 13167  	return awsutil.Prettify(s)
 13168  }
 13169  
 13170  // GoString returns the string representation.
 13171  //
 13172  // API parameter values that are decorated as "sensitive" in the API will not
 13173  // be included in the string output. The member name will be present, but the
 13174  // value will be replaced with "sensitive".
 13175  func (s S3ContentBaseLocationDescription) GoString() string {
 13176  	return s.String()
 13177  }
 13178  
 13179  // SetBasePath sets the BasePath field's value.
 13180  func (s *S3ContentBaseLocationDescription) SetBasePath(v string) *S3ContentBaseLocationDescription {
 13181  	s.BasePath = &v
 13182  	return s
 13183  }
 13184  
 13185  // SetBucketARN sets the BucketARN field's value.
 13186  func (s *S3ContentBaseLocationDescription) SetBucketARN(v string) *S3ContentBaseLocationDescription {
 13187  	s.BucketARN = &v
 13188  	return s
 13189  }
 13190  
 13191  // The information required to update the S3 base location that holds the application.
 13192  type S3ContentBaseLocationUpdate struct {
 13193  	_ struct{} `type:"structure"`
 13194  
 13195  	// The updated S3 bucket path.
 13196  	BasePathUpdate *string `min:"1" type:"string"`
 13197  
 13198  	// The updated Amazon Resource Name (ARN) of the S3 bucket.
 13199  	//
 13200  	// BucketARNUpdate is a required field
 13201  	BucketARNUpdate *string `min:"1" type:"string" required:"true"`
 13202  }
 13203  
 13204  // String returns the string representation.
 13205  //
 13206  // API parameter values that are decorated as "sensitive" in the API will not
 13207  // be included in the string output. The member name will be present, but the
 13208  // value will be replaced with "sensitive".
 13209  func (s S3ContentBaseLocationUpdate) String() string {
 13210  	return awsutil.Prettify(s)
 13211  }
 13212  
 13213  // GoString returns the string representation.
 13214  //
 13215  // API parameter values that are decorated as "sensitive" in the API will not
 13216  // be included in the string output. The member name will be present, but the
 13217  // value will be replaced with "sensitive".
 13218  func (s S3ContentBaseLocationUpdate) GoString() string {
 13219  	return s.String()
 13220  }
 13221  
 13222  // Validate inspects the fields of the type to determine if they are valid.
 13223  func (s *S3ContentBaseLocationUpdate) Validate() error {
 13224  	invalidParams := request.ErrInvalidParams{Context: "S3ContentBaseLocationUpdate"}
 13225  	if s.BasePathUpdate != nil && len(*s.BasePathUpdate) < 1 {
 13226  		invalidParams.Add(request.NewErrParamMinLen("BasePathUpdate", 1))
 13227  	}
 13228  	if s.BucketARNUpdate == nil {
 13229  		invalidParams.Add(request.NewErrParamRequired("BucketARNUpdate"))
 13230  	}
 13231  	if s.BucketARNUpdate != nil && len(*s.BucketARNUpdate) < 1 {
 13232  		invalidParams.Add(request.NewErrParamMinLen("BucketARNUpdate", 1))
 13233  	}
 13234  
 13235  	if invalidParams.Len() > 0 {
 13236  		return invalidParams
 13237  	}
 13238  	return nil
 13239  }
 13240  
 13241  // SetBasePathUpdate sets the BasePathUpdate field's value.
 13242  func (s *S3ContentBaseLocationUpdate) SetBasePathUpdate(v string) *S3ContentBaseLocationUpdate {
 13243  	s.BasePathUpdate = &v
 13244  	return s
 13245  }
 13246  
 13247  // SetBucketARNUpdate sets the BucketARNUpdate field's value.
 13248  func (s *S3ContentBaseLocationUpdate) SetBucketARNUpdate(v string) *S3ContentBaseLocationUpdate {
 13249  	s.BucketARNUpdate = &v
 13250  	return s
 13251  }
 13252  
 13253  // For a Kinesis Data Analytics application provides a description of an Amazon
 13254  // S3 object, including the Amazon Resource Name (ARN) of the S3 bucket, the
 13255  // name of the Amazon S3 object that contains the data, and the version number
 13256  // of the Amazon S3 object that contains the data.
 13257  type S3ContentLocation struct {
 13258  	_ struct{} `type:"structure"`
 13259  
 13260  	// The Amazon Resource Name (ARN) for the S3 bucket containing the application
 13261  	// code.
 13262  	//
 13263  	// BucketARN is a required field
 13264  	BucketARN *string `min:"1" type:"string" required:"true"`
 13265  
 13266  	// The file key for the object containing the application code.
 13267  	//
 13268  	// FileKey is a required field
 13269  	FileKey *string `min:"1" type:"string" required:"true"`
 13270  
 13271  	// The version of the object containing the application code.
 13272  	ObjectVersion *string `type:"string"`
 13273  }
 13274  
 13275  // String returns the string representation.
 13276  //
 13277  // API parameter values that are decorated as "sensitive" in the API will not
 13278  // be included in the string output. The member name will be present, but the
 13279  // value will be replaced with "sensitive".
 13280  func (s S3ContentLocation) String() string {
 13281  	return awsutil.Prettify(s)
 13282  }
 13283  
 13284  // GoString returns the string representation.
 13285  //
 13286  // API parameter values that are decorated as "sensitive" in the API will not
 13287  // be included in the string output. The member name will be present, but the
 13288  // value will be replaced with "sensitive".
 13289  func (s S3ContentLocation) GoString() string {
 13290  	return s.String()
 13291  }
 13292  
 13293  // Validate inspects the fields of the type to determine if they are valid.
 13294  func (s *S3ContentLocation) Validate() error {
 13295  	invalidParams := request.ErrInvalidParams{Context: "S3ContentLocation"}
 13296  	if s.BucketARN == nil {
 13297  		invalidParams.Add(request.NewErrParamRequired("BucketARN"))
 13298  	}
 13299  	if s.BucketARN != nil && len(*s.BucketARN) < 1 {
 13300  		invalidParams.Add(request.NewErrParamMinLen("BucketARN", 1))
 13301  	}
 13302  	if s.FileKey == nil {
 13303  		invalidParams.Add(request.NewErrParamRequired("FileKey"))
 13304  	}
 13305  	if s.FileKey != nil && len(*s.FileKey) < 1 {
 13306  		invalidParams.Add(request.NewErrParamMinLen("FileKey", 1))
 13307  	}
 13308  
 13309  	if invalidParams.Len() > 0 {
 13310  		return invalidParams
 13311  	}
 13312  	return nil
 13313  }
 13314  
 13315  // SetBucketARN sets the BucketARN field's value.
 13316  func (s *S3ContentLocation) SetBucketARN(v string) *S3ContentLocation {
 13317  	s.BucketARN = &v
 13318  	return s
 13319  }
 13320  
 13321  // SetFileKey sets the FileKey field's value.
 13322  func (s *S3ContentLocation) SetFileKey(v string) *S3ContentLocation {
 13323  	s.FileKey = &v
 13324  	return s
 13325  }
 13326  
 13327  // SetObjectVersion sets the ObjectVersion field's value.
 13328  func (s *S3ContentLocation) SetObjectVersion(v string) *S3ContentLocation {
 13329  	s.ObjectVersion = &v
 13330  	return s
 13331  }
 13332  
 13333  // Describes an update for the Amazon S3 code content location for an application.
 13334  type S3ContentLocationUpdate struct {
 13335  	_ struct{} `type:"structure"`
 13336  
 13337  	// The new Amazon Resource Name (ARN) for the S3 bucket containing the application
 13338  	// code.
 13339  	BucketARNUpdate *string `min:"1" type:"string"`
 13340  
 13341  	// The new file key for the object containing the application code.
 13342  	FileKeyUpdate *string `min:"1" type:"string"`
 13343  
 13344  	// The new version of the object containing the application code.
 13345  	ObjectVersionUpdate *string `type:"string"`
 13346  }
 13347  
 13348  // String returns the string representation.
 13349  //
 13350  // API parameter values that are decorated as "sensitive" in the API will not
 13351  // be included in the string output. The member name will be present, but the
 13352  // value will be replaced with "sensitive".
 13353  func (s S3ContentLocationUpdate) String() string {
 13354  	return awsutil.Prettify(s)
 13355  }
 13356  
 13357  // GoString returns the string representation.
 13358  //
 13359  // API parameter values that are decorated as "sensitive" in the API will not
 13360  // be included in the string output. The member name will be present, but the
 13361  // value will be replaced with "sensitive".
 13362  func (s S3ContentLocationUpdate) GoString() string {
 13363  	return s.String()
 13364  }
 13365  
 13366  // Validate inspects the fields of the type to determine if they are valid.
 13367  func (s *S3ContentLocationUpdate) Validate() error {
 13368  	invalidParams := request.ErrInvalidParams{Context: "S3ContentLocationUpdate"}
 13369  	if s.BucketARNUpdate != nil && len(*s.BucketARNUpdate) < 1 {
 13370  		invalidParams.Add(request.NewErrParamMinLen("BucketARNUpdate", 1))
 13371  	}
 13372  	if s.FileKeyUpdate != nil && len(*s.FileKeyUpdate) < 1 {
 13373  		invalidParams.Add(request.NewErrParamMinLen("FileKeyUpdate", 1))
 13374  	}
 13375  
 13376  	if invalidParams.Len() > 0 {
 13377  		return invalidParams
 13378  	}
 13379  	return nil
 13380  }
 13381  
 13382  // SetBucketARNUpdate sets the BucketARNUpdate field's value.
 13383  func (s *S3ContentLocationUpdate) SetBucketARNUpdate(v string) *S3ContentLocationUpdate {
 13384  	s.BucketARNUpdate = &v
 13385  	return s
 13386  }
 13387  
 13388  // SetFileKeyUpdate sets the FileKeyUpdate field's value.
 13389  func (s *S3ContentLocationUpdate) SetFileKeyUpdate(v string) *S3ContentLocationUpdate {
 13390  	s.FileKeyUpdate = &v
 13391  	return s
 13392  }
 13393  
 13394  // SetObjectVersionUpdate sets the ObjectVersionUpdate field's value.
 13395  func (s *S3ContentLocationUpdate) SetObjectVersionUpdate(v string) *S3ContentLocationUpdate {
 13396  	s.ObjectVersionUpdate = &v
 13397  	return s
 13398  }
 13399  
 13400  // For a SQL-based Kinesis Data Analytics application, identifies the Amazon
 13401  // S3 bucket and object that contains the reference data.
 13402  //
 13403  // A Kinesis Data Analytics application loads reference data only once. If the
 13404  // data changes, you call the UpdateApplication operation to trigger reloading
 13405  // of data into your application.
 13406  type S3ReferenceDataSource struct {
 13407  	_ struct{} `type:"structure"`
 13408  
 13409  	// The Amazon Resource Name (ARN) of the S3 bucket.
 13410  	BucketARN *string `min:"1" type:"string"`
 13411  
 13412  	// The object key name containing the reference data.
 13413  	FileKey *string `min:"1" type:"string"`
 13414  }
 13415  
 13416  // String returns the string representation.
 13417  //
 13418  // API parameter values that are decorated as "sensitive" in the API will not
 13419  // be included in the string output. The member name will be present, but the
 13420  // value will be replaced with "sensitive".
 13421  func (s S3ReferenceDataSource) String() string {
 13422  	return awsutil.Prettify(s)
 13423  }
 13424  
 13425  // GoString returns the string representation.
 13426  //
 13427  // API parameter values that are decorated as "sensitive" in the API will not
 13428  // be included in the string output. The member name will be present, but the
 13429  // value will be replaced with "sensitive".
 13430  func (s S3ReferenceDataSource) GoString() string {
 13431  	return s.String()
 13432  }
 13433  
 13434  // Validate inspects the fields of the type to determine if they are valid.
 13435  func (s *S3ReferenceDataSource) Validate() error {
 13436  	invalidParams := request.ErrInvalidParams{Context: "S3ReferenceDataSource"}
 13437  	if s.BucketARN != nil && len(*s.BucketARN) < 1 {
 13438  		invalidParams.Add(request.NewErrParamMinLen("BucketARN", 1))
 13439  	}
 13440  	if s.FileKey != nil && len(*s.FileKey) < 1 {
 13441  		invalidParams.Add(request.NewErrParamMinLen("FileKey", 1))
 13442  	}
 13443  
 13444  	if invalidParams.Len() > 0 {
 13445  		return invalidParams
 13446  	}
 13447  	return nil
 13448  }
 13449  
 13450  // SetBucketARN sets the BucketARN field's value.
 13451  func (s *S3ReferenceDataSource) SetBucketARN(v string) *S3ReferenceDataSource {
 13452  	s.BucketARN = &v
 13453  	return s
 13454  }
 13455  
 13456  // SetFileKey sets the FileKey field's value.
 13457  func (s *S3ReferenceDataSource) SetFileKey(v string) *S3ReferenceDataSource {
 13458  	s.FileKey = &v
 13459  	return s
 13460  }
 13461  
 13462  // For a SQL-based Kinesis Data Analytics application, provides the bucket name
 13463  // and object key name that stores the reference data.
 13464  type S3ReferenceDataSourceDescription struct {
 13465  	_ struct{} `type:"structure"`
 13466  
 13467  	// The Amazon Resource Name (ARN) of the S3 bucket.
 13468  	//
 13469  	// BucketARN is a required field
 13470  	BucketARN *string `min:"1" type:"string" required:"true"`
 13471  
 13472  	// Amazon S3 object key name.
 13473  	//
 13474  	// FileKey is a required field
 13475  	FileKey *string `min:"1" type:"string" required:"true"`
 13476  
 13477  	// The ARN of the IAM role that Kinesis Data Analytics can assume to read the
 13478  	// Amazon S3 object on your behalf to populate the in-application reference
 13479  	// table.
 13480  	//
 13481  	// Provided for backward compatibility. Applications that are created with the
 13482  	// current API version have an application-level service execution role rather
 13483  	// than a resource-level role.
 13484  	ReferenceRoleARN *string `min:"1" type:"string"`
 13485  }
 13486  
 13487  // String returns the string representation.
 13488  //
 13489  // API parameter values that are decorated as "sensitive" in the API will not
 13490  // be included in the string output. The member name will be present, but the
 13491  // value will be replaced with "sensitive".
 13492  func (s S3ReferenceDataSourceDescription) String() string {
 13493  	return awsutil.Prettify(s)
 13494  }
 13495  
 13496  // GoString returns the string representation.
 13497  //
 13498  // API parameter values that are decorated as "sensitive" in the API will not
 13499  // be included in the string output. The member name will be present, but the
 13500  // value will be replaced with "sensitive".
 13501  func (s S3ReferenceDataSourceDescription) GoString() string {
 13502  	return s.String()
 13503  }
 13504  
 13505  // SetBucketARN sets the BucketARN field's value.
 13506  func (s *S3ReferenceDataSourceDescription) SetBucketARN(v string) *S3ReferenceDataSourceDescription {
 13507  	s.BucketARN = &v
 13508  	return s
 13509  }
 13510  
 13511  // SetFileKey sets the FileKey field's value.
 13512  func (s *S3ReferenceDataSourceDescription) SetFileKey(v string) *S3ReferenceDataSourceDescription {
 13513  	s.FileKey = &v
 13514  	return s
 13515  }
 13516  
 13517  // SetReferenceRoleARN sets the ReferenceRoleARN field's value.
 13518  func (s *S3ReferenceDataSourceDescription) SetReferenceRoleARN(v string) *S3ReferenceDataSourceDescription {
 13519  	s.ReferenceRoleARN = &v
 13520  	return s
 13521  }
 13522  
 13523  // For a SQL-based Kinesis Data Analytics application, describes the Amazon
 13524  // S3 bucket name and object key name for an in-application reference table.
 13525  type S3ReferenceDataSourceUpdate struct {
 13526  	_ struct{} `type:"structure"`
 13527  
 13528  	// The Amazon Resource Name (ARN) of the S3 bucket.
 13529  	BucketARNUpdate *string `min:"1" type:"string"`
 13530  
 13531  	// The object key name.
 13532  	FileKeyUpdate *string `min:"1" type:"string"`
 13533  }
 13534  
 13535  // String returns the string representation.
 13536  //
 13537  // API parameter values that are decorated as "sensitive" in the API will not
 13538  // be included in the string output. The member name will be present, but the
 13539  // value will be replaced with "sensitive".
 13540  func (s S3ReferenceDataSourceUpdate) String() string {
 13541  	return awsutil.Prettify(s)
 13542  }
 13543  
 13544  // GoString returns the string representation.
 13545  //
 13546  // API parameter values that are decorated as "sensitive" in the API will not
 13547  // be included in the string output. The member name will be present, but the
 13548  // value will be replaced with "sensitive".
 13549  func (s S3ReferenceDataSourceUpdate) GoString() string {
 13550  	return s.String()
 13551  }
 13552  
 13553  // Validate inspects the fields of the type to determine if they are valid.
 13554  func (s *S3ReferenceDataSourceUpdate) Validate() error {
 13555  	invalidParams := request.ErrInvalidParams{Context: "S3ReferenceDataSourceUpdate"}
 13556  	if s.BucketARNUpdate != nil && len(*s.BucketARNUpdate) < 1 {
 13557  		invalidParams.Add(request.NewErrParamMinLen("BucketARNUpdate", 1))
 13558  	}
 13559  	if s.FileKeyUpdate != nil && len(*s.FileKeyUpdate) < 1 {
 13560  		invalidParams.Add(request.NewErrParamMinLen("FileKeyUpdate", 1))
 13561  	}
 13562  
 13563  	if invalidParams.Len() > 0 {
 13564  		return invalidParams
 13565  	}
 13566  	return nil
 13567  }
 13568  
 13569  // SetBucketARNUpdate sets the BucketARNUpdate field's value.
 13570  func (s *S3ReferenceDataSourceUpdate) SetBucketARNUpdate(v string) *S3ReferenceDataSourceUpdate {
 13571  	s.BucketARNUpdate = &v
 13572  	return s
 13573  }
 13574  
 13575  // SetFileKeyUpdate sets the FileKeyUpdate field's value.
 13576  func (s *S3ReferenceDataSourceUpdate) SetFileKeyUpdate(v string) *S3ReferenceDataSourceUpdate {
 13577  	s.FileKeyUpdate = &v
 13578  	return s
 13579  }
 13580  
 13581  // The service cannot complete the request.
 13582  type ServiceUnavailableException struct {
 13583  	_            struct{}                  `type:"structure"`
 13584  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 13585  
 13586  	Message_ *string `locationName:"Message" type:"string"`
 13587  }
 13588  
 13589  // String returns the string representation.
 13590  //
 13591  // API parameter values that are decorated as "sensitive" in the API will not
 13592  // be included in the string output. The member name will be present, but the
 13593  // value will be replaced with "sensitive".
 13594  func (s ServiceUnavailableException) String() string {
 13595  	return awsutil.Prettify(s)
 13596  }
 13597  
 13598  // GoString returns the string representation.
 13599  //
 13600  // API parameter values that are decorated as "sensitive" in the API will not
 13601  // be included in the string output. The member name will be present, but the
 13602  // value will be replaced with "sensitive".
 13603  func (s ServiceUnavailableException) GoString() string {
 13604  	return s.String()
 13605  }
 13606  
 13607  func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
 13608  	return &ServiceUnavailableException{
 13609  		RespMetadata: v,
 13610  	}
 13611  }
 13612  
 13613  // Code returns the exception type name.
 13614  func (s *ServiceUnavailableException) Code() string {
 13615  	return "ServiceUnavailableException"
 13616  }
 13617  
 13618  // Message returns the exception's message.
 13619  func (s *ServiceUnavailableException) Message() string {
 13620  	if s.Message_ != nil {
 13621  		return *s.Message_
 13622  	}
 13623  	return ""
 13624  }
 13625  
 13626  // OrigErr always returns nil, satisfies awserr.Error interface.
 13627  func (s *ServiceUnavailableException) OrigErr() error {
 13628  	return nil
 13629  }
 13630  
 13631  func (s *ServiceUnavailableException) Error() string {
 13632  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 13633  }
 13634  
 13635  // Status code returns the HTTP status code for the request's response error.
 13636  func (s *ServiceUnavailableException) StatusCode() int {
 13637  	return s.RespMetadata.StatusCode
 13638  }
 13639  
 13640  // RequestID returns the service's response RequestID for request.
 13641  func (s *ServiceUnavailableException) RequestID() string {
 13642  	return s.RespMetadata.RequestID
 13643  }
 13644  
 13645  // Provides details about a snapshot of application state.
 13646  type SnapshotDetails struct {
 13647  	_ struct{} `type:"structure"`
 13648  
 13649  	// The current application version ID when the snapshot was created.
 13650  	//
 13651  	// ApplicationVersionId is a required field
 13652  	ApplicationVersionId *int64 `min:"1" type:"long" required:"true"`
 13653  
 13654  	// The timestamp of the application snapshot.
 13655  	SnapshotCreationTimestamp *time.Time `type:"timestamp"`
 13656  
 13657  	// The identifier for the application snapshot.
 13658  	//
 13659  	// SnapshotName is a required field
 13660  	SnapshotName *string `min:"1" type:"string" required:"true"`
 13661  
 13662  	// The status of the application snapshot.
 13663  	//
 13664  	// SnapshotStatus is a required field
 13665  	SnapshotStatus *string `type:"string" required:"true" enum:"SnapshotStatus"`
 13666  }
 13667  
 13668  // String returns the string representation.
 13669  //
 13670  // API parameter values that are decorated as "sensitive" in the API will not
 13671  // be included in the string output. The member name will be present, but the
 13672  // value will be replaced with "sensitive".
 13673  func (s SnapshotDetails) String() string {
 13674  	return awsutil.Prettify(s)
 13675  }
 13676  
 13677  // GoString returns the string representation.
 13678  //
 13679  // API parameter values that are decorated as "sensitive" in the API will not
 13680  // be included in the string output. The member name will be present, but the
 13681  // value will be replaced with "sensitive".
 13682  func (s SnapshotDetails) GoString() string {
 13683  	return s.String()
 13684  }
 13685  
 13686  // SetApplicationVersionId sets the ApplicationVersionId field's value.
 13687  func (s *SnapshotDetails) SetApplicationVersionId(v int64) *SnapshotDetails {
 13688  	s.ApplicationVersionId = &v
 13689  	return s
 13690  }
 13691  
 13692  // SetSnapshotCreationTimestamp sets the SnapshotCreationTimestamp field's value.
 13693  func (s *SnapshotDetails) SetSnapshotCreationTimestamp(v time.Time) *SnapshotDetails {
 13694  	s.SnapshotCreationTimestamp = &v
 13695  	return s
 13696  }
 13697  
 13698  // SetSnapshotName sets the SnapshotName field's value.
 13699  func (s *SnapshotDetails) SetSnapshotName(v string) *SnapshotDetails {
 13700  	s.SnapshotName = &v
 13701  	return s
 13702  }
 13703  
 13704  // SetSnapshotStatus sets the SnapshotStatus field's value.
 13705  func (s *SnapshotDetails) SetSnapshotStatus(v string) *SnapshotDetails {
 13706  	s.SnapshotStatus = &v
 13707  	return s
 13708  }
 13709  
 13710  // For a SQL-based Kinesis Data Analytics application, describes the format
 13711  // of the data in the streaming source, and how each data element maps to corresponding
 13712  // columns created in the in-application stream.
 13713  type SourceSchema struct {
 13714  	_ struct{} `type:"structure"`
 13715  
 13716  	// A list of RecordColumn objects.
 13717  	//
 13718  	// RecordColumns is a required field
 13719  	RecordColumns []*RecordColumn `min:"1" type:"list" required:"true"`
 13720  
 13721  	// Specifies the encoding of the records in the streaming source. For example,
 13722  	// UTF-8.
 13723  	RecordEncoding *string `min:"5" type:"string"`
 13724  
 13725  	// Specifies the format of the records on the streaming source.
 13726  	//
 13727  	// RecordFormat is a required field
 13728  	RecordFormat *RecordFormat `type:"structure" required:"true"`
 13729  }
 13730  
 13731  // String returns the string representation.
 13732  //
 13733  // API parameter values that are decorated as "sensitive" in the API will not
 13734  // be included in the string output. The member name will be present, but the
 13735  // value will be replaced with "sensitive".
 13736  func (s SourceSchema) String() string {
 13737  	return awsutil.Prettify(s)
 13738  }
 13739  
 13740  // GoString returns the string representation.
 13741  //
 13742  // API parameter values that are decorated as "sensitive" in the API will not
 13743  // be included in the string output. The member name will be present, but the
 13744  // value will be replaced with "sensitive".
 13745  func (s SourceSchema) GoString() string {
 13746  	return s.String()
 13747  }
 13748  
 13749  // Validate inspects the fields of the type to determine if they are valid.
 13750  func (s *SourceSchema) Validate() error {
 13751  	invalidParams := request.ErrInvalidParams{Context: "SourceSchema"}
 13752  	if s.RecordColumns == nil {
 13753  		invalidParams.Add(request.NewErrParamRequired("RecordColumns"))
 13754  	}
 13755  	if s.RecordColumns != nil && len(s.RecordColumns) < 1 {
 13756  		invalidParams.Add(request.NewErrParamMinLen("RecordColumns", 1))
 13757  	}
 13758  	if s.RecordEncoding != nil && len(*s.RecordEncoding) < 5 {
 13759  		invalidParams.Add(request.NewErrParamMinLen("RecordEncoding", 5))
 13760  	}
 13761  	if s.RecordFormat == nil {
 13762  		invalidParams.Add(request.NewErrParamRequired("RecordFormat"))
 13763  	}
 13764  	if s.RecordColumns != nil {
 13765  		for i, v := range s.RecordColumns {
 13766  			if v == nil {
 13767  				continue
 13768  			}
 13769  			if err := v.Validate(); err != nil {
 13770  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RecordColumns", i), err.(request.ErrInvalidParams))
 13771  			}
 13772  		}
 13773  	}
 13774  	if s.RecordFormat != nil {
 13775  		if err := s.RecordFormat.Validate(); err != nil {
 13776  			invalidParams.AddNested("RecordFormat", err.(request.ErrInvalidParams))
 13777  		}
 13778  	}
 13779  
 13780  	if invalidParams.Len() > 0 {
 13781  		return invalidParams
 13782  	}
 13783  	return nil
 13784  }
 13785  
 13786  // SetRecordColumns sets the RecordColumns field's value.
 13787  func (s *SourceSchema) SetRecordColumns(v []*RecordColumn) *SourceSchema {
 13788  	s.RecordColumns = v
 13789  	return s
 13790  }
 13791  
 13792  // SetRecordEncoding sets the RecordEncoding field's value.
 13793  func (s *SourceSchema) SetRecordEncoding(v string) *SourceSchema {
 13794  	s.RecordEncoding = &v
 13795  	return s
 13796  }
 13797  
 13798  // SetRecordFormat sets the RecordFormat field's value.
 13799  func (s *SourceSchema) SetRecordFormat(v *RecordFormat) *SourceSchema {
 13800  	s.RecordFormat = v
 13801  	return s
 13802  }
 13803  
 13804  // Describes the inputs, outputs, and reference data sources for a SQL-based
 13805  // Kinesis Data Analytics application.
 13806  type SqlApplicationConfiguration struct {
 13807  	_ struct{} `type:"structure"`
 13808  
 13809  	// The array of Input objects describing the input streams used by the application.
 13810  	Inputs []*Input `type:"list"`
 13811  
 13812  	// The array of Output objects describing the destination streams used by the
 13813  	// application.
 13814  	Outputs []*Output `type:"list"`
 13815  
 13816  	// The array of ReferenceDataSource objects describing the reference data sources
 13817  	// used by the application.
 13818  	ReferenceDataSources []*ReferenceDataSource `type:"list"`
 13819  }
 13820  
 13821  // String returns the string representation.
 13822  //
 13823  // API parameter values that are decorated as "sensitive" in the API will not
 13824  // be included in the string output. The member name will be present, but the
 13825  // value will be replaced with "sensitive".
 13826  func (s SqlApplicationConfiguration) String() string {
 13827  	return awsutil.Prettify(s)
 13828  }
 13829  
 13830  // GoString returns the string representation.
 13831  //
 13832  // API parameter values that are decorated as "sensitive" in the API will not
 13833  // be included in the string output. The member name will be present, but the
 13834  // value will be replaced with "sensitive".
 13835  func (s SqlApplicationConfiguration) GoString() string {
 13836  	return s.String()
 13837  }
 13838  
 13839  // Validate inspects the fields of the type to determine if they are valid.
 13840  func (s *SqlApplicationConfiguration) Validate() error {
 13841  	invalidParams := request.ErrInvalidParams{Context: "SqlApplicationConfiguration"}
 13842  	if s.Inputs != nil {
 13843  		for i, v := range s.Inputs {
 13844  			if v == nil {
 13845  				continue
 13846  			}
 13847  			if err := v.Validate(); err != nil {
 13848  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Inputs", i), err.(request.ErrInvalidParams))
 13849  			}
 13850  		}
 13851  	}
 13852  	if s.Outputs != nil {
 13853  		for i, v := range s.Outputs {
 13854  			if v == nil {
 13855  				continue
 13856  			}
 13857  			if err := v.Validate(); err != nil {
 13858  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Outputs", i), err.(request.ErrInvalidParams))
 13859  			}
 13860  		}
 13861  	}
 13862  	if s.ReferenceDataSources != nil {
 13863  		for i, v := range s.ReferenceDataSources {
 13864  			if v == nil {
 13865  				continue
 13866  			}
 13867  			if err := v.Validate(); err != nil {
 13868  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReferenceDataSources", i), err.(request.ErrInvalidParams))
 13869  			}
 13870  		}
 13871  	}
 13872  
 13873  	if invalidParams.Len() > 0 {
 13874  		return invalidParams
 13875  	}
 13876  	return nil
 13877  }
 13878  
 13879  // SetInputs sets the Inputs field's value.
 13880  func (s *SqlApplicationConfiguration) SetInputs(v []*Input) *SqlApplicationConfiguration {
 13881  	s.Inputs = v
 13882  	return s
 13883  }
 13884  
 13885  // SetOutputs sets the Outputs field's value.
 13886  func (s *SqlApplicationConfiguration) SetOutputs(v []*Output) *SqlApplicationConfiguration {
 13887  	s.Outputs = v
 13888  	return s
 13889  }
 13890  
 13891  // SetReferenceDataSources sets the ReferenceDataSources field's value.
 13892  func (s *SqlApplicationConfiguration) SetReferenceDataSources(v []*ReferenceDataSource) *SqlApplicationConfiguration {
 13893  	s.ReferenceDataSources = v
 13894  	return s
 13895  }
 13896  
 13897  // Describes the inputs, outputs, and reference data sources for a SQL-based
 13898  // Kinesis Data Analytics application.
 13899  type SqlApplicationConfigurationDescription struct {
 13900  	_ struct{} `type:"structure"`
 13901  
 13902  	// The array of InputDescription objects describing the input streams used by
 13903  	// the application.
 13904  	InputDescriptions []*InputDescription `type:"list"`
 13905  
 13906  	// The array of OutputDescription objects describing the destination streams
 13907  	// used by the application.
 13908  	OutputDescriptions []*OutputDescription `type:"list"`
 13909  
 13910  	// The array of ReferenceDataSourceDescription objects describing the reference
 13911  	// data sources used by the application.
 13912  	ReferenceDataSourceDescriptions []*ReferenceDataSourceDescription `type:"list"`
 13913  }
 13914  
 13915  // String returns the string representation.
 13916  //
 13917  // API parameter values that are decorated as "sensitive" in the API will not
 13918  // be included in the string output. The member name will be present, but the
 13919  // value will be replaced with "sensitive".
 13920  func (s SqlApplicationConfigurationDescription) String() string {
 13921  	return awsutil.Prettify(s)
 13922  }
 13923  
 13924  // GoString returns the string representation.
 13925  //
 13926  // API parameter values that are decorated as "sensitive" in the API will not
 13927  // be included in the string output. The member name will be present, but the
 13928  // value will be replaced with "sensitive".
 13929  func (s SqlApplicationConfigurationDescription) GoString() string {
 13930  	return s.String()
 13931  }
 13932  
 13933  // SetInputDescriptions sets the InputDescriptions field's value.
 13934  func (s *SqlApplicationConfigurationDescription) SetInputDescriptions(v []*InputDescription) *SqlApplicationConfigurationDescription {
 13935  	s.InputDescriptions = v
 13936  	return s
 13937  }
 13938  
 13939  // SetOutputDescriptions sets the OutputDescriptions field's value.
 13940  func (s *SqlApplicationConfigurationDescription) SetOutputDescriptions(v []*OutputDescription) *SqlApplicationConfigurationDescription {
 13941  	s.OutputDescriptions = v
 13942  	return s
 13943  }
 13944  
 13945  // SetReferenceDataSourceDescriptions sets the ReferenceDataSourceDescriptions field's value.
 13946  func (s *SqlApplicationConfigurationDescription) SetReferenceDataSourceDescriptions(v []*ReferenceDataSourceDescription) *SqlApplicationConfigurationDescription {
 13947  	s.ReferenceDataSourceDescriptions = v
 13948  	return s
 13949  }
 13950  
 13951  // Describes updates to the input streams, destination streams, and reference
 13952  // data sources for a SQL-based Kinesis Data Analytics application.
 13953  type SqlApplicationConfigurationUpdate struct {
 13954  	_ struct{} `type:"structure"`
 13955  
 13956  	// The array of InputUpdate objects describing the new input streams used by
 13957  	// the application.
 13958  	InputUpdates []*InputUpdate `type:"list"`
 13959  
 13960  	// The array of OutputUpdate objects describing the new destination streams
 13961  	// used by the application.
 13962  	OutputUpdates []*OutputUpdate `type:"list"`
 13963  
 13964  	// The array of ReferenceDataSourceUpdate objects describing the new reference
 13965  	// data sources used by the application.
 13966  	ReferenceDataSourceUpdates []*ReferenceDataSourceUpdate `type:"list"`
 13967  }
 13968  
 13969  // String returns the string representation.
 13970  //
 13971  // API parameter values that are decorated as "sensitive" in the API will not
 13972  // be included in the string output. The member name will be present, but the
 13973  // value will be replaced with "sensitive".
 13974  func (s SqlApplicationConfigurationUpdate) String() string {
 13975  	return awsutil.Prettify(s)
 13976  }
 13977  
 13978  // GoString returns the string representation.
 13979  //
 13980  // API parameter values that are decorated as "sensitive" in the API will not
 13981  // be included in the string output. The member name will be present, but the
 13982  // value will be replaced with "sensitive".
 13983  func (s SqlApplicationConfigurationUpdate) GoString() string {
 13984  	return s.String()
 13985  }
 13986  
 13987  // Validate inspects the fields of the type to determine if they are valid.
 13988  func (s *SqlApplicationConfigurationUpdate) Validate() error {
 13989  	invalidParams := request.ErrInvalidParams{Context: "SqlApplicationConfigurationUpdate"}
 13990  	if s.InputUpdates != nil {
 13991  		for i, v := range s.InputUpdates {
 13992  			if v == nil {
 13993  				continue
 13994  			}
 13995  			if err := v.Validate(); err != nil {
 13996  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputUpdates", i), err.(request.ErrInvalidParams))
 13997  			}
 13998  		}
 13999  	}
 14000  	if s.OutputUpdates != nil {
 14001  		for i, v := range s.OutputUpdates {
 14002  			if v == nil {
 14003  				continue
 14004  			}
 14005  			if err := v.Validate(); err != nil {
 14006  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OutputUpdates", i), err.(request.ErrInvalidParams))
 14007  			}
 14008  		}
 14009  	}
 14010  	if s.ReferenceDataSourceUpdates != nil {
 14011  		for i, v := range s.ReferenceDataSourceUpdates {
 14012  			if v == nil {
 14013  				continue
 14014  			}
 14015  			if err := v.Validate(); err != nil {
 14016  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReferenceDataSourceUpdates", i), err.(request.ErrInvalidParams))
 14017  			}
 14018  		}
 14019  	}
 14020  
 14021  	if invalidParams.Len() > 0 {
 14022  		return invalidParams
 14023  	}
 14024  	return nil
 14025  }
 14026  
 14027  // SetInputUpdates sets the InputUpdates field's value.
 14028  func (s *SqlApplicationConfigurationUpdate) SetInputUpdates(v []*InputUpdate) *SqlApplicationConfigurationUpdate {
 14029  	s.InputUpdates = v
 14030  	return s
 14031  }
 14032  
 14033  // SetOutputUpdates sets the OutputUpdates field's value.
 14034  func (s *SqlApplicationConfigurationUpdate) SetOutputUpdates(v []*OutputUpdate) *SqlApplicationConfigurationUpdate {
 14035  	s.OutputUpdates = v
 14036  	return s
 14037  }
 14038  
 14039  // SetReferenceDataSourceUpdates sets the ReferenceDataSourceUpdates field's value.
 14040  func (s *SqlApplicationConfigurationUpdate) SetReferenceDataSourceUpdates(v []*ReferenceDataSourceUpdate) *SqlApplicationConfigurationUpdate {
 14041  	s.ReferenceDataSourceUpdates = v
 14042  	return s
 14043  }
 14044  
 14045  // Describes the starting parameters for a SQL-based Kinesis Data Analytics
 14046  // application.
 14047  type SqlRunConfiguration struct {
 14048  	_ struct{} `type:"structure"`
 14049  
 14050  	// The input source ID. You can get this ID by calling the DescribeApplication
 14051  	// operation.
 14052  	//
 14053  	// InputId is a required field
 14054  	InputId *string `min:"1" type:"string" required:"true"`
 14055  
 14056  	// The point at which you want the application to start processing records from
 14057  	// the streaming source.
 14058  	//
 14059  	// InputStartingPositionConfiguration is a required field
 14060  	InputStartingPositionConfiguration *InputStartingPositionConfiguration `type:"structure" required:"true"`
 14061  }
 14062  
 14063  // String returns the string representation.
 14064  //
 14065  // API parameter values that are decorated as "sensitive" in the API will not
 14066  // be included in the string output. The member name will be present, but the
 14067  // value will be replaced with "sensitive".
 14068  func (s SqlRunConfiguration) String() string {
 14069  	return awsutil.Prettify(s)
 14070  }
 14071  
 14072  // GoString returns the string representation.
 14073  //
 14074  // API parameter values that are decorated as "sensitive" in the API will not
 14075  // be included in the string output. The member name will be present, but the
 14076  // value will be replaced with "sensitive".
 14077  func (s SqlRunConfiguration) GoString() string {
 14078  	return s.String()
 14079  }
 14080  
 14081  // Validate inspects the fields of the type to determine if they are valid.
 14082  func (s *SqlRunConfiguration) Validate() error {
 14083  	invalidParams := request.ErrInvalidParams{Context: "SqlRunConfiguration"}
 14084  	if s.InputId == nil {
 14085  		invalidParams.Add(request.NewErrParamRequired("InputId"))
 14086  	}
 14087  	if s.InputId != nil && len(*s.InputId) < 1 {
 14088  		invalidParams.Add(request.NewErrParamMinLen("InputId", 1))
 14089  	}
 14090  	if s.InputStartingPositionConfiguration == nil {
 14091  		invalidParams.Add(request.NewErrParamRequired("InputStartingPositionConfiguration"))
 14092  	}
 14093  
 14094  	if invalidParams.Len() > 0 {
 14095  		return invalidParams
 14096  	}
 14097  	return nil
 14098  }
 14099  
 14100  // SetInputId sets the InputId field's value.
 14101  func (s *SqlRunConfiguration) SetInputId(v string) *SqlRunConfiguration {
 14102  	s.InputId = &v
 14103  	return s
 14104  }
 14105  
 14106  // SetInputStartingPositionConfiguration sets the InputStartingPositionConfiguration field's value.
 14107  func (s *SqlRunConfiguration) SetInputStartingPositionConfiguration(v *InputStartingPositionConfiguration) *SqlRunConfiguration {
 14108  	s.InputStartingPositionConfiguration = v
 14109  	return s
 14110  }
 14111  
 14112  type StartApplicationInput struct {
 14113  	_ struct{} `type:"structure"`
 14114  
 14115  	// The name of the application.
 14116  	//
 14117  	// ApplicationName is a required field
 14118  	ApplicationName *string `min:"1" type:"string" required:"true"`
 14119  
 14120  	// Identifies the run configuration (start parameters) of a Kinesis Data Analytics
 14121  	// application.
 14122  	RunConfiguration *RunConfiguration `type:"structure"`
 14123  }
 14124  
 14125  // String returns the string representation.
 14126  //
 14127  // API parameter values that are decorated as "sensitive" in the API will not
 14128  // be included in the string output. The member name will be present, but the
 14129  // value will be replaced with "sensitive".
 14130  func (s StartApplicationInput) String() string {
 14131  	return awsutil.Prettify(s)
 14132  }
 14133  
 14134  // GoString returns the string representation.
 14135  //
 14136  // API parameter values that are decorated as "sensitive" in the API will not
 14137  // be included in the string output. The member name will be present, but the
 14138  // value will be replaced with "sensitive".
 14139  func (s StartApplicationInput) GoString() string {
 14140  	return s.String()
 14141  }
 14142  
 14143  // Validate inspects the fields of the type to determine if they are valid.
 14144  func (s *StartApplicationInput) Validate() error {
 14145  	invalidParams := request.ErrInvalidParams{Context: "StartApplicationInput"}
 14146  	if s.ApplicationName == nil {
 14147  		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
 14148  	}
 14149  	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
 14150  		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
 14151  	}
 14152  	if s.RunConfiguration != nil {
 14153  		if err := s.RunConfiguration.Validate(); err != nil {
 14154  			invalidParams.AddNested("RunConfiguration", err.(request.ErrInvalidParams))
 14155  		}
 14156  	}
 14157  
 14158  	if invalidParams.Len() > 0 {
 14159  		return invalidParams
 14160  	}
 14161  	return nil
 14162  }
 14163  
 14164  // SetApplicationName sets the ApplicationName field's value.
 14165  func (s *StartApplicationInput) SetApplicationName(v string) *StartApplicationInput {
 14166  	s.ApplicationName = &v
 14167  	return s
 14168  }
 14169  
 14170  // SetRunConfiguration sets the RunConfiguration field's value.
 14171  func (s *StartApplicationInput) SetRunConfiguration(v *RunConfiguration) *StartApplicationInput {
 14172  	s.RunConfiguration = v
 14173  	return s
 14174  }
 14175  
 14176  type StartApplicationOutput struct {
 14177  	_ struct{} `type:"structure"`
 14178  }
 14179  
 14180  // String returns the string representation.
 14181  //
 14182  // API parameter values that are decorated as "sensitive" in the API will not
 14183  // be included in the string output. The member name will be present, but the
 14184  // value will be replaced with "sensitive".
 14185  func (s StartApplicationOutput) String() string {
 14186  	return awsutil.Prettify(s)
 14187  }
 14188  
 14189  // GoString returns the string representation.
 14190  //
 14191  // API parameter values that are decorated as "sensitive" in the API will not
 14192  // be included in the string output. The member name will be present, but the
 14193  // value will be replaced with "sensitive".
 14194  func (s StartApplicationOutput) GoString() string {
 14195  	return s.String()
 14196  }
 14197  
 14198  type StopApplicationInput struct {
 14199  	_ struct{} `type:"structure"`
 14200  
 14201  	// The name of the running application to stop.
 14202  	//
 14203  	// ApplicationName is a required field
 14204  	ApplicationName *string `min:"1" type:"string" required:"true"`
 14205  
 14206  	// Set to true to force the application to stop. If you set Force to true, Kinesis
 14207  	// Data Analytics stops the application without taking a snapshot.
 14208  	//
 14209  	// Force-stopping your application may lead to data loss or duplication. To
 14210  	// prevent data loss or duplicate processing of data during application restarts,
 14211  	// we recommend you to take frequent snapshots of your application.
 14212  	//
 14213  	// You can only force stop a Flink-based Kinesis Data Analytics application.
 14214  	// You can't force stop a SQL-based Kinesis Data Analytics application.
 14215  	//
 14216  	// The application must be in the STARTING, UPDATING, STOPPING, AUTOSCALING,
 14217  	// or RUNNING status.
 14218  	Force *bool `type:"boolean"`
 14219  }
 14220  
 14221  // String returns the string representation.
 14222  //
 14223  // API parameter values that are decorated as "sensitive" in the API will not
 14224  // be included in the string output. The member name will be present, but the
 14225  // value will be replaced with "sensitive".
 14226  func (s StopApplicationInput) String() string {
 14227  	return awsutil.Prettify(s)
 14228  }
 14229  
 14230  // GoString returns the string representation.
 14231  //
 14232  // API parameter values that are decorated as "sensitive" in the API will not
 14233  // be included in the string output. The member name will be present, but the
 14234  // value will be replaced with "sensitive".
 14235  func (s StopApplicationInput) GoString() string {
 14236  	return s.String()
 14237  }
 14238  
 14239  // Validate inspects the fields of the type to determine if they are valid.
 14240  func (s *StopApplicationInput) Validate() error {
 14241  	invalidParams := request.ErrInvalidParams{Context: "StopApplicationInput"}
 14242  	if s.ApplicationName == nil {
 14243  		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
 14244  	}
 14245  	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
 14246  		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
 14247  	}
 14248  
 14249  	if invalidParams.Len() > 0 {
 14250  		return invalidParams
 14251  	}
 14252  	return nil
 14253  }
 14254  
 14255  // SetApplicationName sets the ApplicationName field's value.
 14256  func (s *StopApplicationInput) SetApplicationName(v string) *StopApplicationInput {
 14257  	s.ApplicationName = &v
 14258  	return s
 14259  }
 14260  
 14261  // SetForce sets the Force field's value.
 14262  func (s *StopApplicationInput) SetForce(v bool) *StopApplicationInput {
 14263  	s.Force = &v
 14264  	return s
 14265  }
 14266  
 14267  type StopApplicationOutput struct {
 14268  	_ struct{} `type:"structure"`
 14269  }
 14270  
 14271  // String returns the string representation.
 14272  //
 14273  // API parameter values that are decorated as "sensitive" in the API will not
 14274  // be included in the string output. The member name will be present, but the
 14275  // value will be replaced with "sensitive".
 14276  func (s StopApplicationOutput) String() string {
 14277  	return awsutil.Prettify(s)
 14278  }
 14279  
 14280  // GoString returns the string representation.
 14281  //
 14282  // API parameter values that are decorated as "sensitive" in the API will not
 14283  // be included in the string output. The member name will be present, but the
 14284  // value will be replaced with "sensitive".
 14285  func (s StopApplicationOutput) GoString() string {
 14286  	return s.String()
 14287  }
 14288  
 14289  // A key-value pair (the value is optional) that you can define and assign to
 14290  // AWS resources. If you specify a tag that already exists, the tag value is
 14291  // replaced with the value that you specify in the request. Note that the maximum
 14292  // number of application tags includes system tags. The maximum number of user-defined
 14293  // application tags is 50. For more information, see Using Tagging (https://docs.aws.amazon.com/kinesisanalytics/latest/java/how-tagging.html).
 14294  type Tag struct {
 14295  	_ struct{} `type:"structure"`
 14296  
 14297  	// The key of the key-value tag.
 14298  	//
 14299  	// Key is a required field
 14300  	Key *string `min:"1" type:"string" required:"true"`
 14301  
 14302  	// The value of the key-value tag. The value is optional.
 14303  	Value *string `type:"string"`
 14304  }
 14305  
 14306  // String returns the string representation.
 14307  //
 14308  // API parameter values that are decorated as "sensitive" in the API will not
 14309  // be included in the string output. The member name will be present, but the
 14310  // value will be replaced with "sensitive".
 14311  func (s Tag) String() string {
 14312  	return awsutil.Prettify(s)
 14313  }
 14314  
 14315  // GoString returns the string representation.
 14316  //
 14317  // API parameter values that are decorated as "sensitive" in the API will not
 14318  // be included in the string output. The member name will be present, but the
 14319  // value will be replaced with "sensitive".
 14320  func (s Tag) GoString() string {
 14321  	return s.String()
 14322  }
 14323  
 14324  // Validate inspects the fields of the type to determine if they are valid.
 14325  func (s *Tag) Validate() error {
 14326  	invalidParams := request.ErrInvalidParams{Context: "Tag"}
 14327  	if s.Key == nil {
 14328  		invalidParams.Add(request.NewErrParamRequired("Key"))
 14329  	}
 14330  	if s.Key != nil && len(*s.Key) < 1 {
 14331  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
 14332  	}
 14333  
 14334  	if invalidParams.Len() > 0 {
 14335  		return invalidParams
 14336  	}
 14337  	return nil
 14338  }
 14339  
 14340  // SetKey sets the Key field's value.
 14341  func (s *Tag) SetKey(v string) *Tag {
 14342  	s.Key = &v
 14343  	return s
 14344  }
 14345  
 14346  // SetValue sets the Value field's value.
 14347  func (s *Tag) SetValue(v string) *Tag {
 14348  	s.Value = &v
 14349  	return s
 14350  }
 14351  
 14352  type TagResourceInput struct {
 14353  	_ struct{} `type:"structure"`
 14354  
 14355  	// The ARN of the application to assign the tags.
 14356  	//
 14357  	// ResourceARN is a required field
 14358  	ResourceARN *string `min:"1" type:"string" required:"true"`
 14359  
 14360  	// The key-value tags to assign to the application.
 14361  	//
 14362  	// Tags is a required field
 14363  	Tags []*Tag `min:"1" type:"list" required:"true"`
 14364  }
 14365  
 14366  // String returns the string representation.
 14367  //
 14368  // API parameter values that are decorated as "sensitive" in the API will not
 14369  // be included in the string output. The member name will be present, but the
 14370  // value will be replaced with "sensitive".
 14371  func (s TagResourceInput) String() string {
 14372  	return awsutil.Prettify(s)
 14373  }
 14374  
 14375  // GoString returns the string representation.
 14376  //
 14377  // API parameter values that are decorated as "sensitive" in the API will not
 14378  // be included in the string output. The member name will be present, but the
 14379  // value will be replaced with "sensitive".
 14380  func (s TagResourceInput) GoString() string {
 14381  	return s.String()
 14382  }
 14383  
 14384  // Validate inspects the fields of the type to determine if they are valid.
 14385  func (s *TagResourceInput) Validate() error {
 14386  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
 14387  	if s.ResourceARN == nil {
 14388  		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
 14389  	}
 14390  	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
 14391  		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
 14392  	}
 14393  	if s.Tags == nil {
 14394  		invalidParams.Add(request.NewErrParamRequired("Tags"))
 14395  	}
 14396  	if s.Tags != nil && len(s.Tags) < 1 {
 14397  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
 14398  	}
 14399  	if s.Tags != nil {
 14400  		for i, v := range s.Tags {
 14401  			if v == nil {
 14402  				continue
 14403  			}
 14404  			if err := v.Validate(); err != nil {
 14405  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 14406  			}
 14407  		}
 14408  	}
 14409  
 14410  	if invalidParams.Len() > 0 {
 14411  		return invalidParams
 14412  	}
 14413  	return nil
 14414  }
 14415  
 14416  // SetResourceARN sets the ResourceARN field's value.
 14417  func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput {
 14418  	s.ResourceARN = &v
 14419  	return s
 14420  }
 14421  
 14422  // SetTags sets the Tags field's value.
 14423  func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
 14424  	s.Tags = v
 14425  	return s
 14426  }
 14427  
 14428  type TagResourceOutput struct {
 14429  	_ struct{} `type:"structure"`
 14430  }
 14431  
 14432  // String returns the string representation.
 14433  //
 14434  // API parameter values that are decorated as "sensitive" in the API will not
 14435  // be included in the string output. The member name will be present, but the
 14436  // value will be replaced with "sensitive".
 14437  func (s TagResourceOutput) String() string {
 14438  	return awsutil.Prettify(s)
 14439  }
 14440  
 14441  // GoString returns the string representation.
 14442  //
 14443  // API parameter values that are decorated as "sensitive" in the API will not
 14444  // be included in the string output. The member name will be present, but the
 14445  // value will be replaced with "sensitive".
 14446  func (s TagResourceOutput) GoString() string {
 14447  	return s.String()
 14448  }
 14449  
 14450  // Application created with too many tags, or too many tags added to an application.
 14451  // Note that the maximum number of application tags includes system tags. The
 14452  // maximum number of user-defined application tags is 50.
 14453  type TooManyTagsException struct {
 14454  	_            struct{}                  `type:"structure"`
 14455  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 14456  
 14457  	Message_ *string `locationName:"message" type:"string"`
 14458  }
 14459  
 14460  // String returns the string representation.
 14461  //
 14462  // API parameter values that are decorated as "sensitive" in the API will not
 14463  // be included in the string output. The member name will be present, but the
 14464  // value will be replaced with "sensitive".
 14465  func (s TooManyTagsException) String() string {
 14466  	return awsutil.Prettify(s)
 14467  }
 14468  
 14469  // GoString returns the string representation.
 14470  //
 14471  // API parameter values that are decorated as "sensitive" in the API will not
 14472  // be included in the string output. The member name will be present, but the
 14473  // value will be replaced with "sensitive".
 14474  func (s TooManyTagsException) GoString() string {
 14475  	return s.String()
 14476  }
 14477  
 14478  func newErrorTooManyTagsException(v protocol.ResponseMetadata) error {
 14479  	return &TooManyTagsException{
 14480  		RespMetadata: v,
 14481  	}
 14482  }
 14483  
 14484  // Code returns the exception type name.
 14485  func (s *TooManyTagsException) Code() string {
 14486  	return "TooManyTagsException"
 14487  }
 14488  
 14489  // Message returns the exception's message.
 14490  func (s *TooManyTagsException) Message() string {
 14491  	if s.Message_ != nil {
 14492  		return *s.Message_
 14493  	}
 14494  	return ""
 14495  }
 14496  
 14497  // OrigErr always returns nil, satisfies awserr.Error interface.
 14498  func (s *TooManyTagsException) OrigErr() error {
 14499  	return nil
 14500  }
 14501  
 14502  func (s *TooManyTagsException) Error() string {
 14503  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 14504  }
 14505  
 14506  // Status code returns the HTTP status code for the request's response error.
 14507  func (s *TooManyTagsException) StatusCode() int {
 14508  	return s.RespMetadata.StatusCode
 14509  }
 14510  
 14511  // RequestID returns the service's response RequestID for request.
 14512  func (s *TooManyTagsException) RequestID() string {
 14513  	return s.RespMetadata.RequestID
 14514  }
 14515  
 14516  // The data format is not valid. Kinesis Data Analytics cannot detect the schema
 14517  // for the given streaming source.
 14518  type UnableToDetectSchemaException struct {
 14519  	_            struct{}                  `type:"structure"`
 14520  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 14521  
 14522  	Message_ *string `locationName:"Message" type:"string"`
 14523  
 14524  	// Stream data that was modified by the processor specified in the InputProcessingConfiguration
 14525  	// parameter.
 14526  	ProcessedInputRecords []*string `type:"list"`
 14527  
 14528  	// Raw stream data that was sampled to infer the schema.
 14529  	RawInputRecords []*string `type:"list"`
 14530  }
 14531  
 14532  // String returns the string representation.
 14533  //
 14534  // API parameter values that are decorated as "sensitive" in the API will not
 14535  // be included in the string output. The member name will be present, but the
 14536  // value will be replaced with "sensitive".
 14537  func (s UnableToDetectSchemaException) String() string {
 14538  	return awsutil.Prettify(s)
 14539  }
 14540  
 14541  // GoString returns the string representation.
 14542  //
 14543  // API parameter values that are decorated as "sensitive" in the API will not
 14544  // be included in the string output. The member name will be present, but the
 14545  // value will be replaced with "sensitive".
 14546  func (s UnableToDetectSchemaException) GoString() string {
 14547  	return s.String()
 14548  }
 14549  
 14550  func newErrorUnableToDetectSchemaException(v protocol.ResponseMetadata) error {
 14551  	return &UnableToDetectSchemaException{
 14552  		RespMetadata: v,
 14553  	}
 14554  }
 14555  
 14556  // Code returns the exception type name.
 14557  func (s *UnableToDetectSchemaException) Code() string {
 14558  	return "UnableToDetectSchemaException"
 14559  }
 14560  
 14561  // Message returns the exception's message.
 14562  func (s *UnableToDetectSchemaException) Message() string {
 14563  	if s.Message_ != nil {
 14564  		return *s.Message_
 14565  	}
 14566  	return ""
 14567  }
 14568  
 14569  // OrigErr always returns nil, satisfies awserr.Error interface.
 14570  func (s *UnableToDetectSchemaException) OrigErr() error {
 14571  	return nil
 14572  }
 14573  
 14574  func (s *UnableToDetectSchemaException) Error() string {
 14575  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 14576  }
 14577  
 14578  // Status code returns the HTTP status code for the request's response error.
 14579  func (s *UnableToDetectSchemaException) StatusCode() int {
 14580  	return s.RespMetadata.StatusCode
 14581  }
 14582  
 14583  // RequestID returns the service's response RequestID for request.
 14584  func (s *UnableToDetectSchemaException) RequestID() string {
 14585  	return s.RespMetadata.RequestID
 14586  }
 14587  
 14588  // The request was rejected because a specified parameter is not supported or
 14589  // a specified resource is not valid for this operation.
 14590  type UnsupportedOperationException struct {
 14591  	_            struct{}                  `type:"structure"`
 14592  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 14593  
 14594  	Message_ *string `locationName:"Message" type:"string"`
 14595  }
 14596  
 14597  // String returns the string representation.
 14598  //
 14599  // API parameter values that are decorated as "sensitive" in the API will not
 14600  // be included in the string output. The member name will be present, but the
 14601  // value will be replaced with "sensitive".
 14602  func (s UnsupportedOperationException) String() string {
 14603  	return awsutil.Prettify(s)
 14604  }
 14605  
 14606  // GoString returns the string representation.
 14607  //
 14608  // API parameter values that are decorated as "sensitive" in the API will not
 14609  // be included in the string output. The member name will be present, but the
 14610  // value will be replaced with "sensitive".
 14611  func (s UnsupportedOperationException) GoString() string {
 14612  	return s.String()
 14613  }
 14614  
 14615  func newErrorUnsupportedOperationException(v protocol.ResponseMetadata) error {
 14616  	return &UnsupportedOperationException{
 14617  		RespMetadata: v,
 14618  	}
 14619  }
 14620  
 14621  // Code returns the exception type name.
 14622  func (s *UnsupportedOperationException) Code() string {
 14623  	return "UnsupportedOperationException"
 14624  }
 14625  
 14626  // Message returns the exception's message.
 14627  func (s *UnsupportedOperationException) Message() string {
 14628  	if s.Message_ != nil {
 14629  		return *s.Message_
 14630  	}
 14631  	return ""
 14632  }
 14633  
 14634  // OrigErr always returns nil, satisfies awserr.Error interface.
 14635  func (s *UnsupportedOperationException) OrigErr() error {
 14636  	return nil
 14637  }
 14638  
 14639  func (s *UnsupportedOperationException) Error() string {
 14640  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 14641  }
 14642  
 14643  // Status code returns the HTTP status code for the request's response error.
 14644  func (s *UnsupportedOperationException) StatusCode() int {
 14645  	return s.RespMetadata.StatusCode
 14646  }
 14647  
 14648  // RequestID returns the service's response RequestID for request.
 14649  func (s *UnsupportedOperationException) RequestID() string {
 14650  	return s.RespMetadata.RequestID
 14651  }
 14652  
 14653  type UntagResourceInput struct {
 14654  	_ struct{} `type:"structure"`
 14655  
 14656  	// The ARN of the Kinesis Data Analytics application from which to remove the
 14657  	// tags.
 14658  	//
 14659  	// ResourceARN is a required field
 14660  	ResourceARN *string `min:"1" type:"string" required:"true"`
 14661  
 14662  	// A list of keys of tags to remove from the specified application.
 14663  	//
 14664  	// TagKeys is a required field
 14665  	TagKeys []*string `min:"1" type:"list" required:"true"`
 14666  }
 14667  
 14668  // String returns the string representation.
 14669  //
 14670  // API parameter values that are decorated as "sensitive" in the API will not
 14671  // be included in the string output. The member name will be present, but the
 14672  // value will be replaced with "sensitive".
 14673  func (s UntagResourceInput) String() string {
 14674  	return awsutil.Prettify(s)
 14675  }
 14676  
 14677  // GoString returns the string representation.
 14678  //
 14679  // API parameter values that are decorated as "sensitive" in the API will not
 14680  // be included in the string output. The member name will be present, but the
 14681  // value will be replaced with "sensitive".
 14682  func (s UntagResourceInput) GoString() string {
 14683  	return s.String()
 14684  }
 14685  
 14686  // Validate inspects the fields of the type to determine if they are valid.
 14687  func (s *UntagResourceInput) Validate() error {
 14688  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 14689  	if s.ResourceARN == nil {
 14690  		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
 14691  	}
 14692  	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
 14693  		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
 14694  	}
 14695  	if s.TagKeys == nil {
 14696  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 14697  	}
 14698  	if s.TagKeys != nil && len(s.TagKeys) < 1 {
 14699  		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
 14700  	}
 14701  
 14702  	if invalidParams.Len() > 0 {
 14703  		return invalidParams
 14704  	}
 14705  	return nil
 14706  }
 14707  
 14708  // SetResourceARN sets the ResourceARN field's value.
 14709  func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput {
 14710  	s.ResourceARN = &v
 14711  	return s
 14712  }
 14713  
 14714  // SetTagKeys sets the TagKeys field's value.
 14715  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 14716  	s.TagKeys = v
 14717  	return s
 14718  }
 14719  
 14720  type UntagResourceOutput struct {
 14721  	_ struct{} `type:"structure"`
 14722  }
 14723  
 14724  // String returns the string representation.
 14725  //
 14726  // API parameter values that are decorated as "sensitive" in the API will not
 14727  // be included in the string output. The member name will be present, but the
 14728  // value will be replaced with "sensitive".
 14729  func (s UntagResourceOutput) String() string {
 14730  	return awsutil.Prettify(s)
 14731  }
 14732  
 14733  // GoString returns the string representation.
 14734  //
 14735  // API parameter values that are decorated as "sensitive" in the API will not
 14736  // be included in the string output. The member name will be present, but the
 14737  // value will be replaced with "sensitive".
 14738  func (s UntagResourceOutput) GoString() string {
 14739  	return s.String()
 14740  }
 14741  
 14742  type UpdateApplicationInput struct {
 14743  	_ struct{} `type:"structure"`
 14744  
 14745  	// Describes application configuration updates.
 14746  	ApplicationConfigurationUpdate *ApplicationConfigurationUpdate `type:"structure"`
 14747  
 14748  	// The name of the application to update.
 14749  	//
 14750  	// ApplicationName is a required field
 14751  	ApplicationName *string `min:"1" type:"string" required:"true"`
 14752  
 14753  	// Describes application Amazon CloudWatch logging option updates. You can only
 14754  	// update existing CloudWatch logging options with this action. To add a new
 14755  	// CloudWatch logging option, use AddApplicationCloudWatchLoggingOption.
 14756  	CloudWatchLoggingOptionUpdates []*CloudWatchLoggingOptionUpdate `type:"list"`
 14757  
 14758  	// A value you use to implement strong concurrency for application updates.
 14759  	// You must provide the CurrentApplicationVersionId or the ConditionalToken.
 14760  	// You get the application's current ConditionalToken using DescribeApplication.
 14761  	// For better concurrency support, use the ConditionalToken parameter instead
 14762  	// of CurrentApplicationVersionId.
 14763  	ConditionalToken *string `min:"1" type:"string"`
 14764  
 14765  	// The current application version ID. You must provide the CurrentApplicationVersionId
 14766  	// or the ConditionalToken.You can retrieve the application version ID using
 14767  	// DescribeApplication. For better concurrency support, use the ConditionalToken
 14768  	// parameter instead of CurrentApplicationVersionId.
 14769  	CurrentApplicationVersionId *int64 `min:"1" type:"long"`
 14770  
 14771  	// Describes updates to the application's starting parameters.
 14772  	RunConfigurationUpdate *RunConfigurationUpdate `type:"structure"`
 14773  
 14774  	// Describes updates to the service execution role.
 14775  	ServiceExecutionRoleUpdate *string `min:"1" type:"string"`
 14776  }
 14777  
 14778  // String returns the string representation.
 14779  //
 14780  // API parameter values that are decorated as "sensitive" in the API will not
 14781  // be included in the string output. The member name will be present, but the
 14782  // value will be replaced with "sensitive".
 14783  func (s UpdateApplicationInput) String() string {
 14784  	return awsutil.Prettify(s)
 14785  }
 14786  
 14787  // GoString returns the string representation.
 14788  //
 14789  // API parameter values that are decorated as "sensitive" in the API will not
 14790  // be included in the string output. The member name will be present, but the
 14791  // value will be replaced with "sensitive".
 14792  func (s UpdateApplicationInput) GoString() string {
 14793  	return s.String()
 14794  }
 14795  
 14796  // Validate inspects the fields of the type to determine if they are valid.
 14797  func (s *UpdateApplicationInput) Validate() error {
 14798  	invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationInput"}
 14799  	if s.ApplicationName == nil {
 14800  		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
 14801  	}
 14802  	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
 14803  		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
 14804  	}
 14805  	if s.ConditionalToken != nil && len(*s.ConditionalToken) < 1 {
 14806  		invalidParams.Add(request.NewErrParamMinLen("ConditionalToken", 1))
 14807  	}
 14808  	if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 {
 14809  		invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1))
 14810  	}
 14811  	if s.ServiceExecutionRoleUpdate != nil && len(*s.ServiceExecutionRoleUpdate) < 1 {
 14812  		invalidParams.Add(request.NewErrParamMinLen("ServiceExecutionRoleUpdate", 1))
 14813  	}
 14814  	if s.ApplicationConfigurationUpdate != nil {
 14815  		if err := s.ApplicationConfigurationUpdate.Validate(); err != nil {
 14816  			invalidParams.AddNested("ApplicationConfigurationUpdate", err.(request.ErrInvalidParams))
 14817  		}
 14818  	}
 14819  	if s.CloudWatchLoggingOptionUpdates != nil {
 14820  		for i, v := range s.CloudWatchLoggingOptionUpdates {
 14821  			if v == nil {
 14822  				continue
 14823  			}
 14824  			if err := v.Validate(); err != nil {
 14825  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CloudWatchLoggingOptionUpdates", i), err.(request.ErrInvalidParams))
 14826  			}
 14827  		}
 14828  	}
 14829  	if s.RunConfigurationUpdate != nil {
 14830  		if err := s.RunConfigurationUpdate.Validate(); err != nil {
 14831  			invalidParams.AddNested("RunConfigurationUpdate", err.(request.ErrInvalidParams))
 14832  		}
 14833  	}
 14834  
 14835  	if invalidParams.Len() > 0 {
 14836  		return invalidParams
 14837  	}
 14838  	return nil
 14839  }
 14840  
 14841  // SetApplicationConfigurationUpdate sets the ApplicationConfigurationUpdate field's value.
 14842  func (s *UpdateApplicationInput) SetApplicationConfigurationUpdate(v *ApplicationConfigurationUpdate) *UpdateApplicationInput {
 14843  	s.ApplicationConfigurationUpdate = v
 14844  	return s
 14845  }
 14846  
 14847  // SetApplicationName sets the ApplicationName field's value.
 14848  func (s *UpdateApplicationInput) SetApplicationName(v string) *UpdateApplicationInput {
 14849  	s.ApplicationName = &v
 14850  	return s
 14851  }
 14852  
 14853  // SetCloudWatchLoggingOptionUpdates sets the CloudWatchLoggingOptionUpdates field's value.
 14854  func (s *UpdateApplicationInput) SetCloudWatchLoggingOptionUpdates(v []*CloudWatchLoggingOptionUpdate) *UpdateApplicationInput {
 14855  	s.CloudWatchLoggingOptionUpdates = v
 14856  	return s
 14857  }
 14858  
 14859  // SetConditionalToken sets the ConditionalToken field's value.
 14860  func (s *UpdateApplicationInput) SetConditionalToken(v string) *UpdateApplicationInput {
 14861  	s.ConditionalToken = &v
 14862  	return s
 14863  }
 14864  
 14865  // SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value.
 14866  func (s *UpdateApplicationInput) SetCurrentApplicationVersionId(v int64) *UpdateApplicationInput {
 14867  	s.CurrentApplicationVersionId = &v
 14868  	return s
 14869  }
 14870  
 14871  // SetRunConfigurationUpdate sets the RunConfigurationUpdate field's value.
 14872  func (s *UpdateApplicationInput) SetRunConfigurationUpdate(v *RunConfigurationUpdate) *UpdateApplicationInput {
 14873  	s.RunConfigurationUpdate = v
 14874  	return s
 14875  }
 14876  
 14877  // SetServiceExecutionRoleUpdate sets the ServiceExecutionRoleUpdate field's value.
 14878  func (s *UpdateApplicationInput) SetServiceExecutionRoleUpdate(v string) *UpdateApplicationInput {
 14879  	s.ServiceExecutionRoleUpdate = &v
 14880  	return s
 14881  }
 14882  
 14883  type UpdateApplicationMaintenanceConfigurationInput struct {
 14884  	_ struct{} `type:"structure"`
 14885  
 14886  	// Describes the application maintenance configuration update.
 14887  	//
 14888  	// ApplicationMaintenanceConfigurationUpdate is a required field
 14889  	ApplicationMaintenanceConfigurationUpdate *ApplicationMaintenanceConfigurationUpdate `type:"structure" required:"true"`
 14890  
 14891  	// The name of the application for which you want to update the maintenance
 14892  	// configuration.
 14893  	//
 14894  	// ApplicationName is a required field
 14895  	ApplicationName *string `min:"1" type:"string" required:"true"`
 14896  }
 14897  
 14898  // String returns the string representation.
 14899  //
 14900  // API parameter values that are decorated as "sensitive" in the API will not
 14901  // be included in the string output. The member name will be present, but the
 14902  // value will be replaced with "sensitive".
 14903  func (s UpdateApplicationMaintenanceConfigurationInput) String() string {
 14904  	return awsutil.Prettify(s)
 14905  }
 14906  
 14907  // GoString returns the string representation.
 14908  //
 14909  // API parameter values that are decorated as "sensitive" in the API will not
 14910  // be included in the string output. The member name will be present, but the
 14911  // value will be replaced with "sensitive".
 14912  func (s UpdateApplicationMaintenanceConfigurationInput) GoString() string {
 14913  	return s.String()
 14914  }
 14915  
 14916  // Validate inspects the fields of the type to determine if they are valid.
 14917  func (s *UpdateApplicationMaintenanceConfigurationInput) Validate() error {
 14918  	invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationMaintenanceConfigurationInput"}
 14919  	if s.ApplicationMaintenanceConfigurationUpdate == nil {
 14920  		invalidParams.Add(request.NewErrParamRequired("ApplicationMaintenanceConfigurationUpdate"))
 14921  	}
 14922  	if s.ApplicationName == nil {
 14923  		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
 14924  	}
 14925  	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
 14926  		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
 14927  	}
 14928  	if s.ApplicationMaintenanceConfigurationUpdate != nil {
 14929  		if err := s.ApplicationMaintenanceConfigurationUpdate.Validate(); err != nil {
 14930  			invalidParams.AddNested("ApplicationMaintenanceConfigurationUpdate", err.(request.ErrInvalidParams))
 14931  		}
 14932  	}
 14933  
 14934  	if invalidParams.Len() > 0 {
 14935  		return invalidParams
 14936  	}
 14937  	return nil
 14938  }
 14939  
 14940  // SetApplicationMaintenanceConfigurationUpdate sets the ApplicationMaintenanceConfigurationUpdate field's value.
 14941  func (s *UpdateApplicationMaintenanceConfigurationInput) SetApplicationMaintenanceConfigurationUpdate(v *ApplicationMaintenanceConfigurationUpdate) *UpdateApplicationMaintenanceConfigurationInput {
 14942  	s.ApplicationMaintenanceConfigurationUpdate = v
 14943  	return s
 14944  }
 14945  
 14946  // SetApplicationName sets the ApplicationName field's value.
 14947  func (s *UpdateApplicationMaintenanceConfigurationInput) SetApplicationName(v string) *UpdateApplicationMaintenanceConfigurationInput {
 14948  	s.ApplicationName = &v
 14949  	return s
 14950  }
 14951  
 14952  type UpdateApplicationMaintenanceConfigurationOutput struct {
 14953  	_ struct{} `type:"structure"`
 14954  
 14955  	// The Amazon Resource Name (ARN) of the application.
 14956  	ApplicationARN *string `min:"1" type:"string"`
 14957  
 14958  	// The application maintenance configuration description after the update.
 14959  	ApplicationMaintenanceConfigurationDescription *ApplicationMaintenanceConfigurationDescription `type:"structure"`
 14960  }
 14961  
 14962  // String returns the string representation.
 14963  //
 14964  // API parameter values that are decorated as "sensitive" in the API will not
 14965  // be included in the string output. The member name will be present, but the
 14966  // value will be replaced with "sensitive".
 14967  func (s UpdateApplicationMaintenanceConfigurationOutput) String() string {
 14968  	return awsutil.Prettify(s)
 14969  }
 14970  
 14971  // GoString returns the string representation.
 14972  //
 14973  // API parameter values that are decorated as "sensitive" in the API will not
 14974  // be included in the string output. The member name will be present, but the
 14975  // value will be replaced with "sensitive".
 14976  func (s UpdateApplicationMaintenanceConfigurationOutput) GoString() string {
 14977  	return s.String()
 14978  }
 14979  
 14980  // SetApplicationARN sets the ApplicationARN field's value.
 14981  func (s *UpdateApplicationMaintenanceConfigurationOutput) SetApplicationARN(v string) *UpdateApplicationMaintenanceConfigurationOutput {
 14982  	s.ApplicationARN = &v
 14983  	return s
 14984  }
 14985  
 14986  // SetApplicationMaintenanceConfigurationDescription sets the ApplicationMaintenanceConfigurationDescription field's value.
 14987  func (s *UpdateApplicationMaintenanceConfigurationOutput) SetApplicationMaintenanceConfigurationDescription(v *ApplicationMaintenanceConfigurationDescription) *UpdateApplicationMaintenanceConfigurationOutput {
 14988  	s.ApplicationMaintenanceConfigurationDescription = v
 14989  	return s
 14990  }
 14991  
 14992  type UpdateApplicationOutput struct {
 14993  	_ struct{} `type:"structure"`
 14994  
 14995  	// Describes application updates.
 14996  	//
 14997  	// ApplicationDetail is a required field
 14998  	ApplicationDetail *ApplicationDetail `type:"structure" required:"true"`
 14999  }
 15000  
 15001  // String returns the string representation.
 15002  //
 15003  // API parameter values that are decorated as "sensitive" in the API will not
 15004  // be included in the string output. The member name will be present, but the
 15005  // value will be replaced with "sensitive".
 15006  func (s UpdateApplicationOutput) String() string {
 15007  	return awsutil.Prettify(s)
 15008  }
 15009  
 15010  // GoString returns the string representation.
 15011  //
 15012  // API parameter values that are decorated as "sensitive" in the API will not
 15013  // be included in the string output. The member name will be present, but the
 15014  // value will be replaced with "sensitive".
 15015  func (s UpdateApplicationOutput) GoString() string {
 15016  	return s.String()
 15017  }
 15018  
 15019  // SetApplicationDetail sets the ApplicationDetail field's value.
 15020  func (s *UpdateApplicationOutput) SetApplicationDetail(v *ApplicationDetail) *UpdateApplicationOutput {
 15021  	s.ApplicationDetail = v
 15022  	return s
 15023  }
 15024  
 15025  // Describes the parameters of a VPC used by the application.
 15026  type VpcConfiguration struct {
 15027  	_ struct{} `type:"structure"`
 15028  
 15029  	// The array of SecurityGroup (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SecurityGroup.html)
 15030  	// IDs used by the VPC configuration.
 15031  	//
 15032  	// SecurityGroupIds is a required field
 15033  	SecurityGroupIds []*string `min:"1" type:"list" required:"true"`
 15034  
 15035  	// The array of Subnet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Subnet.html)
 15036  	// IDs used by the VPC configuration.
 15037  	//
 15038  	// SubnetIds is a required field
 15039  	SubnetIds []*string `min:"1" type:"list" required:"true"`
 15040  }
 15041  
 15042  // String returns the string representation.
 15043  //
 15044  // API parameter values that are decorated as "sensitive" in the API will not
 15045  // be included in the string output. The member name will be present, but the
 15046  // value will be replaced with "sensitive".
 15047  func (s VpcConfiguration) String() string {
 15048  	return awsutil.Prettify(s)
 15049  }
 15050  
 15051  // GoString returns the string representation.
 15052  //
 15053  // API parameter values that are decorated as "sensitive" in the API will not
 15054  // be included in the string output. The member name will be present, but the
 15055  // value will be replaced with "sensitive".
 15056  func (s VpcConfiguration) GoString() string {
 15057  	return s.String()
 15058  }
 15059  
 15060  // Validate inspects the fields of the type to determine if they are valid.
 15061  func (s *VpcConfiguration) Validate() error {
 15062  	invalidParams := request.ErrInvalidParams{Context: "VpcConfiguration"}
 15063  	if s.SecurityGroupIds == nil {
 15064  		invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds"))
 15065  	}
 15066  	if s.SecurityGroupIds != nil && len(s.SecurityGroupIds) < 1 {
 15067  		invalidParams.Add(request.NewErrParamMinLen("SecurityGroupIds", 1))
 15068  	}
 15069  	if s.SubnetIds == nil {
 15070  		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
 15071  	}
 15072  	if s.SubnetIds != nil && len(s.SubnetIds) < 1 {
 15073  		invalidParams.Add(request.NewErrParamMinLen("SubnetIds", 1))
 15074  	}
 15075  
 15076  	if invalidParams.Len() > 0 {
 15077  		return invalidParams
 15078  	}
 15079  	return nil
 15080  }
 15081  
 15082  // SetSecurityGroupIds sets the SecurityGroupIds field's value.
 15083  func (s *VpcConfiguration) SetSecurityGroupIds(v []*string) *VpcConfiguration {
 15084  	s.SecurityGroupIds = v
 15085  	return s
 15086  }
 15087  
 15088  // SetSubnetIds sets the SubnetIds field's value.
 15089  func (s *VpcConfiguration) SetSubnetIds(v []*string) *VpcConfiguration {
 15090  	s.SubnetIds = v
 15091  	return s
 15092  }
 15093  
 15094  // Describes the parameters of a VPC used by the application.
 15095  type VpcConfigurationDescription struct {
 15096  	_ struct{} `type:"structure"`
 15097  
 15098  	// The array of SecurityGroup (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SecurityGroup.html)
 15099  	// IDs used by the VPC configuration.
 15100  	//
 15101  	// SecurityGroupIds is a required field
 15102  	SecurityGroupIds []*string `min:"1" type:"list" required:"true"`
 15103  
 15104  	// The array of Subnet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Subnet.html)
 15105  	// IDs used by the VPC configuration.
 15106  	//
 15107  	// SubnetIds is a required field
 15108  	SubnetIds []*string `min:"1" type:"list" required:"true"`
 15109  
 15110  	// The ID of the VPC configuration.
 15111  	//
 15112  	// VpcConfigurationId is a required field
 15113  	VpcConfigurationId *string `min:"1" type:"string" required:"true"`
 15114  
 15115  	// The ID of the associated VPC.
 15116  	//
 15117  	// VpcId is a required field
 15118  	VpcId *string `type:"string" required:"true"`
 15119  }
 15120  
 15121  // String returns the string representation.
 15122  //
 15123  // API parameter values that are decorated as "sensitive" in the API will not
 15124  // be included in the string output. The member name will be present, but the
 15125  // value will be replaced with "sensitive".
 15126  func (s VpcConfigurationDescription) String() string {
 15127  	return awsutil.Prettify(s)
 15128  }
 15129  
 15130  // GoString returns the string representation.
 15131  //
 15132  // API parameter values that are decorated as "sensitive" in the API will not
 15133  // be included in the string output. The member name will be present, but the
 15134  // value will be replaced with "sensitive".
 15135  func (s VpcConfigurationDescription) GoString() string {
 15136  	return s.String()
 15137  }
 15138  
 15139  // SetSecurityGroupIds sets the SecurityGroupIds field's value.
 15140  func (s *VpcConfigurationDescription) SetSecurityGroupIds(v []*string) *VpcConfigurationDescription {
 15141  	s.SecurityGroupIds = v
 15142  	return s
 15143  }
 15144  
 15145  // SetSubnetIds sets the SubnetIds field's value.
 15146  func (s *VpcConfigurationDescription) SetSubnetIds(v []*string) *VpcConfigurationDescription {
 15147  	s.SubnetIds = v
 15148  	return s
 15149  }
 15150  
 15151  // SetVpcConfigurationId sets the VpcConfigurationId field's value.
 15152  func (s *VpcConfigurationDescription) SetVpcConfigurationId(v string) *VpcConfigurationDescription {
 15153  	s.VpcConfigurationId = &v
 15154  	return s
 15155  }
 15156  
 15157  // SetVpcId sets the VpcId field's value.
 15158  func (s *VpcConfigurationDescription) SetVpcId(v string) *VpcConfigurationDescription {
 15159  	s.VpcId = &v
 15160  	return s
 15161  }
 15162  
 15163  // Describes updates to the VPC configuration used by the application.
 15164  type VpcConfigurationUpdate struct {
 15165  	_ struct{} `type:"structure"`
 15166  
 15167  	// Describes updates to the array of SecurityGroup (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SecurityGroup.html)
 15168  	// IDs used by the VPC configuration.
 15169  	SecurityGroupIdUpdates []*string `min:"1" type:"list"`
 15170  
 15171  	// Describes updates to the array of Subnet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Subnet.html)
 15172  	// IDs used by the VPC configuration.
 15173  	SubnetIdUpdates []*string `min:"1" type:"list"`
 15174  
 15175  	// Describes an update to the ID of the VPC configuration.
 15176  	//
 15177  	// VpcConfigurationId is a required field
 15178  	VpcConfigurationId *string `min:"1" type:"string" required:"true"`
 15179  }
 15180  
 15181  // String returns the string representation.
 15182  //
 15183  // API parameter values that are decorated as "sensitive" in the API will not
 15184  // be included in the string output. The member name will be present, but the
 15185  // value will be replaced with "sensitive".
 15186  func (s VpcConfigurationUpdate) String() string {
 15187  	return awsutil.Prettify(s)
 15188  }
 15189  
 15190  // GoString returns the string representation.
 15191  //
 15192  // API parameter values that are decorated as "sensitive" in the API will not
 15193  // be included in the string output. The member name will be present, but the
 15194  // value will be replaced with "sensitive".
 15195  func (s VpcConfigurationUpdate) GoString() string {
 15196  	return s.String()
 15197  }
 15198  
 15199  // Validate inspects the fields of the type to determine if they are valid.
 15200  func (s *VpcConfigurationUpdate) Validate() error {
 15201  	invalidParams := request.ErrInvalidParams{Context: "VpcConfigurationUpdate"}
 15202  	if s.SecurityGroupIdUpdates != nil && len(s.SecurityGroupIdUpdates) < 1 {
 15203  		invalidParams.Add(request.NewErrParamMinLen("SecurityGroupIdUpdates", 1))
 15204  	}
 15205  	if s.SubnetIdUpdates != nil && len(s.SubnetIdUpdates) < 1 {
 15206  		invalidParams.Add(request.NewErrParamMinLen("SubnetIdUpdates", 1))
 15207  	}
 15208  	if s.VpcConfigurationId == nil {
 15209  		invalidParams.Add(request.NewErrParamRequired("VpcConfigurationId"))
 15210  	}
 15211  	if s.VpcConfigurationId != nil && len(*s.VpcConfigurationId) < 1 {
 15212  		invalidParams.Add(request.NewErrParamMinLen("VpcConfigurationId", 1))
 15213  	}
 15214  
 15215  	if invalidParams.Len() > 0 {
 15216  		return invalidParams
 15217  	}
 15218  	return nil
 15219  }
 15220  
 15221  // SetSecurityGroupIdUpdates sets the SecurityGroupIdUpdates field's value.
 15222  func (s *VpcConfigurationUpdate) SetSecurityGroupIdUpdates(v []*string) *VpcConfigurationUpdate {
 15223  	s.SecurityGroupIdUpdates = v
 15224  	return s
 15225  }
 15226  
 15227  // SetSubnetIdUpdates sets the SubnetIdUpdates field's value.
 15228  func (s *VpcConfigurationUpdate) SetSubnetIdUpdates(v []*string) *VpcConfigurationUpdate {
 15229  	s.SubnetIdUpdates = v
 15230  	return s
 15231  }
 15232  
 15233  // SetVpcConfigurationId sets the VpcConfigurationId field's value.
 15234  func (s *VpcConfigurationUpdate) SetVpcConfigurationId(v string) *VpcConfigurationUpdate {
 15235  	s.VpcConfigurationId = &v
 15236  	return s
 15237  }
 15238  
 15239  // The configuration of a Kinesis Data Analytics Studio notebook.
 15240  type ZeppelinApplicationConfiguration struct {
 15241  	_ struct{} `type:"structure"`
 15242  
 15243  	// The AWS Glue Data Catalog that you use in queries in a Kinesis Data Analytics
 15244  	// Studio notebook.
 15245  	CatalogConfiguration *CatalogConfiguration `type:"structure"`
 15246  
 15247  	// Custom artifacts are dependency JARs and user-defined functions (UDF).
 15248  	CustomArtifactsConfiguration []*CustomArtifactConfiguration `type:"list"`
 15249  
 15250  	// The information required to deploy a Kinesis Data Analytics Studio notebook
 15251  	// as an application with durable state..
 15252  	DeployAsApplicationConfiguration *DeployAsApplicationConfiguration `type:"structure"`
 15253  
 15254  	// The monitoring configuration of a Kinesis Data Analytics Studio notebook.
 15255  	MonitoringConfiguration *ZeppelinMonitoringConfiguration `type:"structure"`
 15256  }
 15257  
 15258  // String returns the string representation.
 15259  //
 15260  // API parameter values that are decorated as "sensitive" in the API will not
 15261  // be included in the string output. The member name will be present, but the
 15262  // value will be replaced with "sensitive".
 15263  func (s ZeppelinApplicationConfiguration) String() string {
 15264  	return awsutil.Prettify(s)
 15265  }
 15266  
 15267  // GoString returns the string representation.
 15268  //
 15269  // API parameter values that are decorated as "sensitive" in the API will not
 15270  // be included in the string output. The member name will be present, but the
 15271  // value will be replaced with "sensitive".
 15272  func (s ZeppelinApplicationConfiguration) GoString() string {
 15273  	return s.String()
 15274  }
 15275  
 15276  // Validate inspects the fields of the type to determine if they are valid.
 15277  func (s *ZeppelinApplicationConfiguration) Validate() error {
 15278  	invalidParams := request.ErrInvalidParams{Context: "ZeppelinApplicationConfiguration"}
 15279  	if s.CatalogConfiguration != nil {
 15280  		if err := s.CatalogConfiguration.Validate(); err != nil {
 15281  			invalidParams.AddNested("CatalogConfiguration", err.(request.ErrInvalidParams))
 15282  		}
 15283  	}
 15284  	if s.CustomArtifactsConfiguration != nil {
 15285  		for i, v := range s.CustomArtifactsConfiguration {
 15286  			if v == nil {
 15287  				continue
 15288  			}
 15289  			if err := v.Validate(); err != nil {
 15290  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CustomArtifactsConfiguration", i), err.(request.ErrInvalidParams))
 15291  			}
 15292  		}
 15293  	}
 15294  	if s.DeployAsApplicationConfiguration != nil {
 15295  		if err := s.DeployAsApplicationConfiguration.Validate(); err != nil {
 15296  			invalidParams.AddNested("DeployAsApplicationConfiguration", err.(request.ErrInvalidParams))
 15297  		}
 15298  	}
 15299  	if s.MonitoringConfiguration != nil {
 15300  		if err := s.MonitoringConfiguration.Validate(); err != nil {
 15301  			invalidParams.AddNested("MonitoringConfiguration", err.(request.ErrInvalidParams))
 15302  		}
 15303  	}
 15304  
 15305  	if invalidParams.Len() > 0 {
 15306  		return invalidParams
 15307  	}
 15308  	return nil
 15309  }
 15310  
 15311  // SetCatalogConfiguration sets the CatalogConfiguration field's value.
 15312  func (s *ZeppelinApplicationConfiguration) SetCatalogConfiguration(v *CatalogConfiguration) *ZeppelinApplicationConfiguration {
 15313  	s.CatalogConfiguration = v
 15314  	return s
 15315  }
 15316  
 15317  // SetCustomArtifactsConfiguration sets the CustomArtifactsConfiguration field's value.
 15318  func (s *ZeppelinApplicationConfiguration) SetCustomArtifactsConfiguration(v []*CustomArtifactConfiguration) *ZeppelinApplicationConfiguration {
 15319  	s.CustomArtifactsConfiguration = v
 15320  	return s
 15321  }
 15322  
 15323  // SetDeployAsApplicationConfiguration sets the DeployAsApplicationConfiguration field's value.
 15324  func (s *ZeppelinApplicationConfiguration) SetDeployAsApplicationConfiguration(v *DeployAsApplicationConfiguration) *ZeppelinApplicationConfiguration {
 15325  	s.DeployAsApplicationConfiguration = v
 15326  	return s
 15327  }
 15328  
 15329  // SetMonitoringConfiguration sets the MonitoringConfiguration field's value.
 15330  func (s *ZeppelinApplicationConfiguration) SetMonitoringConfiguration(v *ZeppelinMonitoringConfiguration) *ZeppelinApplicationConfiguration {
 15331  	s.MonitoringConfiguration = v
 15332  	return s
 15333  }
 15334  
 15335  // The configuration of a Kinesis Data Analytics Studio notebook.
 15336  type ZeppelinApplicationConfigurationDescription struct {
 15337  	_ struct{} `type:"structure"`
 15338  
 15339  	// The AWS Glue Data Catalog that is associated with the Kinesis Data Analytics
 15340  	// Studio notebook.
 15341  	CatalogConfigurationDescription *CatalogConfigurationDescription `type:"structure"`
 15342  
 15343  	// Custom artifacts are dependency JARs and user-defined functions (UDF).
 15344  	CustomArtifactsConfigurationDescription []*CustomArtifactConfigurationDescription `type:"list"`
 15345  
 15346  	// The parameters required to deploy a Kinesis Data Analytics Studio notebook
 15347  	// as an application with durable state..
 15348  	DeployAsApplicationConfigurationDescription *DeployAsApplicationConfigurationDescription `type:"structure"`
 15349  
 15350  	// The monitoring configuration of a Kinesis Data Analytics Studio notebook.
 15351  	//
 15352  	// MonitoringConfigurationDescription is a required field
 15353  	MonitoringConfigurationDescription *ZeppelinMonitoringConfigurationDescription `type:"structure" required:"true"`
 15354  }
 15355  
 15356  // String returns the string representation.
 15357  //
 15358  // API parameter values that are decorated as "sensitive" in the API will not
 15359  // be included in the string output. The member name will be present, but the
 15360  // value will be replaced with "sensitive".
 15361  func (s ZeppelinApplicationConfigurationDescription) String() string {
 15362  	return awsutil.Prettify(s)
 15363  }
 15364  
 15365  // GoString returns the string representation.
 15366  //
 15367  // API parameter values that are decorated as "sensitive" in the API will not
 15368  // be included in the string output. The member name will be present, but the
 15369  // value will be replaced with "sensitive".
 15370  func (s ZeppelinApplicationConfigurationDescription) GoString() string {
 15371  	return s.String()
 15372  }
 15373  
 15374  // SetCatalogConfigurationDescription sets the CatalogConfigurationDescription field's value.
 15375  func (s *ZeppelinApplicationConfigurationDescription) SetCatalogConfigurationDescription(v *CatalogConfigurationDescription) *ZeppelinApplicationConfigurationDescription {
 15376  	s.CatalogConfigurationDescription = v
 15377  	return s
 15378  }
 15379  
 15380  // SetCustomArtifactsConfigurationDescription sets the CustomArtifactsConfigurationDescription field's value.
 15381  func (s *ZeppelinApplicationConfigurationDescription) SetCustomArtifactsConfigurationDescription(v []*CustomArtifactConfigurationDescription) *ZeppelinApplicationConfigurationDescription {
 15382  	s.CustomArtifactsConfigurationDescription = v
 15383  	return s
 15384  }
 15385  
 15386  // SetDeployAsApplicationConfigurationDescription sets the DeployAsApplicationConfigurationDescription field's value.
 15387  func (s *ZeppelinApplicationConfigurationDescription) SetDeployAsApplicationConfigurationDescription(v *DeployAsApplicationConfigurationDescription) *ZeppelinApplicationConfigurationDescription {
 15388  	s.DeployAsApplicationConfigurationDescription = v
 15389  	return s
 15390  }
 15391  
 15392  // SetMonitoringConfigurationDescription sets the MonitoringConfigurationDescription field's value.
 15393  func (s *ZeppelinApplicationConfigurationDescription) SetMonitoringConfigurationDescription(v *ZeppelinMonitoringConfigurationDescription) *ZeppelinApplicationConfigurationDescription {
 15394  	s.MonitoringConfigurationDescription = v
 15395  	return s
 15396  }
 15397  
 15398  // Updates to the configuration of Kinesis Data Analytics Studio notebook.
 15399  type ZeppelinApplicationConfigurationUpdate struct {
 15400  	_ struct{} `type:"structure"`
 15401  
 15402  	// Updates to the configuration of the AWS Glue Data Catalog that is associated
 15403  	// with the Kinesis Data Analytics Studio notebook.
 15404  	CatalogConfigurationUpdate *CatalogConfigurationUpdate `type:"structure"`
 15405  
 15406  	// Updates to the customer artifacts. Custom artifacts are dependency JAR files
 15407  	// and user-defined functions (UDF).
 15408  	CustomArtifactsConfigurationUpdate []*CustomArtifactConfiguration `type:"list"`
 15409  
 15410  	// Updates to the configuration information required to deploy an Amazon Data
 15411  	// Analytics Studio notebook as an application with durable state..
 15412  	DeployAsApplicationConfigurationUpdate *DeployAsApplicationConfigurationUpdate `type:"structure"`
 15413  
 15414  	// Updates to the monitoring configuration of a Kinesis Data Analytics Studio
 15415  	// notebook.
 15416  	MonitoringConfigurationUpdate *ZeppelinMonitoringConfigurationUpdate `type:"structure"`
 15417  }
 15418  
 15419  // String returns the string representation.
 15420  //
 15421  // API parameter values that are decorated as "sensitive" in the API will not
 15422  // be included in the string output. The member name will be present, but the
 15423  // value will be replaced with "sensitive".
 15424  func (s ZeppelinApplicationConfigurationUpdate) String() string {
 15425  	return awsutil.Prettify(s)
 15426  }
 15427  
 15428  // GoString returns the string representation.
 15429  //
 15430  // API parameter values that are decorated as "sensitive" in the API will not
 15431  // be included in the string output. The member name will be present, but the
 15432  // value will be replaced with "sensitive".
 15433  func (s ZeppelinApplicationConfigurationUpdate) GoString() string {
 15434  	return s.String()
 15435  }
 15436  
 15437  // Validate inspects the fields of the type to determine if they are valid.
 15438  func (s *ZeppelinApplicationConfigurationUpdate) Validate() error {
 15439  	invalidParams := request.ErrInvalidParams{Context: "ZeppelinApplicationConfigurationUpdate"}
 15440  	if s.CatalogConfigurationUpdate != nil {
 15441  		if err := s.CatalogConfigurationUpdate.Validate(); err != nil {
 15442  			invalidParams.AddNested("CatalogConfigurationUpdate", err.(request.ErrInvalidParams))
 15443  		}
 15444  	}
 15445  	if s.CustomArtifactsConfigurationUpdate != nil {
 15446  		for i, v := range s.CustomArtifactsConfigurationUpdate {
 15447  			if v == nil {
 15448  				continue
 15449  			}
 15450  			if err := v.Validate(); err != nil {
 15451  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CustomArtifactsConfigurationUpdate", i), err.(request.ErrInvalidParams))
 15452  			}
 15453  		}
 15454  	}
 15455  	if s.DeployAsApplicationConfigurationUpdate != nil {
 15456  		if err := s.DeployAsApplicationConfigurationUpdate.Validate(); err != nil {
 15457  			invalidParams.AddNested("DeployAsApplicationConfigurationUpdate", err.(request.ErrInvalidParams))
 15458  		}
 15459  	}
 15460  	if s.MonitoringConfigurationUpdate != nil {
 15461  		if err := s.MonitoringConfigurationUpdate.Validate(); err != nil {
 15462  			invalidParams.AddNested("MonitoringConfigurationUpdate", err.(request.ErrInvalidParams))
 15463  		}
 15464  	}
 15465  
 15466  	if invalidParams.Len() > 0 {
 15467  		return invalidParams
 15468  	}
 15469  	return nil
 15470  }
 15471  
 15472  // SetCatalogConfigurationUpdate sets the CatalogConfigurationUpdate field's value.
 15473  func (s *ZeppelinApplicationConfigurationUpdate) SetCatalogConfigurationUpdate(v *CatalogConfigurationUpdate) *ZeppelinApplicationConfigurationUpdate {
 15474  	s.CatalogConfigurationUpdate = v
 15475  	return s
 15476  }
 15477  
 15478  // SetCustomArtifactsConfigurationUpdate sets the CustomArtifactsConfigurationUpdate field's value.
 15479  func (s *ZeppelinApplicationConfigurationUpdate) SetCustomArtifactsConfigurationUpdate(v []*CustomArtifactConfiguration) *ZeppelinApplicationConfigurationUpdate {
 15480  	s.CustomArtifactsConfigurationUpdate = v
 15481  	return s
 15482  }
 15483  
 15484  // SetDeployAsApplicationConfigurationUpdate sets the DeployAsApplicationConfigurationUpdate field's value.
 15485  func (s *ZeppelinApplicationConfigurationUpdate) SetDeployAsApplicationConfigurationUpdate(v *DeployAsApplicationConfigurationUpdate) *ZeppelinApplicationConfigurationUpdate {
 15486  	s.DeployAsApplicationConfigurationUpdate = v
 15487  	return s
 15488  }
 15489  
 15490  // SetMonitoringConfigurationUpdate sets the MonitoringConfigurationUpdate field's value.
 15491  func (s *ZeppelinApplicationConfigurationUpdate) SetMonitoringConfigurationUpdate(v *ZeppelinMonitoringConfigurationUpdate) *ZeppelinApplicationConfigurationUpdate {
 15492  	s.MonitoringConfigurationUpdate = v
 15493  	return s
 15494  }
 15495  
 15496  // Describes configuration parameters for Amazon CloudWatch logging for a Kinesis
 15497  // Data Analytics Studio notebook. For more information about CloudWatch logging,
 15498  // see Monitoring (https://docs.aws.amazon.com/kinesisanalytics/latest/java/monitoring-overview.html).
 15499  type ZeppelinMonitoringConfiguration struct {
 15500  	_ struct{} `type:"structure"`
 15501  
 15502  	// The verbosity of the CloudWatch Logs for an application.
 15503  	//
 15504  	// LogLevel is a required field
 15505  	LogLevel *string `type:"string" required:"true" enum:"LogLevel"`
 15506  }
 15507  
 15508  // String returns the string representation.
 15509  //
 15510  // API parameter values that are decorated as "sensitive" in the API will not
 15511  // be included in the string output. The member name will be present, but the
 15512  // value will be replaced with "sensitive".
 15513  func (s ZeppelinMonitoringConfiguration) String() string {
 15514  	return awsutil.Prettify(s)
 15515  }
 15516  
 15517  // GoString returns the string representation.
 15518  //
 15519  // API parameter values that are decorated as "sensitive" in the API will not
 15520  // be included in the string output. The member name will be present, but the
 15521  // value will be replaced with "sensitive".
 15522  func (s ZeppelinMonitoringConfiguration) GoString() string {
 15523  	return s.String()
 15524  }
 15525  
 15526  // Validate inspects the fields of the type to determine if they are valid.
 15527  func (s *ZeppelinMonitoringConfiguration) Validate() error {
 15528  	invalidParams := request.ErrInvalidParams{Context: "ZeppelinMonitoringConfiguration"}
 15529  	if s.LogLevel == nil {
 15530  		invalidParams.Add(request.NewErrParamRequired("LogLevel"))
 15531  	}
 15532  
 15533  	if invalidParams.Len() > 0 {
 15534  		return invalidParams
 15535  	}
 15536  	return nil
 15537  }
 15538  
 15539  // SetLogLevel sets the LogLevel field's value.
 15540  func (s *ZeppelinMonitoringConfiguration) SetLogLevel(v string) *ZeppelinMonitoringConfiguration {
 15541  	s.LogLevel = &v
 15542  	return s
 15543  }
 15544  
 15545  // The monitoring configuration for Apache Zeppelin within a Kinesis Data Analytics
 15546  // Studio notebook.
 15547  type ZeppelinMonitoringConfigurationDescription struct {
 15548  	_ struct{} `type:"structure"`
 15549  
 15550  	// Describes the verbosity of the CloudWatch Logs for an application.
 15551  	LogLevel *string `type:"string" enum:"LogLevel"`
 15552  }
 15553  
 15554  // String returns the string representation.
 15555  //
 15556  // API parameter values that are decorated as "sensitive" in the API will not
 15557  // be included in the string output. The member name will be present, but the
 15558  // value will be replaced with "sensitive".
 15559  func (s ZeppelinMonitoringConfigurationDescription) String() string {
 15560  	return awsutil.Prettify(s)
 15561  }
 15562  
 15563  // GoString returns the string representation.
 15564  //
 15565  // API parameter values that are decorated as "sensitive" in the API will not
 15566  // be included in the string output. The member name will be present, but the
 15567  // value will be replaced with "sensitive".
 15568  func (s ZeppelinMonitoringConfigurationDescription) GoString() string {
 15569  	return s.String()
 15570  }
 15571  
 15572  // SetLogLevel sets the LogLevel field's value.
 15573  func (s *ZeppelinMonitoringConfigurationDescription) SetLogLevel(v string) *ZeppelinMonitoringConfigurationDescription {
 15574  	s.LogLevel = &v
 15575  	return s
 15576  }
 15577  
 15578  // Updates to the monitoring configuration for Apache Zeppelin within a Kinesis
 15579  // Data Analytics Studio notebook.
 15580  type ZeppelinMonitoringConfigurationUpdate struct {
 15581  	_ struct{} `type:"structure"`
 15582  
 15583  	// Updates to the logging level for Apache Zeppelin within a Kinesis Data Analytics
 15584  	// Studio notebook.
 15585  	//
 15586  	// LogLevelUpdate is a required field
 15587  	LogLevelUpdate *string `type:"string" required:"true" enum:"LogLevel"`
 15588  }
 15589  
 15590  // String returns the string representation.
 15591  //
 15592  // API parameter values that are decorated as "sensitive" in the API will not
 15593  // be included in the string output. The member name will be present, but the
 15594  // value will be replaced with "sensitive".
 15595  func (s ZeppelinMonitoringConfigurationUpdate) String() string {
 15596  	return awsutil.Prettify(s)
 15597  }
 15598  
 15599  // GoString returns the string representation.
 15600  //
 15601  // API parameter values that are decorated as "sensitive" in the API will not
 15602  // be included in the string output. The member name will be present, but the
 15603  // value will be replaced with "sensitive".
 15604  func (s ZeppelinMonitoringConfigurationUpdate) GoString() string {
 15605  	return s.String()
 15606  }
 15607  
 15608  // Validate inspects the fields of the type to determine if they are valid.
 15609  func (s *ZeppelinMonitoringConfigurationUpdate) Validate() error {
 15610  	invalidParams := request.ErrInvalidParams{Context: "ZeppelinMonitoringConfigurationUpdate"}
 15611  	if s.LogLevelUpdate == nil {
 15612  		invalidParams.Add(request.NewErrParamRequired("LogLevelUpdate"))
 15613  	}
 15614  
 15615  	if invalidParams.Len() > 0 {
 15616  		return invalidParams
 15617  	}
 15618  	return nil
 15619  }
 15620  
 15621  // SetLogLevelUpdate sets the LogLevelUpdate field's value.
 15622  func (s *ZeppelinMonitoringConfigurationUpdate) SetLogLevelUpdate(v string) *ZeppelinMonitoringConfigurationUpdate {
 15623  	s.LogLevelUpdate = &v
 15624  	return s
 15625  }
 15626  
 15627  const (
 15628  	// ApplicationModeStreaming is a ApplicationMode enum value
 15629  	ApplicationModeStreaming = "STREAMING"
 15630  
 15631  	// ApplicationModeInteractive is a ApplicationMode enum value
 15632  	ApplicationModeInteractive = "INTERACTIVE"
 15633  )
 15634  
 15635  // ApplicationMode_Values returns all elements of the ApplicationMode enum
 15636  func ApplicationMode_Values() []string {
 15637  	return []string{
 15638  		ApplicationModeStreaming,
 15639  		ApplicationModeInteractive,
 15640  	}
 15641  }
 15642  
 15643  const (
 15644  	// ApplicationRestoreTypeSkipRestoreFromSnapshot is a ApplicationRestoreType enum value
 15645  	ApplicationRestoreTypeSkipRestoreFromSnapshot = "SKIP_RESTORE_FROM_SNAPSHOT"
 15646  
 15647  	// ApplicationRestoreTypeRestoreFromLatestSnapshot is a ApplicationRestoreType enum value
 15648  	ApplicationRestoreTypeRestoreFromLatestSnapshot = "RESTORE_FROM_LATEST_SNAPSHOT"
 15649  
 15650  	// ApplicationRestoreTypeRestoreFromCustomSnapshot is a ApplicationRestoreType enum value
 15651  	ApplicationRestoreTypeRestoreFromCustomSnapshot = "RESTORE_FROM_CUSTOM_SNAPSHOT"
 15652  )
 15653  
 15654  // ApplicationRestoreType_Values returns all elements of the ApplicationRestoreType enum
 15655  func ApplicationRestoreType_Values() []string {
 15656  	return []string{
 15657  		ApplicationRestoreTypeSkipRestoreFromSnapshot,
 15658  		ApplicationRestoreTypeRestoreFromLatestSnapshot,
 15659  		ApplicationRestoreTypeRestoreFromCustomSnapshot,
 15660  	}
 15661  }
 15662  
 15663  const (
 15664  	// ApplicationStatusDeleting is a ApplicationStatus enum value
 15665  	ApplicationStatusDeleting = "DELETING"
 15666  
 15667  	// ApplicationStatusStarting is a ApplicationStatus enum value
 15668  	ApplicationStatusStarting = "STARTING"
 15669  
 15670  	// ApplicationStatusStopping is a ApplicationStatus enum value
 15671  	ApplicationStatusStopping = "STOPPING"
 15672  
 15673  	// ApplicationStatusReady is a ApplicationStatus enum value
 15674  	ApplicationStatusReady = "READY"
 15675  
 15676  	// ApplicationStatusRunning is a ApplicationStatus enum value
 15677  	ApplicationStatusRunning = "RUNNING"
 15678  
 15679  	// ApplicationStatusUpdating is a ApplicationStatus enum value
 15680  	ApplicationStatusUpdating = "UPDATING"
 15681  
 15682  	// ApplicationStatusAutoscaling is a ApplicationStatus enum value
 15683  	ApplicationStatusAutoscaling = "AUTOSCALING"
 15684  
 15685  	// ApplicationStatusForceStopping is a ApplicationStatus enum value
 15686  	ApplicationStatusForceStopping = "FORCE_STOPPING"
 15687  
 15688  	// ApplicationStatusMaintenance is a ApplicationStatus enum value
 15689  	ApplicationStatusMaintenance = "MAINTENANCE"
 15690  
 15691  	// ApplicationStatusRollingBack is a ApplicationStatus enum value
 15692  	ApplicationStatusRollingBack = "ROLLING_BACK"
 15693  
 15694  	// ApplicationStatusRolledBack is a ApplicationStatus enum value
 15695  	ApplicationStatusRolledBack = "ROLLED_BACK"
 15696  )
 15697  
 15698  // ApplicationStatus_Values returns all elements of the ApplicationStatus enum
 15699  func ApplicationStatus_Values() []string {
 15700  	return []string{
 15701  		ApplicationStatusDeleting,
 15702  		ApplicationStatusStarting,
 15703  		ApplicationStatusStopping,
 15704  		ApplicationStatusReady,
 15705  		ApplicationStatusRunning,
 15706  		ApplicationStatusUpdating,
 15707  		ApplicationStatusAutoscaling,
 15708  		ApplicationStatusForceStopping,
 15709  		ApplicationStatusMaintenance,
 15710  		ApplicationStatusRollingBack,
 15711  		ApplicationStatusRolledBack,
 15712  	}
 15713  }
 15714  
 15715  const (
 15716  	// ArtifactTypeUdf is a ArtifactType enum value
 15717  	ArtifactTypeUdf = "UDF"
 15718  
 15719  	// ArtifactTypeDependencyJar is a ArtifactType enum value
 15720  	ArtifactTypeDependencyJar = "DEPENDENCY_JAR"
 15721  )
 15722  
 15723  // ArtifactType_Values returns all elements of the ArtifactType enum
 15724  func ArtifactType_Values() []string {
 15725  	return []string{
 15726  		ArtifactTypeUdf,
 15727  		ArtifactTypeDependencyJar,
 15728  	}
 15729  }
 15730  
 15731  const (
 15732  	// CodeContentTypePlaintext is a CodeContentType enum value
 15733  	CodeContentTypePlaintext = "PLAINTEXT"
 15734  
 15735  	// CodeContentTypeZipfile is a CodeContentType enum value
 15736  	CodeContentTypeZipfile = "ZIPFILE"
 15737  )
 15738  
 15739  // CodeContentType_Values returns all elements of the CodeContentType enum
 15740  func CodeContentType_Values() []string {
 15741  	return []string{
 15742  		CodeContentTypePlaintext,
 15743  		CodeContentTypeZipfile,
 15744  	}
 15745  }
 15746  
 15747  const (
 15748  	// ConfigurationTypeDefault is a ConfigurationType enum value
 15749  	ConfigurationTypeDefault = "DEFAULT"
 15750  
 15751  	// ConfigurationTypeCustom is a ConfigurationType enum value
 15752  	ConfigurationTypeCustom = "CUSTOM"
 15753  )
 15754  
 15755  // ConfigurationType_Values returns all elements of the ConfigurationType enum
 15756  func ConfigurationType_Values() []string {
 15757  	return []string{
 15758  		ConfigurationTypeDefault,
 15759  		ConfigurationTypeCustom,
 15760  	}
 15761  }
 15762  
 15763  const (
 15764  	// InputStartingPositionNow is a InputStartingPosition enum value
 15765  	InputStartingPositionNow = "NOW"
 15766  
 15767  	// InputStartingPositionTrimHorizon is a InputStartingPosition enum value
 15768  	InputStartingPositionTrimHorizon = "TRIM_HORIZON"
 15769  
 15770  	// InputStartingPositionLastStoppedPoint is a InputStartingPosition enum value
 15771  	InputStartingPositionLastStoppedPoint = "LAST_STOPPED_POINT"
 15772  )
 15773  
 15774  // InputStartingPosition_Values returns all elements of the InputStartingPosition enum
 15775  func InputStartingPosition_Values() []string {
 15776  	return []string{
 15777  		InputStartingPositionNow,
 15778  		InputStartingPositionTrimHorizon,
 15779  		InputStartingPositionLastStoppedPoint,
 15780  	}
 15781  }
 15782  
 15783  const (
 15784  	// LogLevelInfo is a LogLevel enum value
 15785  	LogLevelInfo = "INFO"
 15786  
 15787  	// LogLevelWarn is a LogLevel enum value
 15788  	LogLevelWarn = "WARN"
 15789  
 15790  	// LogLevelError is a LogLevel enum value
 15791  	LogLevelError = "ERROR"
 15792  
 15793  	// LogLevelDebug is a LogLevel enum value
 15794  	LogLevelDebug = "DEBUG"
 15795  )
 15796  
 15797  // LogLevel_Values returns all elements of the LogLevel enum
 15798  func LogLevel_Values() []string {
 15799  	return []string{
 15800  		LogLevelInfo,
 15801  		LogLevelWarn,
 15802  		LogLevelError,
 15803  		LogLevelDebug,
 15804  	}
 15805  }
 15806  
 15807  const (
 15808  	// MetricsLevelApplication is a MetricsLevel enum value
 15809  	MetricsLevelApplication = "APPLICATION"
 15810  
 15811  	// MetricsLevelTask is a MetricsLevel enum value
 15812  	MetricsLevelTask = "TASK"
 15813  
 15814  	// MetricsLevelOperator is a MetricsLevel enum value
 15815  	MetricsLevelOperator = "OPERATOR"
 15816  
 15817  	// MetricsLevelParallelism is a MetricsLevel enum value
 15818  	MetricsLevelParallelism = "PARALLELISM"
 15819  )
 15820  
 15821  // MetricsLevel_Values returns all elements of the MetricsLevel enum
 15822  func MetricsLevel_Values() []string {
 15823  	return []string{
 15824  		MetricsLevelApplication,
 15825  		MetricsLevelTask,
 15826  		MetricsLevelOperator,
 15827  		MetricsLevelParallelism,
 15828  	}
 15829  }
 15830  
 15831  const (
 15832  	// RecordFormatTypeJson is a RecordFormatType enum value
 15833  	RecordFormatTypeJson = "JSON"
 15834  
 15835  	// RecordFormatTypeCsv is a RecordFormatType enum value
 15836  	RecordFormatTypeCsv = "CSV"
 15837  )
 15838  
 15839  // RecordFormatType_Values returns all elements of the RecordFormatType enum
 15840  func RecordFormatType_Values() []string {
 15841  	return []string{
 15842  		RecordFormatTypeJson,
 15843  		RecordFormatTypeCsv,
 15844  	}
 15845  }
 15846  
 15847  const (
 15848  	// RuntimeEnvironmentSql10 is a RuntimeEnvironment enum value
 15849  	RuntimeEnvironmentSql10 = "SQL-1_0"
 15850  
 15851  	// RuntimeEnvironmentFlink16 is a RuntimeEnvironment enum value
 15852  	RuntimeEnvironmentFlink16 = "FLINK-1_6"
 15853  
 15854  	// RuntimeEnvironmentFlink18 is a RuntimeEnvironment enum value
 15855  	RuntimeEnvironmentFlink18 = "FLINK-1_8"
 15856  
 15857  	// RuntimeEnvironmentFlink111 is a RuntimeEnvironment enum value
 15858  	RuntimeEnvironmentFlink111 = "FLINK-1_11"
 15859  
 15860  	// RuntimeEnvironmentZeppelinFlink10 is a RuntimeEnvironment enum value
 15861  	RuntimeEnvironmentZeppelinFlink10 = "ZEPPELIN-FLINK-1_0"
 15862  )
 15863  
 15864  // RuntimeEnvironment_Values returns all elements of the RuntimeEnvironment enum
 15865  func RuntimeEnvironment_Values() []string {
 15866  	return []string{
 15867  		RuntimeEnvironmentSql10,
 15868  		RuntimeEnvironmentFlink16,
 15869  		RuntimeEnvironmentFlink18,
 15870  		RuntimeEnvironmentFlink111,
 15871  		RuntimeEnvironmentZeppelinFlink10,
 15872  	}
 15873  }
 15874  
 15875  const (
 15876  	// SnapshotStatusCreating is a SnapshotStatus enum value
 15877  	SnapshotStatusCreating = "CREATING"
 15878  
 15879  	// SnapshotStatusReady is a SnapshotStatus enum value
 15880  	SnapshotStatusReady = "READY"
 15881  
 15882  	// SnapshotStatusDeleting is a SnapshotStatus enum value
 15883  	SnapshotStatusDeleting = "DELETING"
 15884  
 15885  	// SnapshotStatusFailed is a SnapshotStatus enum value
 15886  	SnapshotStatusFailed = "FAILED"
 15887  )
 15888  
 15889  // SnapshotStatus_Values returns all elements of the SnapshotStatus enum
 15890  func SnapshotStatus_Values() []string {
 15891  	return []string{
 15892  		SnapshotStatusCreating,
 15893  		SnapshotStatusReady,
 15894  		SnapshotStatusDeleting,
 15895  		SnapshotStatusFailed,
 15896  	}
 15897  }
 15898  
 15899  const (
 15900  	// UrlTypeFlinkDashboardUrl is a UrlType enum value
 15901  	UrlTypeFlinkDashboardUrl = "FLINK_DASHBOARD_URL"
 15902  
 15903  	// UrlTypeZeppelinUiUrl is a UrlType enum value
 15904  	UrlTypeZeppelinUiUrl = "ZEPPELIN_UI_URL"
 15905  )
 15906  
 15907  // UrlType_Values returns all elements of the UrlType enum
 15908  func UrlType_Values() []string {
 15909  	return []string{
 15910  		UrlTypeFlinkDashboardUrl,
 15911  		UrlTypeZeppelinUiUrl,
 15912  	}
 15913  }